X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/121340f51409c65277b29b89d3ddbc8f1083d051..refs/pull/377/head:/print-hsrp.c diff --git a/print-hsrp.c b/print-hsrp.c index 0059284f..0e2420f7 100644 --- a/print-hsrp.c +++ b/print-hsrp.c @@ -29,6 +29,7 @@ /* Cisco Hot Standby Router Protocol (HSRP). */ +#define NETDISSECT_REWORKED #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -78,20 +79,20 @@ static const struct tok states[] = { /* HSRP protocol header. */ struct hsrp { - u_int8_t hsrp_version; - u_int8_t hsrp_op_code; - u_int8_t hsrp_state; - u_int8_t hsrp_hellotime; - u_int8_t hsrp_holdtime; - u_int8_t hsrp_priority; - u_int8_t hsrp_group; - u_int8_t hsrp_reserved; - u_int8_t hsrp_authdata[HSRP_AUTH_SIZE]; + uint8_t hsrp_version; + uint8_t hsrp_op_code; + uint8_t hsrp_state; + uint8_t hsrp_hellotime; + uint8_t hsrp_holdtime; + uint8_t hsrp_priority; + uint8_t hsrp_group; + uint8_t hsrp_reserved; + uint8_t hsrp_authdata[HSRP_AUTH_SIZE]; struct in_addr hsrp_virtaddr; }; void -hsrp_print(netdissect_options *ndo, register const u_int8_t *bp, register u_int len) +hsrp_print(netdissect_options *ndo, register const uint8_t *bp, register u_int len) { struct hsrp *hp = (struct hsrp *) bp; @@ -112,16 +113,16 @@ hsrp_print(netdissect_options *ndo, register const u_int8_t *bp, register u_int ND_PRINT((ndo, "[reserved=%d!] ", hp->hsrp_reserved)); } ND_TCHECK(hp->hsrp_virtaddr); - ND_PRINT((ndo, "addr=%s", ipaddr_string(&hp->hsrp_virtaddr))); - if (vflag) { + ND_PRINT((ndo, "addr=%s", ipaddr_string(ndo, &hp->hsrp_virtaddr))); + if (ndo->ndo_vflag) { ND_PRINT((ndo, " hellotime=")); - relts_print(hp->hsrp_hellotime); + relts_print(ndo, hp->hsrp_hellotime); ND_PRINT((ndo, " holdtime=")); - relts_print(hp->hsrp_holdtime); + relts_print(ndo, hp->hsrp_holdtime); ND_PRINT((ndo, " priority=%d", hp->hsrp_priority)); ND_PRINT((ndo, " auth=\"")); - if (fn_printn(hp->hsrp_authdata, sizeof(hp->hsrp_authdata), - snapend)) { + if (fn_printn(ndo, hp->hsrp_authdata, sizeof(hp->hsrp_authdata), + ndo->ndo_snapend)) { ND_PRINT((ndo, "\"")); goto trunc; }