> To my eye, conflict_solution() [2] really stands out. Thanks a lot to both of you.
That's the disambiguation code, due to Matthieu Boutier. It's used for supporting source-specific routing in the case where the kernel doesn't support it: - for IPv4, it is always used for source-specific routing; - for IPv6, it is used with kernels earlier than 3.11. Now it turns out that: - people don't do source-specific with IPv4 (they use NAT instead); - people have upgraded to 3.11 or later now. In other words, this code shouldn't trigger in practice. I have no idea why it triggers for you, perhaps you're running a very old kernel, perhaps there's a bug in the detection of the kernel version, or perhaps this part of the code triggers even when not needed. Since this code is not used in practice, I'm thinking of removing it altogether, which will simplify the codebase and avoid this kind of issues in the future. How do people feel about that? To restate, the effect will be: - source-specific IPv4 routes will be ignored; - source-specific IPv6 routes will be ignored on kernels before 3.11; - no regression on BSD, which doesn't do source-specific in any case. You will still be able to do IPv6 source-specific if you run a Linux 3.11 or later. If you have routers running old kernels, you'll need to ensure you're announcing a non-specific default route. Please advise. -- Juliusz _______________________________________________ Babel-users mailing list [email protected] https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/babel-users
