[ OS: RedHat-7.2 with 2.4.18 kernel ]
I was playing with adding/deleting tunnel interfaces (interface name
"tun") by using openvpn (http://openvpn.sourceforge.net/), and I
noticed that when I start openvpn the kernel sends the NETLINK
upcalls with the new information to user-space in the following
order:
1. RTM_NEWLINK
2. RTM_NEWADDR
I.e., first the "interface added" message, and then the
"address added" message.
However, when I quit openvpn, the NETLINK upcall messages appear in
the following order:
1. RTM_DELLINK
2. RTM_DELADDR
I.e., first the "interface deleted" message, and then the
"address deleted" message.
I would have expect that when an interface is deleted, the
RTM_DELADDR message(s) will appear first, and then the RTM_DELLINK
message.
Indeed, when the userland process that monitors the network
interface status receives the RTM_DELLINK message it can remove all
state about that interface (including its addresses), but then it
should be aware that it may receive RTM_DELADDR for non-existing
interface.
Thanks,
Pavlin
|