diff options
Diffstat (limited to 'ospf6d/ospf6_interface.c')
| -rw-r--r-- | ospf6d/ospf6_interface.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/ospf6d/ospf6_interface.c b/ospf6d/ospf6_interface.c index 155374d3f0..ed228f46ae 100644 --- a/ospf6d/ospf6_interface.c +++ b/ospf6d/ospf6_interface.c @@ -37,6 +37,7 @@ #include "ospf6_route.h" #include "ospf6_area.h" #include "ospf6_abr.h" +#include "ospf6_nssa.h" #include "ospf6_interface.h" #include "ospf6_neighbor.h" #include "ospf6_intra.h" @@ -1116,14 +1117,21 @@ static int ospf6_interface_show(struct vty *vty, struct interface *ifp, oi->dead_interval); json_object_int_add(json_obj, "timerIntervalsConfigRetransmit", oi->rxmt_interval); + json_object_boolean_add( + json_obj, "timerPassiveIface", + !!CHECK_FLAG(oi->flag, OSPF6_INTERFACE_PASSIVE)); } else { vty_out(vty, " State %s, Transmit Delay %d sec, Priority %d\n", ospf6_interface_state_str[oi->state], oi->transdelay, oi->priority); vty_out(vty, " Timer intervals configured:\n"); - vty_out(vty, " Hello %d(%pTHd), Dead %d, Retransmit %d\n", - oi->hello_interval, oi->thread_send_hello, - oi->dead_interval, oi->rxmt_interval); + if (!CHECK_FLAG(oi->flag, OSPF6_INTERFACE_PASSIVE)) + vty_out(vty, + " Hello %d(%pTHd), Dead %d, Retransmit %d\n", + oi->hello_interval, oi->thread_send_hello, + oi->dead_interval, oi->rxmt_interval); + else + vty_out(vty, " No Hellos (Passive interface)\n"); } inet_ntop(AF_INET, &oi->drouter, drouter, sizeof(drouter)); @@ -1736,8 +1744,10 @@ void ospf6_interface_start(struct ospf6_interface *oi) ospf6_interface_enable(oi); /* If the router is ABR, originate summary routes */ - if (ospf6_check_and_set_router_abr(ospf6)) + if (ospf6_check_and_set_router_abr(ospf6)) { ospf6_abr_enable_area(oa); + ospf6_schedule_abr_task(ospf6); + } } void ospf6_interface_stop(struct ospf6_interface *oi) |
