#include "netdissect-stdinc.h"
+#define ND_LONGJMP_FROM_TCHECK
#include "netdissect.h"
#include "extract.h"
#include "addrtoname.h"
static const struct tok aoev1_flag_str[] = {
{ AOEV1_FLAG_R, "Response" },
{ AOEV1_FLAG_E, "Error" },
- { 0x02, "MBZ-0x02" },
- { 0x01, "MBZ-0x01" },
+ { 0x02, "MBZ-1" },
+ { 0x01, "MBZ-0" },
{ 0, NULL }
};
#define AOEV1_AFLAG_A 0x02
#define AOEV1_AFLAG_W 0x01
-static const struct tok aoev1_aflag_str[] = {
- { 0x08, "MBZ-0x08" },
+static const struct tok aoev1_aflag_bitmap_str[] = {
+ { 0x80, "MBZ-7" },
{ AOEV1_AFLAG_E, "Ext48" },
- { 0x06, "MBZ-0x06" },
+ { 0x20, "MBZ-5" },
{ AOEV1_AFLAG_D, "Device" },
- { 0x04, "MBZ-0x04" },
- { 0x03, "MBZ-0x03" },
+ { 0x08, "MBZ-3" },
+ { 0x04, "MBZ-2" },
{ AOEV1_AFLAG_A, "Async" },
{ AOEV1_AFLAG_W, "Write" },
{ 0, NULL }
goto invalid;
/* AFlags */
ND_PRINT("\n\tAFlags: [%s]",
- bittok2str(aoev1_aflag_str, "none", GET_U_1(cp)));
+ bittok2str(aoev1_aflag_bitmap_str, "none", GET_U_1(cp)));
cp += 1;
len -= 1;
/* Err/Feature */
invalid:
nd_print_invalid(ndo);
ND_TCHECK_LEN(cp, len);
- return;
-trunc:
- nd_trunc(ndo);
}
static void
/* Config String */
if (cslen) {
ND_PRINT("\n\tConfig String (length %u): ", cslen);
- (void)nd_printn(ndo, cp, cslen, NULL);
+ nd_printjn(ndo, cp, cslen);
}
return;
invalid:
nd_print_invalid(ndo);
ND_TCHECK_LEN(cp, len);
- return;
-trunc:
- nd_trunc(ndo);
}
static void
cp += 1;
len -= 1;
ND_PRINT(", Dir Count: %u", dircount);
- if (dircount * 8 > len)
+ if (dircount * 8U > len)
goto invalid;
/* directives */
for (i = 0; i < dircount; i++) {
invalid:
nd_print_invalid(ndo);
ND_TCHECK_LEN(cp, len);
- return;
-trunc:
- nd_trunc(ndo);
}
static void
invalid:
nd_print_invalid(ndo);
ND_TCHECK_LEN(cp, len);
- return;
-trunc:
- nd_trunc(ndo);
}
/* cp points to the Ver/Flags octet */
invalid:
nd_print_invalid(ndo);
ND_TCHECK_LEN(cp, len);
- return;
-trunc:
- nd_trunc(ndo);
}
void
invalid:
nd_print_invalid(ndo);
ND_TCHECK_LEN(cp, len);
- return;
-trunc:
- nd_trunc(ndo);
}