Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IPv6-only mirrors and clients are not properly supported #306

Open
ott opened this issue Dec 30, 2021 · 4 comments
Open

IPv6-only mirrors and clients are not properly supported #306

ott opened this issue Dec 30, 2021 · 4 comments

Comments

@ott
Copy link
Contributor

ott commented Dec 30, 2021

mirrorlist does not properly support IPv6-only mirrors and IPv6-only clients. In Europe, most of the time, the returned list seems to be long enough that an IPv6-only client finds at least one mirror that supports IPv6 but there might be parts of the world where it is not the case. Moreover, an IPv6-only mirror might be returned to an IPv4-only client which might be a problem in the future. Even when it works by trying multiple mirrors, time is wasted by DNS resolution, connection attempts and sometimes waiting for timeouts. It would be better if mirrorlist had some awareness of address families. For example, OpenSUSE did solve this issue rudimentarily for their fork of MirrorBrain because they had the same issue.

@ott
Copy link
Contributor Author

ott commented Jan 1, 2022

I have a patch in rough working condition that determines whether a host supports IPv4 or IPv6, writes this information into the mirrorlist cache and lets mirrorlist use this information in mirror selection.

However, I thought a bit more about the problem and perhaps its best to let the client choose a mirror based on whether it can reach it or not. So it seems that the root problem is that a truncated mirror list is returned to the client.

@ott
Copy link
Contributor Author

ott commented Aug 16, 2024

@abompard If there is a chance that it gets merged, I could put more effort into the patch and create a pull request from it. Would you prefer to return a non-truncated mirror list or prefer to add an indication whether a host supports IPv4 or IPv6 to the mirrorlist cache?

@abompard
Copy link
Member

Good question, do you have an opinion on that @adrianreber ?

@adrianreber
Copy link
Member

Our approach until now was, that we did not look at all into IPv4 vs. IPv6. We just have mirrors with hostnames and hope that some IPv6 mirror is returned and DNF will figure it out.

It is not ideal, but I also am not aware of any users having problems with the current setup. I understand the theoretical problem but it does not seem to be a real world problem from what we hear from our users. I am not convinced it is necessary.

I am also worried that figuring out IPv4 and IPv6 support for over 1000 mirrors in the database will take a lot of time and not sure how often we should do it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants