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

Reply via email to