On Mon, Feb 24, 2014 at 11:36:01PM +0000, Pierluigi Rolando wrote:
Hi,
This patch fixes a situation where an interface enters TMPDOWN state and doesn't leave it until a device scan is triggered by timer.
This seems to happen whenever the interface is up but with no IP address configured. BIRD will then put the interface in TMPDOWN state (correctly), but the state is not left even though an IP address is assigned later. The problem in turn appears to be the way IF_UPDATE flags are used to pass state information between if_update and ifa_update calls. A scan will make it right, but simply processing RTM messages won't.
A workaround to this issue is to scan devices frequently, which might be not acceptable if reactions to RTM_NEWADDR/RTM_DELADDR/etc. are expected to happen without much average delay.
As you'll see, this patch is probably overkill.
You could try this patch, which fixes IF_TMP_DOWN flag. -- 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."