diff options
Diffstat (limited to 'ospfd/ospf_zebra.c')
-rw-r--r-- | ospfd/ospf_zebra.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/ospfd/ospf_zebra.c b/ospfd/ospf_zebra.c index 39525d57..ea90c845 100644 --- a/ospfd/ospf_zebra.c +++ b/ospfd/ospf_zebra.c @@ -429,6 +429,18 @@ ospf_zebra_delete (struct prefix_ipv4 *p, struct ospf_route *or) nexthop = &path->nexthop; api.nexthop = &nexthop; } + else if (path->oi->ifp) + { + SET_FLAG (api.message, ZAPI_MESSAGE_NEXTHOP); + api.ifindex_num = 1; + api.ifindex = &path->oi->ifp->ifindex; + } + else if ( IS_DEBUG_OSPF(zebra,ZEBRA_REDISTRIBUTE) ) + { + zlog_info("Zebra: no ifp %s %d", + inet_ntoa(p->prefix), + p->prefixlen); + } zapi_ipv4_delete (zclient, p, &api); @@ -438,6 +450,12 @@ ospf_zebra_delete (struct prefix_ipv4 *p, struct ospf_route *or) inet_ntoa (p->prefix), p->prefixlen, inet_ntoa (**api.nexthop)); } + if (IS_DEBUG_OSPF (zebra, ZEBRA_REDISTRIBUTE) && api.ifindex_num) + { + zlog_info ("Zebra: Route delete %s/%d ifindex %d", + inet_ntoa (p->prefix), + p->prefixlen, *api.ifindex); + } } } } |