ipv6: send netlink notifications for manually configured addresses
authorLorenzo Bianconi <lorenzo.bianconi@redhat.com>
Tue, 17 Apr 2018 09:54:39 +0000 (11:54 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 17 Apr 2018 18:03:56 +0000 (14:03 -0400)
commita2d481b326c98b6b67eea8a378c858d57ca5ff3d
tree3622d9d504f9667698826c8d8fb579bba05eacdd
parenta64dcddc5cdfbf1d4d0af519c30cd6c2e4828282
ipv6: send netlink notifications for manually configured addresses

Send a netlink notification when userspace adds a manually configured
address if DAD is enabled and optimistic flag isn't set.
Moreover send RTM_DELADDR notifications for tentative addresses.

Some userspace applications (e.g. NetworkManager) are interested in
addr netlink events albeit the address is still in tentative state,
however events are not sent if DAD process is not completed.
If the address is added and immediately removed userspace listeners
are not notified. This behaviour can be easily reproduced by using
veth interfaces:

$ ip -b - <<EOF
> link add dev vm1 type veth peer name vm2
> link set dev vm1 up
> link set dev vm2 up
> addr add 2001:db8:a:b:1:2:3:4/64 dev vm1
> addr del 2001:db8:a:b:1:2:3:4/64 dev vm1
EOF

This patch reverts the behaviour introduced by the commit f784ad3d79e5
("ipv6: do not send RTM_DELADDR for tentative addresses")

Suggested-by: Thomas Haller <thaller@redhat.com>
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/addrconf.c