Allows IP of loopback to be used in automatic router ID selection.
Thanks to Alexander V. Chernikov for the patch.
This commit is contained in:
parent
8bd9b930c3
commit
cd3b02d198
1 changed files with 5 additions and 1 deletions
|
@ -589,7 +589,7 @@ if_choose_router_id(struct iface_patt *mask, u32 old_id)
|
||||||
WALK_LIST(i, iface_list)
|
WALK_LIST(i, iface_list)
|
||||||
{
|
{
|
||||||
if (!(i->flags & IF_ADMIN_UP) ||
|
if (!(i->flags & IF_ADMIN_UP) ||
|
||||||
(i->flags & (IF_IGNORE | IF_SHUTDOWN)))
|
(i->flags & IF_SHUTDOWN))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
WALK_LIST(a, i->addrs)
|
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))
|
if (mask && !iface_patt_match(mask, i, a))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
/* FIXME: This should go away too */
|
||||||
|
if ((i->flags & IF_IGNORE) && !mask)
|
||||||
|
continue;
|
||||||
|
|
||||||
/* No pattern or pattern matched */
|
/* No pattern or pattern matched */
|
||||||
if (!b || ipa_to_u32(a->ip) < ipa_to_u32(b->ip))
|
if (!b || ipa_to_u32(a->ip) < ipa_to_u32(b->ip))
|
||||||
b = a;
|
b = a;
|
||||||
|
|
Loading…
Reference in a new issue