X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/42b25d9bb5cb7cce12a4a511f21ed6b3ec8638cd..HEAD:/print-decnet.c diff --git a/print-decnet.c b/print-decnet.c index 6a6dd259..989776b4 100644 --- a/print-decnet.c +++ b/print-decnet.c @@ -20,10 +20,16 @@ */ /* \summary: DECnet printer */ +/* + * specification: Section 10.0 MESSAGES + * DECnet Digital Network Architecture + * Phase IV + * Routing Layer Functional Specification + * Order No. AA-X435A-TK + * Version 2.0.0 December 1983 + */ -#ifdef HAVE_CONFIG_H #include -#endif #include "netdissect-stdinc.h" @@ -52,7 +58,7 @@ typedef nd_uint32_t longword; /* 4 bytes field */ * Definitions for DECNET Phase IV protocol headers */ typedef union { - nd_mac_addr dne_addr; /* full Ethernet address */ + nd_mac48 dne_addr; /* full Ethernet address */ struct { nd_byte dne_hiord[4]; /* DECnet HIORD prefix */ nd_byte dne_nodeaddr[2]; /* DECnet node address */ @@ -482,6 +488,11 @@ decnet_print(netdissect_options *ndo, goto invalid; } + /* + * This length does not seem to be in any specification, but it is present + * in the test case packet capture, which is consistent with the Wireshark + * protocol decoder. + */ pktlen = GET_LE_U_2(ap); if (pktlen < sizeof(struct shorthdr)) { ND_PRINT(" (pktlen %u < %zu)", pktlen, sizeof(struct shorthdr));