diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2010-12-22 04:39:39 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-12-25 20:05:31 -0800 |
commit | fc75fc8339e7727167443469027540b283daac71 (patch) | |
tree | f4e4a6b9554b157976d73db9f1ae2e93ddf6e24e /kernel/taskstats.c | |
parent | 7a36df8a857edee8cd8967cbe99a85574d22f482 (diff) |
ipv4: dont create routes on down devices
In ip_route_output_slow(), instead of allowing a route to be created on
a not UPed device, report -ENETUNREACH immediately.
# ip tunnel add mode ipip remote 10.16.0.164 local
10.16.0.72 dev eth0
# (Note : tunl1 is down)
# ping -I tunl1 10.1.2.3
PING 10.1.2.3 (10.1.2.3) from 192.168.18.5 tunl1: 56(84) bytes of data.
(nothing)
# ./a.out tunl1
# ip tunnel del tunl1
Message from syslogd@shelby at Dec 22 10:12:08 ...
kernel: unregister_netdevice: waiting for tunl1 to become free.
Usage count = 3
After patch:
# ping -I tunl1 10.1.2.3
connect: Network is unreachable
Reported-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Reviewed-by: Octavian Purdila <opurdila@ixiacom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'kernel/taskstats.c')
0 files changed, 0 insertions, 0 deletions