Re: [PATCH net v2] Revert "ipv6: preserve insertion order for same-scope addresses"
Íñigo Huguet <[email protected]>
| Newsgroups | dev.linux.lists.regressions,org.kernel.vger.netdev |
|---|---|
| Message-ID | <CACT4oueJ3GsVvnWcZHgYVL-fCjpt5nOw+2=0BTmiz-9xKY4B0w@mail.gmail.com> |
On Wed, Jun 3, 2026 at 7:46 AM Matthieu Baerts <[email protected]> wrote: > I guess it is safer not to break UAPI and not reapplying the patch, > especially when there is no clear way to know which order is taken by > the kernel. > > What about clearly stating that the default order is "random", except > when an additional flag is set to sort them chronologically or the opposite? Stating that the order is "random" implies that someone will change the default insertion order in the future, as the documentation says that it's not UAPI. So they'll cause the UAPI breakage that we are trying to avoid now. Moreover, if we consider the default order "random" and state that userspace programs must not rely on it, why can't we change it now? As mentioned in the other thread by David, we have programs broken by the original "fix" (NetworkManager), and programs that will be broken (again) by the revert (pasta). But more importantly, I think that, with the revert, there may be programs that are broken but they don't know it yet. Again, see how `ip addr restore` will be broken again. So, both solutions are bad, but doing the revert is worse, IMO. As I'm not much involved in NetworkManager any more, only Beniamino is who can truly speak on behalf of the NetworkManager project, but as a former NetworkManager maintainer, I think that my proposal earlier in this thread is the way to go: https://lore.kernel.org/netdev/CACT4oueDv=KRZmJw=1N58EN7eoFz5AqbBBMP8FE4=+rQ99oFEg@mail.gmail.com/. It's slightly controversial because it may be considered an UAPI break, but on the other side it may be considered as a fix to a wrong implementation of the UAPI, instead, as Stefano pointed out: https://lore.kernel.org/netdev/20260528165320.15b90ded@elisabeth/ -- Íñigo Huguet