On Fri, Feb 07, 2014 at 01:43:21PM +0100, Tore Anderson wrote:
Hi, I've noticed that when adding addresses, BIRD will notice (i.e. "birdc show interface" will immediately show the newly-added address) but the direct protocol isn't notified until the periodic device scan triggers. The below console log with embedded comments shows what's happening. I'm running BIRD 1.4.0 and the config file contains simply: ...
$ birdc show route; birdc show interface BIRD 1.4.0 ready. lo up (index=1) MultiAccess AdminUp LinkUp Loopback Ignored MTU=65536 127.0.0.1/8 (Primary, scope host) 100.66.7.6/32 (Primary, opposite 100.66.7.5, scope univ)
$ ip address add 192.0.2.1/32 dev lo bird: direct1 < primary address 192.0.2.1/32 on interface lo removed bird: direct1 < secondary address 127.0.0.0/8 on interface lo removed
The debug messages from BIRD show up instantly. Not sure why why they say ?removed?, as 127.0.0.1 is unchanged, while 192.0.2.1 was *added*. ... So here it has clearly noticed that there's an new address on lo, but for some reason it's not showing up in BIRD's routing table. Also, for some reason "lo" is now marked DOWN?
Hello The main problem in your example is that primary address of the iface changed, which caused virtual restart of the iface, which caused the device to be down until the next scan and log messages about removal of addresses. The whole primary address selection is a relic of the past and will be removed in the future, currently you could fix your problem by explicitly declaring that 127.0.0.1 is the primary address on the loopback: protocol device { primary "lo" 127.0.0.1; } After that, any other manipulation of addresses on loopback should be seamless and immediate. -- Elen sila lumenn' omentielvo Ondrej 'SanTiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."