diff options
author | Nicolas Dichtel <nicolas.dichtel@6wind.com> | 2012-09-05 02:12:42 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-09-05 17:49:28 -0400 |
commit | ef2c7d7b59708d54213c7556a82d14de9a7e4475 (patch) | |
tree | ffbcd9a25aeeef8e73faf8650605abb2dcdb6fb4 /include/net | |
parent | d6b6d987787876fd381bfeda310c6682d425c0a2 (diff) | |
download | linux-ef2c7d7b59708d54213c7556a82d14de9a7e4475.tar.gz linux-ef2c7d7b59708d54213c7556a82d14de9a7e4475.tar.bz2 linux-ef2c7d7b59708d54213c7556a82d14de9a7e4475.zip |
ipv6: fix handling of blackhole and prohibit routes
When adding a blackhole or a prohibit route, they were handling like classic
routes. Moreover, it was only possible to add this kind of routes by specifying
an interface.
Bug already reported here:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=498498
Before the patch:
$ ip route add blackhole 2001::1/128
RTNETLINK answers: No such device
$ ip route add blackhole 2001::1/128 dev eth0
$ ip -6 route | grep 2001
2001::1 dev eth0 metric 1024
After:
$ ip route add blackhole 2001::1/128
$ ip -6 route | grep 2001
blackhole 2001::1 dev lo metric 1024 error -22
v2: wrong patch
v3: add a field fc_type in struct fib6_config to store RTN_* type
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/ip6_fib.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h index 0fedbd8d747a..cd64cf35a49f 100644 --- a/include/net/ip6_fib.h +++ b/include/net/ip6_fib.h @@ -37,6 +37,7 @@ struct fib6_config { int fc_ifindex; u32 fc_flags; u32 fc_protocol; + u32 fc_type; /* only 8 bits are used */ struct in6_addr fc_dst; struct in6_addr fc_src; |