]> git.baikalelectronics.ru Git - kernel.git/commit
ipv4: fix to not remove local route on link down
authorJulian Anastasov <ja@ssi.bg>
Fri, 30 Oct 2015 08:23:33 +0000 (10:23 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 1 Nov 2015 21:57:39 +0000 (16:57 -0500)
commit0fa944d93824327216f747d04a9bbb77c5823107
tree0e5c931525020e31361e2af3426f9f2d78953f00
parent5df66a75675965e28ea60b68c77ae1076ee7141d
ipv4: fix to not remove local route on link down

When fib_netdev_event calls fib_disable_ip on NETDEV_DOWN event
we should not delete the local routes if the local address
is still present. The confusion comes from the fact that both
fib_netdev_event and fib_inetaddr_event use the NETDEV_DOWN
constant. Fix it by returning back the variable 'force'.

Steps to reproduce:
modprobe dummy
ifconfig dummy0 192.168.168.1 up
ifconfig dummy0 down
ip route list table local | grep dummy | grep host
local 192.168.168.1 dev dummy0  proto kernel  scope host  src 192.168.168.1

Fixes: 9330419c580a ("net: track link-status of ipv4 nexthops")
Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/ip_fib.h
net/ipv4/fib_frontend.c
net/ipv4/fib_semantics.c