Package: bird2
Version: 2.17.1-1

When installing blackhole or unreachable IPv6 routes using a static
protocol, a message appears in the logs "Netlink: invalid argument" and
the route is not installed.

BIRD config:

protocol static blackhole6 {
        ipv6 {
        };
        route 2001:db8::/32 blackhole; # Documentation/test range
}

Partial log:

Jul 14 09:25:28 debian13 systemd[1]: Started bird.service - BIRD
Internet Routing Daemon.
Jul 14 09:25:28 debian13 bird[1252]: Started
Jul 14 09:25:28 debian13 bird[1252]: Netlink: Invalid argument

If I remove the route, the message goes away. I also see this with the
bird3 package version 3.1.0-1, and with a compiled version of BIRD
3.1.2, so it could be something different with the kernel?

root@debian13:# uname -a
Linux debian13 6.12.35+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian
6.12.35-1 (2025-07-03) x86_64 GNU/Linux

I do NOT see this on BIRD 2 or BIRD 3 on Debian 12.

I found this in the BIRD FAQ:
https://gitlab.nic.cz/labs/bird/-/wikis/FAQ#ipv6-blackhole-and-prohibit-routes-do-not-work-on-linux

I think this applies to older kernels though, because using
"unreachable" instead of "blackhole" doesn't fix it, and although I can
instead use "via dummy0" with a dummy device present and make the error
go away:

protocol static blackhole6 {
        ipv6 {
        };
        route 2001:db8::/32 via "dummy0"; # Documentation/test range
}

the route is then not installed in the kernel according to "ip -6
route". Something doesn't seem to be right...

Thanks!

Pete Heist

Reply via email to