Fix network interface deletion handling in kernel-netlink plugin.
authorMirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
Mon, 14 Nov 2011 14:24:48 +0000 (15:24 +0100)
committerTobias Brunner <tobias@strongswan.org>
Mon, 14 Nov 2011 14:24:48 +0000 (15:24 +0100)
commit7b21873668ec818c4988f69547460ef33d4bd3ac
tree842b9f2c8f49f00f6a770284e8d4de3a08cf7fa0
parent18f85b668d10ea46c1c716983fed072bce5eefb3
Fix network interface deletion handling in kernel-netlink plugin.

When the kernel reports the deletion of an interface (RTM_DELLINK),
the cached interface attributes, including ifindex, become invalid
and must be forgotten.

Interface link state changes ("up" and "down") show up as RTM_NEWLINK,
so they will not cause a cached entry to be removed or
prevent listening to address change notifications.

Once an interface has been deleted, the kernel ought to stop sending
notifications for it. If the interface gets recreated with the same
name later, the kernel again reports RTM_NEWLINK, which causes a new
cache entry to be created.

There should be no reason to keep a stale cache entry around, as was
claimed in the comment.
src/libhydra/plugins/kernel_netlink/kernel_netlink_net.c