From: Francois-Xavier Le Bail Date: Sun, 11 Sep 2022 13:08:49 +0000 (+0200) Subject: ICMPv6: Fix output for Router Renumbering messages X-Git-Tag: tcpdump-4.99.2~37 X-Git-Url: https://git.tcpdump.org/tcpdump/commitdiff_plain/0b36325b6e7cbdd5fb4dfd7cc12599d97f6e1b9c ICMPv6: Fix output for Router Renumbering messages In icmp6_rrenum_print() function. From: router renumberingrouter renum: command To: router renumbering, command Add a test file from the Wireshark menagerie (5691-icmpv6-RFC2894-RR.pcap). (cherry picked from commit b089a7ac5df0631f65e58c3b0320ec3cb53e376e) --- diff --git a/print-icmp6.c b/print-icmp6.c index 4bcf6404..11c8677b 100644 --- a/print-icmp6.c +++ b/print-icmp6.c @@ -1964,16 +1964,16 @@ icmp6_rrenum_print(netdissect_options *ndo, const u_char *bp, const u_char *ep) ND_TCHECK_4(rr6->rr_reserved); switch (GET_U_1(rr6->rr_code)) { case ICMP6_ROUTER_RENUMBERING_COMMAND: - ND_PRINT("router renum: command"); + ND_PRINT(", command"); break; case ICMP6_ROUTER_RENUMBERING_RESULT: - ND_PRINT("router renum: result"); + ND_PRINT(", result"); break; case ICMP6_ROUTER_RENUMBERING_SEQNUM_RESET: - ND_PRINT("router renum: sequence number reset"); + ND_PRINT(", sequence number reset"); break; default: - ND_PRINT("router renum: code-#%u", GET_U_1(rr6->rr_code)); + ND_PRINT(", code-#%u", GET_U_1(rr6->rr_code)); break; } diff --git a/tests/TESTLIST b/tests/TESTLIST index 40ea8a9c..8090583b 100644 --- a/tests/TESTLIST +++ b/tests/TESTLIST @@ -175,6 +175,8 @@ icmpv6 icmpv6.pcap icmpv6.out -vv icmpv6_opt24-v icmpv6_opt24.pcap icmpv6_opt24-v.out -v icmpv6-length-zero icmpv6-length-zero.pcapng icmpv6-length-zero.out icmpv6-rfc7112 icmpv6-rfc7112.pcap icmpv6-rfc7112.out +icmpv6-RFC2894-RR icmpv6-RFC2894-RR.pcap icmpv6-RFC2894-RR.out +icmpv6-RFC2894-RR-v icmpv6-RFC2894-RR.pcap icmpv6-RFC2894-RR-v.out -v # SPB tests spb spb.pcap spb.out diff --git a/tests/icmpv6-RFC2894-RR-v.out b/tests/icmpv6-RFC2894-RR-v.out new file mode 100644 index 00000000..35d3d4e9 --- /dev/null +++ b/tests/icmpv6-RFC2894-RR-v.out @@ -0,0 +1,6 @@ + 1 17:24:20.953888 IP6 (hlim 64, next-header ICMPv6 (58) payload length: 72) 2001:db8:1:0:a00:27ff:fef4:4dcf > 2001:db8:1:0:a00:27ff:fef4:4dcf: [icmp6 sum ok] ICMP6, router renumbering, command, seq=0[S,seg=0,maxdelay=0] match(add,ord=0,min=0,max=128,fec0::/48) use(mask=0x0,raflags=0x0,vltime=2592000,pltime=604800,3ffe:501:fffe::/48/16) + 2 17:24:50.966750 IP6 (hlim 64, next-header ICMPv6 (58) payload length: 72) 2001:db8:1:0:a00:27ff:fef4:4dcf > 2001:db8:1:0:a00:27ff:fef4:4dcf: [icmp6 sum ok] ICMP6, router renumbering, command, seq=0[S,seg=0,maxdelay=0] match(add,ord=0,min=0,max=128,fec0::/48) use(mask=0x0,raflags=0x0,vltime=2592000,pltime=604800,3ffe:501:fffe::/48/16) + 3 17:25:20.976267 IP6 (hlim 64, next-header ICMPv6 (58) payload length: 72) 2001:db8:1:0:a00:27ff:fef4:4dcf > 2001:db8:1:0:a00:27ff:fef4:4dcf: [icmp6 sum ok] ICMP6, router renumbering, command, seq=0[S,seg=0,maxdelay=0] match(add,ord=0,min=0,max=128,fec0::/48) use(mask=0x0,raflags=0x0,vltime=2592000,pltime=604800,3ffe:501:fffe::/48/16) + 4 17:25:20.978460 IP6 (hlim 64, next-header ICMPv6 (58) payload length: 72) 2001:db8:1:0:a00:27ff:fef4:4dcf > 2001:db8:1:0:a00:27ff:fef4:4dcf: [icmp6 sum ok] ICMP6, router renumbering, command, seq=16777216[S,seg=0,maxdelay=0] match(change,ord=0,min=0,max=128,3ffe:501:ffff::/48) use(mask=0x0,raflags=0x0,vltime=2592000,pltime=604800,3ffe:501:ffff::/48/16) + 5 17:25:50.997724 IP6 (hlim 64, next-header ICMPv6 (58) payload length: 72) 2001:db8:1:0:a00:27ff:fef4:4dcf > 2001:db8:1:0:a00:27ff:fef4:4dcf: [icmp6 sum ok] ICMP6, router renumbering, command, seq=16777216[S,seg=0,maxdelay=0] match(change,ord=0,min=0,max=128,3ffe:501:ffff::/48) use(mask=0x0,raflags=0x0,vltime=2592000,pltime=604800,3ffe:501:ffff::/48/16) + 6 17:26:21.005793 IP6 (hlim 64, next-header ICMPv6 (58) payload length: 72) 2001:db8:1:0:a00:27ff:fef4:4dcf > 2001:db8:1:0:a00:27ff:fef4:4dcf: [icmp6 sum ok] ICMP6, router renumbering, command, seq=16777216[S,seg=0,maxdelay=0] match(change,ord=0,min=0,max=128,3ffe:501:ffff::/48) use(mask=0x0,raflags=0x0,vltime=2592000,pltime=604800,3ffe:501:ffff::/48/16) diff --git a/tests/icmpv6-RFC2894-RR.out b/tests/icmpv6-RFC2894-RR.out new file mode 100644 index 00000000..03a4522e --- /dev/null +++ b/tests/icmpv6-RFC2894-RR.out @@ -0,0 +1,6 @@ + 1 17:24:20.953888 IP6 2001:db8:1:0:a00:27ff:fef4:4dcf > 2001:db8:1:0:a00:27ff:fef4:4dcf: ICMP6, router renumbering, command, seq=0 match(add,fec0::/48) use(3ffe:501:fffe::/48/16), length 72 + 2 17:24:50.966750 IP6 2001:db8:1:0:a00:27ff:fef4:4dcf > 2001:db8:1:0:a00:27ff:fef4:4dcf: ICMP6, router renumbering, command, seq=0 match(add,fec0::/48) use(3ffe:501:fffe::/48/16), length 72 + 3 17:25:20.976267 IP6 2001:db8:1:0:a00:27ff:fef4:4dcf > 2001:db8:1:0:a00:27ff:fef4:4dcf: ICMP6, router renumbering, command, seq=0 match(add,fec0::/48) use(3ffe:501:fffe::/48/16), length 72 + 4 17:25:20.978460 IP6 2001:db8:1:0:a00:27ff:fef4:4dcf > 2001:db8:1:0:a00:27ff:fef4:4dcf: ICMP6, router renumbering, command, seq=16777216 match(change,3ffe:501:ffff::/48) use(3ffe:501:ffff::/48/16), length 72 + 5 17:25:50.997724 IP6 2001:db8:1:0:a00:27ff:fef4:4dcf > 2001:db8:1:0:a00:27ff:fef4:4dcf: ICMP6, router renumbering, command, seq=16777216 match(change,3ffe:501:ffff::/48) use(3ffe:501:ffff::/48/16), length 72 + 6 17:26:21.005793 IP6 2001:db8:1:0:a00:27ff:fef4:4dcf > 2001:db8:1:0:a00:27ff:fef4:4dcf: ICMP6, router renumbering, command, seq=16777216 match(change,3ffe:501:ffff::/48) use(3ffe:501:ffff::/48/16), length 72 diff --git a/tests/icmpv6-RFC2894-RR.pcap b/tests/icmpv6-RFC2894-RR.pcap new file mode 100644 index 00000000..b2e0b6ef Binary files /dev/null and b/tests/icmpv6-RFC2894-RR.pcap differ