On 02/24/2011 12:22 PM, Ondrej Zajicek wrote:
On Wed, Feb 23, 2011 at 11:35:20AM +0100, Giuseppe Ravasio wrote:
it seems that linux doesn't allow to set blackhole ipv6 routes without
specifing the device:
root@:~# ip -f inet6 route add blackhole 2a01:9c01::/32
RTNETLINK answers: No such device

if I append dev lo the route inserts without problems.

This error does not happen with reject and so

protocol static {
         route 2a01:9c01::/32 reject;
}

works like a charm.

I checked that (but on older kernel, 2.6.23.16) and it seems that
blackhole and prohibit targets are not implemented for IPv6. They
requires a device, but when the loop device is specified, the same
unreachable route is created.

On Ubuntu 10.04LTS:
root@pacman:~# uname -a
Linux pacman 2.6.32-25-generic #45-Ubuntu SMP Sat Oct 16 19:52:42 UTC 2010 x86_64 GNU/Linux

1) Setup blackhole without device:
        root@pacman:~# ip -6 route add blackhole 2a01:9c11::/32
        RTNETLINK answers: No such device

2) Setup blackhole with loopback device:
        root@pacman:~# ip -6 route add blackhole 2a01:9c11::/32 dev lo
        root@pacman:~# ip -6 route
        unreachable 2a01:9c11::/32 dev lo  metric 1024  error -101 mtu
        16436 advmss 16376 hoplimit 4294967295

3) Setup unreachable works in both ways

The intresting thing is that in test 2 the route is set as unreachable even if i set it to blaskhole...

If it is not really working, the easiest workaround would be to just
use reject route.

It's exactly what I made and it seems to work well.

Bye
Beppe


Reply via email to