Understanding bird2's behavior

Antonios Chariton (daknob) daknob at daknob.net
Thu Dec 7 12:29:04 CET 2023


Hello everyone,

I have a Debian router that’s running bird2 off of the Debian repo (2.0.12-7). This also occurred on 2.0.7-4.1.

It is using only BGP, with 9 IPv4 + 9 IPv6 peers. It’s in a private environment with < 100 routes on the RIB.

When I’m running “show route table master6” (happens on v4 too), I see some normal routes, e.g.:

2a0d:3dc0:500::216:50/128 unicast [peer1_v6 2023-12-02] * (100) [AS65000i]
        via 2a0d:3dc0:501::a1 on if4

But I also see some routes that have a “!” Instead of the “*”:

2a0d:3dc0:500::216:48/128 unicast [peer1_v6 2023-12-06] ! (100) [AS65000i]
        via 2a0d:3dc0:501::a1 on if4

I couldn’t find exactly what “!” means in the docs, and some quick searching in the git repo wasn’t successful either, but I probably missed something. I’d expect it to mean unreachable, invalid, or something similar.

AS 65000 in this case advertises ::32 - ::64 from the exact same router, 2 ASNs away from this device. Around 8 of the routes work with “*” while the rest are marked with “!”. This seems to be happening to the same routes, even after reboots of all involved routers. It’s also present in routes advertised from the direct peer. Although all routes have the same next hop, AS path, origin, etc. some are marked with “!”.

These routes are not in the kernel FIB (not present in ip -6 r s). But they are exported by the kernel2 protocol:

bird> show route export kernel2
Table master6:
2a0d:3dc0:500::216:48/128 unicast [peer1_v6 2023-12-06] ! (100) [AS65000i]
	via 2a0d:3dc0:501::a1 on if4

The config exports everything for debugging:

protocol kernel {
	ipv6 { export all; };
}

Does anyone know what’s the best approach in troubleshooting this?

Thanks!


More information about the Bird-users mailing list