vrrpd: add more debugging info

* Add reason why we are discarding adverts
* Add primary IP to show vrrp output

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
This commit is contained in:
Quentin Young 2019-02-28 22:12:23 +00:00
parent 323cc42ac1
commit c7e65c4f80
2 changed files with 16 additions and 4 deletions

View 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:

View 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);