Bugfix in latest OSPF changes.
This commit is contained in:
parent
cd3b700393
commit
ac9dc669d8
2 changed files with 7 additions and 3 deletions
|
@ -281,10 +281,16 @@ void
|
||||||
ospf_iface_remove(struct ospf_iface *ifa)
|
ospf_iface_remove(struct ospf_iface *ifa)
|
||||||
{
|
{
|
||||||
struct ospf_proto *p = ifa->oa->po;
|
struct ospf_proto *p = ifa->oa->po;
|
||||||
|
int i;
|
||||||
|
|
||||||
if (ifa->type == OSPF_IT_VLINK)
|
if (ifa->type == OSPF_IT_VLINK)
|
||||||
OSPF_TRACE(D_EVENTS, "Removing vlink to %R via area %R", ifa->vid, ifa->voa->areaid);
|
OSPF_TRACE(D_EVENTS, "Removing vlink to %R via area %R", ifa->vid, ifa->voa->areaid);
|
||||||
|
|
||||||
|
/* Release LSAs from flood queue */
|
||||||
|
if (!ifa->stub)
|
||||||
|
for (i = 0; i < ifa->flood_queue_used; i++)
|
||||||
|
ifa->flood_queue[i]->ret_count--;
|
||||||
|
|
||||||
ospf_iface_sm(ifa, ISM_DOWN);
|
ospf_iface_sm(ifa, ISM_DOWN);
|
||||||
rem_node(NODE ifa);
|
rem_node(NODE ifa);
|
||||||
rfree(ifa->pool);
|
rfree(ifa->pool);
|
||||||
|
|
|
@ -1177,9 +1177,7 @@ use_gw_for_fwaddr(struct ospf_proto *p, ip_addr gw, struct iface *iface)
|
||||||
|
|
||||||
WALK_LIST(ifa, p->iface_list)
|
WALK_LIST(ifa, p->iface_list)
|
||||||
if ((ifa->iface == iface) &&
|
if ((ifa->iface == iface) &&
|
||||||
((ifa->type == OSPF_IT_BCAST) || (ifa->type == OSPF_IT_NBMA)) &&
|
(!ospf_is_v2(p) || ipa_in_net(gw, ifa->addr->prefix, ifa->addr->pxlen)))
|
||||||
(!ospf_is_v2(p) || ipa_in_net(gw, ifa->addr->prefix, ifa->addr->pxlen)) &&
|
|
||||||
(!ifa->cf->stub))
|
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in a new issue