X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/ff83f3d261544c425cd41af689d089035b44432b..4289270cdbcbc207a39de68721d96a77dfd01292:/print-isoclns.c diff --git a/print-isoclns.c b/print-isoclns.c index 42370194..7ad59aab 100644 --- a/print-isoclns.c +++ b/print-isoclns.c @@ -26,7 +26,7 @@ #ifndef lint static const char rcsid[] = - "@(#) $Header: /tcpdump/master/tcpdump/print-isoclns.c,v 1.32 2001-12-03 09:17:07 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-isoclns.c,v 1.33 2001-12-09 03:43:22 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -100,6 +100,7 @@ static const char rcsid[] = #define TLV_TE_ROUTER_ID 134 #define TLV_EXT_IP_REACH 135 #define TLV_HOSTNAME 137 +#define TLV_RESTART_SIGNALING 211 #define TLV_MT_IS_REACH 222 #define TLV_MT_SUPPORTED 229 #define TLV_IP6ADDR 232 @@ -136,6 +137,9 @@ static const char rcsid[] = #define ISIS_MASK_TLV_IP6_IE(x) ((x)&0x40) #define ISIS_MASK_TLV_IP6_SUBTLV(x) ((x)&0x20) +#define ISIS_MASK_RESTART_RR(x) ((x)&0x1) +#define ISIS_MASK_RESTART_RA(x) ((x)&0x2) + #define ISIS_LSP_TLV_METRIC_SUPPORTED(x) ((x)&0x80) #define ISIS_LSP_TLV_METRIC_IE(x) ((x)&0x40) #define ISIS_LSP_TLV_METRIC_UPDOWN(x) ((x)&0x80) @@ -1461,6 +1465,19 @@ static int isis_print (const u_char *p, u_int length) } break; + case TLV_RESTART_SIGNALING: + tptr=pptr; + printf("Restart Signaling (%u)",len); + if (!TTEST2(*tptr, 3)) + goto trunctlv; + + printf("\n\t\t\tRestart Request bit %s, Restart Acknowledgement bit %s\n\t\t\tRemaining holding time: %us", + ISIS_MASK_RESTART_RR(*tptr) ? "set" : "clear", + ISIS_MASK_RESTART_RA(*tptr++) ? "set" : "clear", + EXTRACT_16BITS(tptr)); + + break; + default: printf("unknown TLV, type %d, length %d\n\t\t\t", type, len); tptr=pptr; @@ -1468,10 +1485,14 @@ static int isis_print (const u_char *p, u_int length) for(i=0;i