On 4/8/2016 10:22 AM, Donald Sharp wrote:
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.

I don't disagree with you on this one. Maybe we should just change how we present it in the output then?

While I'm in favor of keeping it the way it is, I also don't have a strong opinion against starting with the initial state.

--Jafar


On Fri, Apr 8, 2016 at 11:11 AM, Jafar Al-Gharaibeh <[email protected] <mailto:[email protected]>> 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 <http://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
    <[email protected] <mailto:[email protected]>> wrote:

        Acked-by: Jafar Al-Gharaibeh <[email protected]
        <mailto:[email protected]>>


        On 4/7/2016 2:43 PM, Christian Franke wrote:

            From: Christian Franke <[email protected]
            <mailto:[email protected]>>

            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
            <[email protected]
            <mailto:[email protected]>>
            ---
              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
        [email protected] <mailto:[email protected]>
        https://lists.quagga.net/mailman/listinfo/quagga-dev





_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to