Question on IPv6 addresses and netlink message ordering
From: Pradeep Kanyar <hidden>
Date: 2012-04-25 03:11:17
Hi, If we configure a global IPv6 address on an interface in linux, and if we monitor the netlink messages [using nl-monitor from libnl for e.g,] I see that we get RTM_NEWROUTE for the global address subnet first, and then RTM_NEWADDR. Isn't this strange? Shouldn't we be seeing RTM_NEWADDR first andRTM_NEWROUTE subsequently ....? I put some prints in the path and I see that the following seems to be order of events [initially at least] when I configure a global v6 address on an interface: 1. RTM_NEWROUTE notify in fib6_add_rt2node 2. RTM_NEWADDR notify in addrconf_dad_completed I saw this on a system running 2.6.32 but a cursory look at more recent kernels seemed to indicate that the code path hasn't changed much in this area [ but I might be wrong ]. Why is this out-of-order? On the contrary, in case of IPv4 addresses, we always see RTM_NEWADDR first followed by RTM_NEWROUTE [for the directly connected network] Thanks, Pradeep