diff options
Diffstat (limited to 'proto/ospf/iface.c')
-rw-r--r-- | proto/ospf/iface.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/proto/ospf/iface.c b/proto/ospf/iface.c index dfc892aa..656184c6 100644 --- a/proto/ospf/iface.c +++ b/proto/ospf/iface.c @@ -281,10 +281,16 @@ void ospf_iface_remove(struct ospf_iface *ifa) { struct ospf_proto *p = ifa->oa->po; + int i; if (ifa->type == OSPF_IT_VLINK) 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); rem_node(NODE ifa); rfree(ifa->pool); |