https://bugzilla.novell.com/show_bug.cgi?id=482894 Summary: give client a way to indicate preferred country for mirror choice Classification: openSUSE Product: openSUSE 11.2 Version: Factory Platform: Other OS/Version: Other Status: NEW Severity: Enhancement Priority: P5 - None Component: libzypp AssignedTo: zypp-maintainers@forge.provo.novell.com ReportedBy: poeml@novell.com QAContact: qa@suse.de Found By: --- Hi, the mirror selection is based on precise, but relatively narrow network topology knowledge, as well as the "mostly" precise and sometimes lacking GeoIP information. For the cases where the IP cannot resolved, or cannot be resolved correctly, to a country, we can give the client a way to specify the country it is located in, to influence the mirror choice into the right direction. There are several groups of users that are affected by this: * users connected through satellite links can often be resolved only as country=A2, which is not a real country, it only indicates that this is a satellite link. * AOL users outside the US are not resolved (pseudo country A1). * IPs unknown to the GeoIP database, and not in one of the AS's which contain a mirror either * clients connected through a VPN that uses address space that's allocated in another country (e.g. clients in the Netherlands, whose employer is based in the US and runs a VPN that uses IP addresses that geolocate to the US) * Ipv6 clients (no GeoIP for that yet) Thus, it is desirable to give clients a way to indicate their location. CentOS uses something like that to influence or override mirror choice: http://www.centos.org/modules/news/article.php?storyid=118 In 11.2 libzypp, this could be implemented relatively easily (I believe) by adding a configuration directive "download-preferred-country" to /etc/zypp/zypp.conf, taking an ISO3166-1 two-letter code, and adding an HTTP request header (X-Preferred-Country) _if_ something is configured there. On another hand, since we intend to mainly use metalinks in the future, we could just use another aria2c option that makes this configurable: --metalink-location=LOCATION[,...] The location of the preferred server. A comma-delimited list of locations is acceptable, for example, JP,US. On the server side, the latter doesn't require anything to do. The former would be easy to implement. Something similar already exists, through ?country=xy request parameter, so one only needs to pick up the new header, which is a few lines of code. It could be used to deal with libcurl downloads, but in the light of metalink usage we should be able to neglect them. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.