]> git.puffer.fish Git - mirror/frr.git/commitdiff
vrrpd: add more debugging info
authorQuentin Young <qlyoung@cumulusnetworks.com>
Thu, 28 Feb 2019 22:12:23 +0000 (22:12 +0000)
committerQuentin Young <qlyoung@cumulusnetworks.com>
Fri, 17 May 2019 00:27:08 +0000 (00:27 +0000)
* Add reason why we are discarding adverts
* Add primary IP to show vrrp output

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
vrrpd/vrrp.c
vrrpd/vrrp_vty.c

index 84ff84b8a4329640d6d6e98ac09f23f04430a6d2..55ae7ce7a47480c81187c5e472d4aa731756b5db 100644 (file)
@@ -668,6 +668,8 @@ static int vrrp_recv_advertisement(struct vrrp_router *r, struct ipaddr *src,
 {
        char sipstr[INET6_ADDRSTRLEN];
        ipaddr2str(src, sipstr, sizeof(sipstr));
+       char dipstr[INET6_ADDRSTRLEN];
+       ipaddr2str(&r->src, dipstr, sizeof(dipstr));
 
        char dumpbuf[BUFSIZ];
        vrrp_pkt_adver_dump(dumpbuf, sizeof(dumpbuf), pkt);
@@ -758,8 +760,10 @@ static int vrrp_recv_advertisement(struct vrrp_router *r, struct ipaddr *src,
                        /* Discard advertisement */
                        DEBUGD(&vrrp_dbg_proto,
                               VRRP_LOGPFX VRRP_LOGPFX_VRID
-                              "Discarding advertisement from %s",
-                              r->vr->vrid, sipstr);
+                              "Discarding advertisement from %s (%" PRIu8
+                              " = %" PRIu8 " & %s <= %s)",
+                              r->vr->vrid, sipstr, pkt->hdr.priority,
+                              r->priority, sipstr, dipstr);
                }
                break;
        case VRRP_STATE_BACKUP:
@@ -785,8 +789,10 @@ static int vrrp_recv_advertisement(struct vrrp_router *r, struct ipaddr *src,
                        /* Discard advertisement */
                        DEBUGD(&vrrp_dbg_proto,
                               VRRP_LOGPFX VRRP_LOGPFX_VRID
-                              "Discarding advertisement from %s",
-                              r->vr->vrid, sipstr);
+                              "Discarding advertisement from %s (%" PRIu8
+                              " < %" PRIu8 " & preempt = true)",
+                              r->vr->vrid, sipstr, pkt->hdr.priority,
+                              r->priority);
                }
                break;
        case VRRP_STATE_INITIALIZE:
index 3f6918539cc441900d53135b8d8795c6320cc9f6..2a7a6ecfc492b46afe1a3bfcd749bdd94d211ba5 100644 (file)
@@ -444,6 +444,8 @@ static void vrrp_show(struct vty *vty, struct vrrp_vrouter *vr)
        char ipstr[INET6_ADDRSTRLEN];
        const char *stastr4 = vrrp_state_names[vr->v4->fsm.state];
        const char *stastr6 = vrrp_state_names[vr->v6->fsm.state];
+       char sipstr4[INET6_ADDRSTRLEN];
+       char sipstr6[INET6_ADDRSTRLEN];
        struct listnode *ln;
        struct ipaddr *ip;
 
@@ -461,6 +463,10 @@ static void vrrp_show(struct vty *vty, struct vrrp_vrouter *vr)
                       vr->v4->mvl_ifp ? vr->v4->mvl_ifp->name : "None");
        ttable_add_row(tt, "%s|%s", "VRRP interface (v6)",
                       vr->v6->mvl_ifp ? vr->v6->mvl_ifp->name : "None");
+       ipaddr2str(&vr->v4->src, sipstr4, sizeof(sipstr4));
+       ipaddr2str(&vr->v6->src, sipstr6, sizeof(sipstr6));
+       ttable_add_row(tt, "%s|%s", "Primary IP (v4)", sipstr4);
+       ttable_add_row(tt, "%s|%s", "Primary IP (v6)", sipstr6);
        ttable_add_row(tt, "%s|%s", "Virtual MAC (v4)", ethstr4);
        ttable_add_row(tt, "%s|%s", "Virtual MAC (v6)", ethstr6);
        ttable_add_row(tt, "%s|%s", "Status (v4)", stastr4);