bird adversites a direct route from an interface without carrier

Alarig Le Lay alarig at swordarmor.fr
Mon Oct 11 13:20:52 CEST 2021


Hi,

On one router I have an interface that used to be connected to another
machine, so the state is NO-CARRIER:
core01-arendal ~ # ip addr show enp1s0
2: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 00:0d:b9:48:c1:c0 brd ff:ff:ff:ff:ff:ff
    inet 10.0.4.1/31 scope global enp1s0
       valid_lft forever preferred_lft forever
    inet6 2001:4640:a14f:fffd::2/127 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::20d:b9ff:fe48:c1c0/64 scope link
       valid_lft forever preferred_lft forever

On another router, I still have this route from OSPF, advertised from
core01-arendal:
core02-arendal ~ # birdc
BIRD 2.0.8 ready.
bird> show route all for 10.0.4.0
Table master4:
10.0.4.0/31          unicast [ospf_ipv4 17:51:54.613] * E2 (150/1/10000) [45.91.126.254]
	via 10.0.4.5 on enp2s0
	Type: OSPF-E2 univ
	igp_metric: 1
	OSPF.metric1: 1
	OSPF.metric2: 10000
	OSPF.tag: 0x00000000
	OSPF.router_id: 45.91.126.254
bird> show route all for 2001:4640:a14f:fffd::2
Table master6:
2001:4640:a14f:fffd::2/128 unicast [ospf_ipv6 17:51:58.613] * I (150/1) [45.91.126.254]
	via fe80::20d:b9ff:fe48:c1c2 on enp2s0
	Type: OSPF univ
	igp_metric: 1
	OSPF.metric1: 1
	OSPF.router_id: 45.91.126.254
bird>

And here is the export filter for OSPF:
		export filter {
			if (proto = "kernel_grt_ipv4" || proto = "direct1" ||
			    source = RTS_DEVICE)
			then {
				accept;
			}
			else reject;
		};

Given that the interface is unplugged, I expected bird to withdrawn the
route rather than keeping it into OSPF.

Regards,
-- 
Alarig Le Lay


More information about the Bird-users mailing list