From: Ondrej Zajicek Date: Tue, 16 Apr 2013 15:53:22 +0000 (+0200) Subject: Allows IP of loopback to be used in automatic router ID selection. X-Git-Tag: v1.3.10~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cd3b02d198093abbbe671f647e4deb2470eb9cf1;p=thirdparty%2Fbird.git Allows IP of loopback to be used in automatic router ID selection. Thanks to Alexander V. Chernikov for the patch. --- diff --git a/nest/iface.c b/nest/iface.c index da79b21f7..b4ab70c3a 100644 --- a/nest/iface.c +++ b/nest/iface.c @@ -589,7 +589,7 @@ if_choose_router_id(struct iface_patt *mask, u32 old_id) WALK_LIST(i, iface_list) { if (!(i->flags & IF_ADMIN_UP) || - (i->flags & (IF_IGNORE | IF_SHUTDOWN))) + (i->flags & IF_SHUTDOWN)) continue; WALK_LIST(a, i->addrs) @@ -612,6 +612,10 @@ if_choose_router_id(struct iface_patt *mask, u32 old_id) if (mask && !iface_patt_match(mask, i, a)) continue; + /* FIXME: This should go away too */ + if ((i->flags & IF_IGNORE) && !mask) + continue; + /* No pattern or pattern matched */ if (!b || ipa_to_u32(a->ip) < ipa_to_u32(b->ip)) b = a;