#include "oui.h"
-#define OF_VER_1_0 0x01
-#define OF_VER_1_1 0x02
-#define OF_VER_1_2 0x03
-#define OF_VER_1_3 0x04
-#define OF_VER_1_4 0x05
-#define OF_VER_1_5 0x06
-
static const struct tok ofver_str[] = {
{ OF_VER_1_0, "1.0" },
{ OF_VER_1_1, "1.1" },
{ ONF_EXP_WMOB, "Wireless and Mobility Extensions" },
{ ONF_EXP_FABS, "Forwarding Abstractions Extensions" },
{ ONF_EXP_OTRANS, "Optical Transport Extensions" },
+ { ONF_EXP_NBLNCTU, "Network Benchmarking Lab, NCTU" },
+ { ONF_EXP_MPCE, "Mobile Packet Core Extensions" },
+ { ONF_EXP_MPLSTPSPTN, "MPLS-TP OpenFlow Extensions for SPTN" },
{ 0, NULL }
};
return tok2str(table, "unknown", vendor);
}
+void
+of_bitmap_print(netdissect_options *ndo,
+ const struct tok *t, const uint32_t v, const uint32_t u)
+{
+ /* Assigned bits? */
+ if (v & ~u)
+ ND_PRINT(" (%s)", bittok2str(t, "", v));
+ /* Unassigned bits? */
+ if (v & u)
+ ND_PRINT(" (bogus)");
+}
+
void
of_data_print(netdissect_options *ndo,
const u_char *cp, const u_int len)
uint8_t version, type;
uint16_t length;
void (*decoder)(struct netdissect_options *,
- const u_char *, u_int16_t, const uint8_t) = NULL;
+ const u_char *, uint16_t, const uint8_t) = NULL;
/* version */
version = GET_U_1(cp);