Unnumbered interface incorrectly marked DOWN
Tore Anderson
tore.anderson at redpill-linpro.com
Wed Aug 22 14:32:39 CEST 2012
Hi,
I'm trying to migrate to BIRD 1.3.8 from Quagga, and have run across a
problem with a unnumbered tun interface. BIRD seems to think that it is
DOWN, even though it isn't - and therefore don't export its defined
static device routes to the kernel table (they're marked "dormant"). My
complete configuration is as follows:
log syslog { debug, trace, info, remote, warning, error, auth, fatal, bug };
protocol kernel {
scan time 20;
export where source = RTS_STATIC_DEVICE;
}
protocol device {
scan time 10;
}
protocol static {
route 172.40.33.3/32 via "nat64";
route 172.40.60.0/26 via "nat64";
}
protocol ospf {
area 0.47.1.2 {
nssa;
interface "eth*" {
type broadcast;
};
stubnet 172.40.33.3/32;
stubnet 172.40.60.0/26;
};
}
Even though the device is clearly UP, BIRD thinks it's DOWN:
$ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:16:3e:d7:0f:8e brd ff:ff:ff:ff:ff:ff
inet 172.40.62.91/31 brd 172.40.62.91 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::216:3eff:fed7:f8e/64 scope link
valid_lft forever preferred_lft forever
10: nat64: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 500
link/none
$ birdc show interfaces
BIRD 1.3.8 ready.
lo up (index=1)
MultiAccess AdminUp LinkUp Loopback Ignored MTU=16436
127.0.0.1/8 (Primary, scope host)
eth0 up (index=2)
MultiAccess Broadcast Multicast AdminUp LinkUp MTU=1500
172.40.62.91/31 (Primary, opposite 172.40.62.90, scope univ)
nat64 DOWN (index=10)
PtP Multicast AdminUp LinkUp MTU=1500
$ birdc show static
BIRD 1.3.8 ready.
172.40.33.3/32 dev nat64 (dormant)
172.40.60.0/26 dev nat64 (dormant)
As soon as I add any bogus IP address to the device, everything starts
working just fine:
$ ip address add 192.0.2.0/32 dev nat64
$ birdc show interfaces
BIRD 1.3.8 ready.
lo up (index=1)
MultiAccess AdminUp LinkUp Loopback Ignored MTU=16436
127.0.0.1/8 (Primary, scope host)
eth0 up (index=2)
MultiAccess Broadcast Multicast AdminUp LinkUp MTU=1500
172.40.62.91/31 (Primary, opposite 172.40.62.90, scope univ)
nat64 up (index=10)
PtP Multicast AdminUp LinkUp MTU=1500
192.0.2.0/32 (Primary, scope univ)
$ birdc show static
BIRD 1.3.8 ready.
172.40.33.3/32 dev nat64
172.40.60.0/26 dev nat64
$ ip route show proto bird
172.40.33.3 dev nat64
172.40.60.0/26 dev nat64
While this is an acceptable workaround for me, this behaviour must be a
bug, right? For what it's worth, Quagga never complained about the
unnumbered interface.
Best regards,
--
Tore Anderson
Redpill Linpro AS - http://www.redpill-linpro.com
More information about the Bird-users
mailing list