/* OpenFlow: protocol between controller and datapath. */
+/* for netdissect_options */
+#include "netdissect.h"
+
#define OF_HEADER_LEN 8
+#define ONF_EXP_ONF 0x4f4e4600
+#define ONF_EXP_BUTE 0xff000001
+#define ONF_EXP_NOVIFLOW 0xff000002
+#define ONF_EXP_L3 0xff000003
+#define ONF_EXP_L4L7 0xff000004
+#define ONF_EXP_WMOB 0xff000005
+#define ONF_EXP_FABS 0xff000006
+#define ONF_EXP_OTRANS 0xff000007
+extern const struct tok onf_exp_str[];
+
/*
* Routines to print packets for various versions of OpenFlow.
*/
-extern const u_char *of10_header_body_print(const u_char *, const u_char *,
+extern const u_char *of10_header_body_print(netdissect_options *ndo,
+ const u_char *, const u_char *,
const uint8_t, const uint16_t, const uint32_t);
+extern const char * of_vendor_name(const uint32_t);