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