Jafar - You know that, I know that. End Users are going to see the incongruence and start asking questions. If I can stop a question from being asked. I think that is a win.
On Fri, Apr 8, 2016 at 11:11 AM, Jafar Al-Gharaibeh <ja...@atcorp.com> wrote: > > On 4/8/2016 7:24 AM, Donald Sharp wrote: > > Christian - > > If I start Quagga, after the link is already brought up: > > dell-s6000-02# show int swp31s2.4 > Interface swp31s2.4 is up, line protocol is up > Link ups: 0 last: (never) > Link downs: 0 last: (never) > PTM status: disabled > vrf: vrf1014 > index 58 metric 0 mtu 1500 > flags: <UP,BROADCAST,RUNNING,MULTICAST> > HWaddr: 44:38:39:00:85:04 > inet 169.254.4.17/30 > inet6 fe80::4638:39ff:fe00:8504/64 > ND advertised reachable time is 0 milliseconds > ND advertised retransmit interval is 0 milliseconds > ND router advertisements are sent every 1 seconds > ND router advertisements lifetime tracks ra-interval > ND router advertisement default router preference is medium > Hosts use stateless autoconfig for addresses. > Neighbor address(s): > inet6 fe80::202:ff:fe00:23/128 > dell-s6000-02# > > We never start at an initial Link up. Possible to get another patch to > fix that issue? > > > The way I read this patch (and according to Christian's comment ) is to > monitor if the > interface flapped/went up/down since Quagga started, it is not meant to > indicate if the interface > is currently up or now (there are already ways to know that). So, the > reported output in your case > is correct; the interface never went up/down since Quagga started. > > --Jafar > > > > doanld > > On Thu, Apr 7, 2016 at 5:00 PM, Jafar Al-Gharaibeh <ja...@atcorp.com> > wrote: > >> Acked-by: Jafar Al-Gharaibeh <ja...@atcorp.com> >> >> >> On 4/7/2016 2:43 PM, Christian Franke wrote: >> >>> From: Christian Franke <nob...@nowhere.ws> >>> >>> It is quite useful to be able to assert whether specific interfaces have >>> flapped or also to verify that specific interfaces have not flapped. >>> >>> By having counters for those events and storing the last time of their >>> occurrence, this is made possible. >>> >>> Signed-off-by: Christian Franke < <ch...@opensourcerouting.org> >>> ch...@opensourcerouting.org> >>> --- >>> zebra/interface.c | 15 +++++++++++++++ >>> zebra/interface.h | 6 ++++++ >>> 2 files changed, 21 insertions(+) >>> >>> diff --git a/zebra/interface.c b/zebra/interface.c >>> index 8a9225a..ab0dfb5 100644 >>> --- a/zebra/interface.c >>> +++ b/zebra/interface.c >>> @@ -536,6 +536,11 @@ if_up (struct interface *ifp) >>> struct listnode *next; >>> struct connected *ifc; >>> struct prefix *p; >>> + struct zebra_if *zif; >>> + >>> + zif = ifp->info; >>> + zif->up_count++; >>> + quagga_timestamp(2, zif->up_last, sizeof(zif->up_last)); >>> /* Notify the protocol daemons. */ >>> zebra_interface_up_update (ifp); >>> @@ -569,6 +574,11 @@ if_down (struct interface *ifp) >>> struct listnode *next; >>> struct connected *ifc; >>> struct prefix *p; >>> + struct zebra_if *zif; >>> + >>> + zif = ifp->info; >>> + zif->down_count++; >>> + quagga_timestamp(2, zif->down_last, sizeof(zif->down_last)); >>> /* Notify to the protocol daemons. */ >>> zebra_interface_down_update (ifp); >>> @@ -728,6 +738,11 @@ if_dump_vty (struct vty *vty, struct interface *ifp) >>> vty_out (vty, "down%s", VTY_NEWLINE); >>> } >>> + vty_out (vty, " Link ups: %5u last: %s%s", zebra_if->up_count, >>> + zebra_if->up_last[0] ? zebra_if->up_last : "(never)", >>> VTY_NEWLINE); >>> + vty_out (vty, " Link downs: %5u last: %s%s", zebra_if->down_count, >>> + zebra_if->down_last[0] ? zebra_if->down_last : "(never)", >>> VTY_NEWLINE); >>> + >>> vty_out (vty, " vrf: %u%s", ifp->vrf_id, VTY_NEWLINE); >>> if (ifp->desc) >>> diff --git a/zebra/interface.h b/zebra/interface.h >>> index dbb33c5..a7522bc 100644 >>> --- a/zebra/interface.h >>> +++ b/zebra/interface.h >>> @@ -188,6 +188,12 @@ struct zebra_if >>> /* Installed addresses chains tree. */ >>> struct route_table *ipv4_subnets; >>> + /* Information about up/down changes */ >>> + unsigned int up_count; >>> + char up_last[QUAGGA_TIMESTAMP_LEN]; >>> + unsigned int down_count; >>> + char down_last[QUAGGA_TIMESTAMP_LEN]; >>> + >>> #if defined(HAVE_RTADV) >>> struct rtadvconf rtadv; >>> #endif /* RTADV */ >>> >> >> >> _______________________________________________ >> Quagga-dev mailing list >> Quagga-dev@lists.quagga.net >> https://lists.quagga.net/mailman/listinfo/quagga-dev >> > > >
_______________________________________________ Quagga-dev mailing list Quagga-dev@lists.quagga.net https://lists.quagga.net/mailman/listinfo/quagga-dev