openflow: Minor changes
authorBill Meier <wmeier@newsguy.com>
Tue, 25 Nov 2014 05:43:06 +0000 (00:43 -0500)
committerBill Meier <wmeier@newsguy.com>
Tue, 25 Nov 2014 18:53:22 +0000 (18:53 +0000)
- Remove unneeded/undefined forward declarations;
- Create/use some extended value-strings;
- Do some whitespace changes.

Change-Id: I7961864f0e404e141d2887584751116011f8d941
Reviewed-on: https://code.wireshark.org/review/5490
Reviewed-by: Bill Meier <wmeier@newsguy.com>
epan/dissectors/packet-openflow_v1.c
epan/dissectors/packet-openflow_v4.c
epan/dissectors/packet-openflow_v5.c

index 2c1d736ef03469c8ab5d4ae3864595ddc1bff5a1..e344cfdb397b0929e38deacc66c9dbc6b9d54e83 100644 (file)
@@ -32,7 +32,6 @@
 #include <epan/expert.h>
 
 void proto_register_openflow_v1(void);
-void proto_reg_handoff_openflow_v1(void);
 
 static dissector_handle_t eth_withoutfcs_handle;
 
@@ -192,19 +191,17 @@ static const value_string openflow_version_values[] = {
 
 static const value_string openflow_1_0_type_values[] = {
 /* Immutable messages. */
-
-/* Immutable messages. */
-    { 0, "OFPT_HELLO" },              /* Symmetric message */
-    { 1, "OFPT_ERROR" },              /* Symmetric message */
-    { 2, "OFPT_ECHO_REQUEST" },       /* Symmetric message */
-    { 3, "OFPT_ECHO_REPLY" },         /* Symmetric message */
-    { 4, "OFPT_VENDOR" },             /* Symmetric message */
+    { 0, "OFPT_HELLO" },                     /* Symmetric message */
+    { 1, "OFPT_ERROR" },                     /* Symmetric message */
+    { 2, "OFPT_ECHO_REQUEST" },              /* Symmetric message */
+    { 3, "OFPT_ECHO_REPLY" },                /* Symmetric message */
+    { 4, "OFPT_VENDOR" },                    /* Symmetric message */
 /* Switch configuration messages. */
-    { 5, "OFPT_FEATURES_REQUEST" },   /* Controller/switch message */
-    { 6, "OFPT_FEATURES_REPLY" },     /* Controller/switch message */
-    { 7, "OFPT_GET_CONFIG_REQUEST" }, /* Controller/switch message */
-    { 8, "OFPT_GET_CONFIG_REPLY" },   /* Controller/switch message */
-    { 9, "OFPT_SET_CONFIG" },         /* Controller/switch message */
+    { 5, "OFPT_FEATURES_REQUEST" },          /* Controller/switch message */
+    { 6, "OFPT_FEATURES_REPLY" },            /* Controller/switch message */
+    { 7, "OFPT_GET_CONFIG_REQUEST" },        /* Controller/switch message */
+    { 8, "OFPT_GET_CONFIG_REPLY" },          /* Controller/switch message */
+    { 9, "OFPT_SET_CONFIG" },                /* Controller/switch message */
 /* Asynchronous messages. */
     { 10, "OFPT_PACKET_IN" },                /* Async message */
     { 11, "OFPT_FLOW_REMOVED" },             /* Async message */
@@ -224,7 +221,7 @@ static const value_string openflow_1_0_type_values[] = {
     { 21, "OFPT_QUEUE_GET_CONFIG_REPLY" },   /* Controller/switch message */
     { 0, NULL }
 };
-
+static value_string_ext openflow_1_0_type_values_ext = VALUE_STRING_EXT_INIT(openflow_1_0_type_values);
 
 #define OFPC_FLOW_STATS   1<<0  /* Flow statistics. */
 #define OFPC_TABLE_STATS  1<<1  /* Table statistics. */
@@ -265,16 +262,16 @@ static const value_string openflow_1_0_type_values[] = {
 #define OFPPS_STP_MASK     3<<8 /* Bit mask for OFPPS_STP_* values. */
 
 
-#define OFPPF_10MB_HD      1<<0 /* 10 Mb half-duplex rate support. */
-#define OFPPF_10MB_FD      1<<1 /* 10 Mb full-duplex rate support. */
-#define OFPPF_100MB_HD     1<<2 /* 100 Mb half-duplex rate support. */
-#define OFPPF_100MB_FD     1<<3 /* 100 Mb full-duplex rate support. */
-#define OFPPF_1GB_HD       1<<4 /* 1 Gb half-duplex rate support. */
-#define OFPPF_1GB_FD       1<<5 /* 1 Gb full-duplex rate support. */
-#define OFPPF_10GB_FD      1<<6 /* 10 Gb full-duplex rate support. */
-#define OFPPF_COPPER       1<<7 /* Copper medium. */
-#define OFPPF_FIBER        1<<8 /* Fiber medium. */
-#define OFPPF_AUTONEG      1<<9 /* Auto-negotiation. */
+#define OFPPF_10MB_HD      1<<0  /* 10 Mb half-duplex rate support. */
+#define OFPPF_10MB_FD      1<<1  /* 10 Mb full-duplex rate support. */
+#define OFPPF_100MB_HD     1<<2  /* 100 Mb half-duplex rate support. */
+#define OFPPF_100MB_FD     1<<3  /* 100 Mb full-duplex rate support. */
+#define OFPPF_1GB_HD       1<<4  /* 1 Gb half-duplex rate support. */
+#define OFPPF_1GB_FD       1<<5  /* 1 Gb full-duplex rate support. */
+#define OFPPF_10GB_FD      1<<6  /* 10 Gb full-duplex rate support. */
+#define OFPPF_COPPER       1<<7  /* Copper medium. */
+#define OFPPF_FIBER        1<<8  /* Fiber medium. */
+#define OFPPF_AUTONEG      1<<9  /* Auto-negotiation. */
 #define OFPPF_PAUSE        1<<10 /* Pause. */
 #define OFPPF_PAUSE_ASYM   1<<11 /* Asymmetric pause. */
 
@@ -549,7 +546,7 @@ dissect_openflow_features_reply_v1(tvbuff_t *tvb, packet_info *pinfo, proto_tree
     if(length_remaining > 0){
         guint16 num_ports = length_remaining/48;
         int i;
-        if ((length_remaining&0x003f) != 0){
+        if((length_remaining&0x003f) != 0){
             /* protocol_error */
         }
         for(i=0; i<num_ports ;i++){
@@ -715,7 +712,7 @@ dissect_openflow_v1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d
     type    = tvb_get_guint8(tvb, 1);
 
     col_append_fstr(pinfo->cinfo, COL_INFO, "Type: %s",
-                  val_to_str_const(type, openflow_1_0_type_values, "Unknown message type"));
+                  val_to_str_ext_const(type, &openflow_1_0_type_values_ext, "Unknown message type"));
 
     /* Stop the Ethernet frame from overwriting the columns */
     if((type == OFPT_1_0_PACKET_IN) || (type == OFPT_1_0_PACKET_OUT)){
@@ -804,7 +801,7 @@ proto_register_openflow_v1(void)
         },
         { &hf_openflow_1_0_type,
             { "Type", "openflow_1_0.type",
-               FT_UINT8, BASE_DEC, VALS(openflow_1_0_type_values), 0x0,
+               FT_UINT8, BASE_DEC | BASE_EXT_STRING, &openflow_1_0_type_values_ext, 0x0,
                NULL, HFILL }
         },
         { &hf_openflow_xid,
index 9e7868bd33010d72da7ebaa4862d9beef10afa51..e946f61e424dbaf3374baeb1a6126c6deb0cf6bf 100644 (file)
 #include "config.h"
 
 #include <glib.h>
+#include <epan/packet.h>
 #include <epan/etypes.h>
 #include <epan/expert.h>
 #include <epan/ipproto.h>
-#include <epan/packet.h>
 
 void proto_register_openflow_v4(void);
-void proto_reg_handoff_openflow_v4(void);
 
 static dissector_handle_t eth_withoutfcs_handle;
 
@@ -795,6 +794,7 @@ static const value_string openflow_v4_type_values[] = {
     { OFPT_METER_MOD,                "OFPT_METER_MOD" },
     { 0,                             NULL }
 };
+static value_string_ext openflow_v4_type_values_ext = VALUE_STRING_EXT_INIT(openflow_v4_type_values);
 
 static int
 dissect_openflow_header_v4(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length _U_)
@@ -946,6 +946,7 @@ static const value_string openflow_v4_oxm_basic_field_values[] = {
     { 39, "OFPXMT_OFB_IPV6_EXTHDR" },
     {  0, NULL }
 };
+static value_string_ext openflow_v4_oxm_basic_field_values_ext = VALUE_STRING_EXT_INIT(openflow_v4_oxm_basic_field_values);
 
 #define OXM_FIELD_MASK   0xfe
 #define OXM_FIELD_OFFSET 1
@@ -4557,7 +4558,7 @@ dissect_openflow_v4(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d
     length = tvb_get_ntohs(tvb, 2);
 
     col_append_fstr(pinfo->cinfo, COL_INFO, "Type: %s",
-                  val_to_str_const(type, openflow_v4_type_values, "Unknown message type"));
+                  val_to_str_ext_const(type, &openflow_v4_type_values_ext, "Unknown message type"));
 
     /* Create display subtree for the protocol */
     ti = proto_tree_add_item(tree, proto_openflow_v4, tvb, 0, -1, ENC_NA);
@@ -4676,7 +4677,7 @@ proto_register_openflow_v4(void)
         },
         { &hf_openflow_v4_type,
             { "Type", "openflow_v4.type",
-               FT_UINT8, BASE_DEC, VALS(openflow_v4_type_values), 0x0,
+               FT_UINT8, BASE_DEC | BASE_EXT_STRING, &openflow_v4_type_values_ext, 0x0,
                NULL, HFILL }
         },
         { &hf_openflow_v4_xid,
@@ -4701,7 +4702,7 @@ proto_register_openflow_v4(void)
         },
         { &hf_openflow_v4_oxm_field_basic,
             { "Field", "openflow_v4.oxm.field",
-               FT_UINT8, BASE_DEC, VALS(openflow_v4_oxm_basic_field_values), 0x0,
+               FT_UINT8, BASE_DEC | BASE_EXT_STRING, &openflow_v4_oxm_basic_field_values_ext, 0x0,
                NULL, HFILL }
         },
         { &hf_openflow_v4_oxm_hm,
index a848b2c8f4eb73b8a4e1e8e43c952f0ca93754fe..8a97699df4d441d13c0affd26b0f72c30665c1c5 100644 (file)
 #include "config.h"
 
 #include <glib.h>
+#include <epan/packet.h>
 #include <epan/etypes.h>
 #include <epan/expert.h>
 #include <epan/ipproto.h>
-#include <epan/packet.h>
 
 void proto_register_openflow_v5(void);
-void proto_reg_handoff_openflow_v5(void);
 
 static dissector_handle_t eth_withoutfcs_handle;
 
@@ -947,6 +946,7 @@ static const value_string openflow_v5_type_values[] = {
     { OFPT_BUNDLE_ADD_MESSAGE,       "OFPT_BUNDLE_ADD_MESSAGE" },
     { 0,                             NULL }
 };
+static value_string_ext openflow_v5_type_values_ext = VALUE_STRING_EXT_INIT(openflow_v5_type_values);
 
 static int
 dissect_openflow_header_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length _U_)
@@ -1100,6 +1100,7 @@ static const value_string openflow_v5_oxm_basic_field_values[] = {
     { 41, "OFPXMT_OFB_PBB_UCA" },
     {  0, NULL }
 };
+static value_string_ext openflow_v5_oxm_basic_field_values_ext = VALUE_STRING_EXT_INIT(openflow_v5_oxm_basic_field_values);
 
 #define OXM_FIELD_MASK   0xfe
 #define OXM_FIELD_OFFSET 1
@@ -2413,21 +2414,21 @@ dissect_openflow_port_desc_prop_ethernet_v5(tvbuff_t *tvb, packet_info *pinfo _U
     ti = proto_tree_add_item(tree, hf_openflow_v5_port_desc_prop_ethernet_current, tvb, offset, 4, ENC_BIG_ENDIAN);
     curr_tree = proto_item_add_subtree(ti, ett_openflow_v5_port_desc_prop_ethernet_current);
 
-    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_10mb_hd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_10mb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_100mb_hd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_100mb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_1gb_hd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_1gb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_10gb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_40gb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_100gb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_1tb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_other, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_copper, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_fiber, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_autoneg, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_pause, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_10mb_hd,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_10mb_fd,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_100mb_hd,   tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_100mb_fd,   tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_1gb_hd,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_1gb_fd,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_10gb_fd,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_40gb_fd,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_100gb_fd,   tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_1tb_fd,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_other,      tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_copper,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_fiber,      tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_autoneg,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_pause,      tvb, offset, 4, ENC_BIG_ENDIAN);
     proto_tree_add_item(curr_tree, hf_openflow_v5_port_desc_prop_ethernet_current_pause_asym, tvb, offset, 4, ENC_BIG_ENDIAN);
     offset+=4;
 
@@ -2435,21 +2436,21 @@ dissect_openflow_port_desc_prop_ethernet_v5(tvbuff_t *tvb, packet_info *pinfo _U
     ti = proto_tree_add_item(tree, hf_openflow_v5_port_desc_prop_ethernet_advertised, tvb, offset, 4, ENC_BIG_ENDIAN);
     adv_tree = proto_item_add_subtree(ti, ett_openflow_v5_port_desc_prop_ethernet_advertised);
 
-    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_10mb_hd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_10mb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_100mb_hd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_100mb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_1gb_hd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_1gb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_10gb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_40gb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_100gb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_1tb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_other, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_copper, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_fiber, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_autoneg, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_pause, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_10mb_hd,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_10mb_fd,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_100mb_hd,   tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_100mb_fd,   tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_1gb_hd,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_1gb_fd,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_10gb_fd,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_40gb_fd,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_100gb_fd,   tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_1tb_fd,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_other,      tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_copper,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_fiber,      tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_autoneg,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_pause,      tvb, offset, 4, ENC_BIG_ENDIAN);
     proto_tree_add_item(adv_tree, hf_openflow_v5_port_desc_prop_ethernet_advertised_pause_asym, tvb, offset, 4, ENC_BIG_ENDIAN);
     offset+=4;
 
@@ -2457,21 +2458,21 @@ dissect_openflow_port_desc_prop_ethernet_v5(tvbuff_t *tvb, packet_info *pinfo _U
     ti = proto_tree_add_item(tree, hf_openflow_v5_port_desc_prop_ethernet_supported, tvb, offset, 4, ENC_BIG_ENDIAN);
     supp_tree = proto_item_add_subtree(ti, ett_openflow_v5_port_desc_prop_ethernet_supported);
 
-    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_10mb_hd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_10mb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_100mb_hd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_100mb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_1gb_hd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_1gb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_10gb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_40gb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_100gb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_1tb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_other, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_copper, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_fiber, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_autoneg, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_pause, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_10mb_hd,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_10mb_fd,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_100mb_hd,   tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_100mb_fd,   tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_1gb_hd,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_1gb_fd,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_10gb_fd,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_40gb_fd,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_100gb_fd,   tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_1tb_fd,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_other,      tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_copper,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_fiber,      tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_autoneg,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_pause,      tvb, offset, 4, ENC_BIG_ENDIAN);
     proto_tree_add_item(supp_tree, hf_openflow_v5_port_desc_prop_ethernet_supported_pause_asym, tvb, offset, 4, ENC_BIG_ENDIAN);
     offset+=4;
 
@@ -2479,21 +2480,21 @@ dissect_openflow_port_desc_prop_ethernet_v5(tvbuff_t *tvb, packet_info *pinfo _U
     ti = proto_tree_add_item(tree, hf_openflow_v5_port_desc_prop_ethernet_peer, tvb, offset, 4, ENC_BIG_ENDIAN);
     peer_tree = proto_item_add_subtree(ti, ett_openflow_v5_port_desc_prop_ethernet_peer);
 
-    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_10mb_hd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_10mb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_100mb_hd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_100mb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_1gb_hd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_1gb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_10gb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_40gb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_100gb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_1tb_fd, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_other, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_copper, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_fiber, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_autoneg, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_pause, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_10mb_hd,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_10mb_fd,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_100mb_hd,   tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_100mb_fd,   tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_1gb_hd,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_1gb_fd,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_10gb_fd,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_40gb_fd,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_100gb_fd,   tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_1tb_fd,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_other,      tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_copper,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_fiber,      tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_autoneg,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_pause,      tvb, offset, 4, ENC_BIG_ENDIAN);
     proto_tree_add_item(peer_tree, hf_openflow_v5_port_desc_prop_ethernet_peer_pause_asym, tvb, offset, 4, ENC_BIG_ENDIAN);
     offset+=4;
 
@@ -4653,115 +4654,115 @@ dissect_openflow_group_features_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_
     ti = proto_tree_add_item(tree, hf_openflow_v5_group_features_types, tvb, offset, 4, ENC_BIG_ENDIAN);
     types_tree = proto_item_add_subtree(ti, ett_openflow_v5_group_features_types);
 
-    proto_tree_add_item(types_tree, hf_openflow_v5_group_features_types_all, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(types_tree, hf_openflow_v5_group_features_types_select, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(types_tree, hf_openflow_v5_group_features_types_all,      tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(types_tree, hf_openflow_v5_group_features_types_select,   tvb, offset, 4, ENC_BIG_ENDIAN);
     proto_tree_add_item(types_tree, hf_openflow_v5_group_features_types_indirect, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(types_tree, hf_openflow_v5_group_features_types_ff, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(types_tree, hf_openflow_v5_group_features_types_ff,       tvb, offset, 4, ENC_BIG_ENDIAN);
     offset+=4;
 
     /* uint32_t capabilities; */
     ti = proto_tree_add_item(tree, hf_openflow_v5_group_features_capabilities, tvb, offset, 4, ENC_BIG_ENDIAN);
     caps_tree = proto_item_add_subtree(ti, ett_openflow_v5_group_features_capabilities);
 
-    proto_tree_add_item(caps_tree, hf_openflow_v5_group_features_capabilities_select_weight, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(caps_tree, hf_openflow_v5_group_features_capabilities_select_weight,   tvb, offset, 4, ENC_BIG_ENDIAN);
     proto_tree_add_item(caps_tree, hf_openflow_v5_group_features_capabilities_select_liveness, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(caps_tree, hf_openflow_v5_group_features_capabilities_chaining, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(caps_tree, hf_openflow_v5_group_features_capabilities_chaining,        tvb, offset, 4, ENC_BIG_ENDIAN);
     proto_tree_add_item(caps_tree, hf_openflow_v5_group_features_capabilities_chaining_checks, tvb, offset, 4, ENC_BIG_ENDIAN);
     offset+=4;
 
     /* max_groups[4]; */
-    proto_tree_add_item(tree, hf_openflow_v5_group_features_max_groups_all, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(tree, hf_openflow_v5_group_features_max_groups_all,      tvb, offset, 4, ENC_BIG_ENDIAN);
     offset+=4;
-    proto_tree_add_item(tree, hf_openflow_v5_group_features_max_groups_select, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(tree, hf_openflow_v5_group_features_max_groups_select,   tvb, offset, 4, ENC_BIG_ENDIAN);
     offset+=4;
     proto_tree_add_item(tree, hf_openflow_v5_group_features_max_groups_indirect, tvb, offset, 4, ENC_BIG_ENDIAN);
     offset+=4;
-    proto_tree_add_item(tree, hf_openflow_v5_group_features_max_groups_ff, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(tree, hf_openflow_v5_group_features_max_groups_ff,       tvb, offset, 4, ENC_BIG_ENDIAN);
     offset+=4;
 
     /* uint32_t actions[4]; */
     ti = proto_tree_add_item(tree, hf_openflow_v5_group_features_actions_all, tvb, offset, 4, ENC_BIG_ENDIAN);
     acts_tree = proto_item_add_subtree(ti, ett_openflow_v5_group_features_actions_all);
 
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_output, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_output,       tvb, offset, 4, ENC_BIG_ENDIAN);
     proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_copy_ttl_out, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_copy_ttl_in, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_copy_ttl_in,  tvb, offset, 4, ENC_BIG_ENDIAN);
     proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_set_mpls_ttl, tvb, offset, 4, ENC_BIG_ENDIAN);
     proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_dec_mpls_ttl, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_push_vlan, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_pop_vlan, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_push_mpls, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_pop_mpls, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_set_queue, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_group, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_set_nw_ttl, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_dec_nw_ttl, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_set_field, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_push_pbb, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_pop_pbb, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_push_vlan,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_pop_vlan,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_push_mpls,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_pop_mpls,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_set_queue,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_group,        tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_set_nw_ttl,   tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_dec_nw_ttl,   tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_set_field,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_push_pbb,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_all_pop_pbb,      tvb, offset, 4, ENC_BIG_ENDIAN);
     offset+=4;
 
     ti = proto_tree_add_item(tree, hf_openflow_v5_group_features_actions_select, tvb, offset, 4, ENC_BIG_ENDIAN);
     acts_tree = proto_item_add_subtree(ti, ett_openflow_v5_group_features_actions_select);
 
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_output, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_output,       tvb, offset, 4, ENC_BIG_ENDIAN);
     proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_copy_ttl_out, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_copy_ttl_in, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_copy_ttl_in,  tvb, offset, 4, ENC_BIG_ENDIAN);
     proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_set_mpls_ttl, tvb, offset, 4, ENC_BIG_ENDIAN);
     proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_dec_mpls_ttl, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_push_vlan, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_pop_vlan, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_push_mpls, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_pop_mpls, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_set_queue, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_group, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_set_nw_ttl, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_dec_nw_ttl, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_set_field, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_push_pbb, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_pop_pbb, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_push_vlan,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_pop_vlan,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_push_mpls,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_pop_mpls,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_set_queue,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_group,        tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_set_nw_ttl,   tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_dec_nw_ttl,   tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_set_field,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_push_pbb,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_select_pop_pbb,      tvb, offset, 4, ENC_BIG_ENDIAN);
     offset+=4;
 
     ti = proto_tree_add_item(tree, hf_openflow_v5_group_features_actions_indirect, tvb, offset, 4, ENC_BIG_ENDIAN);
     acts_tree = proto_item_add_subtree(ti, ett_openflow_v5_group_features_actions_indirect);
 
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_output, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_output,       tvb, offset, 4, ENC_BIG_ENDIAN);
     proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_copy_ttl_out, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_copy_ttl_in, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_copy_ttl_in,  tvb, offset, 4, ENC_BIG_ENDIAN);
     proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_set_mpls_ttl, tvb, offset, 4, ENC_BIG_ENDIAN);
     proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_dec_mpls_ttl, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_push_vlan, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_pop_vlan, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_push_mpls, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_pop_mpls, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_set_queue, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_group, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_set_nw_ttl, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_dec_nw_ttl, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_set_field, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_push_pbb, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_pop_pbb, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_push_vlan,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_pop_vlan,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_push_mpls,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_pop_mpls,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_set_queue,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_group,        tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_set_nw_ttl,   tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_dec_nw_ttl,   tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_set_field,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_push_pbb,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_indirect_pop_pbb,      tvb, offset, 4, ENC_BIG_ENDIAN);
     offset+=4;
 
     ti = proto_tree_add_item(tree, hf_openflow_v5_group_features_actions_ff, tvb, offset, 4, ENC_BIG_ENDIAN);
     acts_tree = proto_item_add_subtree(ti, ett_openflow_v5_group_features_actions_ff);
 
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_output, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_output,       tvb, offset, 4, ENC_BIG_ENDIAN);
     proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_copy_ttl_out, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_copy_ttl_in, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_copy_ttl_in,  tvb, offset, 4, ENC_BIG_ENDIAN);
     proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_set_mpls_ttl, tvb, offset, 4, ENC_BIG_ENDIAN);
     proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_dec_mpls_ttl, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_push_vlan, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_pop_vlan, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_push_mpls, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_pop_mpls, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_set_queue, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_group, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_set_nw_ttl, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_dec_nw_ttl, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_set_field, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_push_pbb, tvb, offset, 4, ENC_BIG_ENDIAN);
-    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_pop_pbb, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_push_vlan,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_pop_vlan,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_push_mpls,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_pop_mpls,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_set_queue,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_group,        tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_set_nw_ttl,   tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_dec_nw_ttl,   tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_set_field,    tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_push_pbb,     tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(acts_tree, hf_openflow_v5_group_features_actions_ff_pop_pbb,      tvb, offset, 4, ENC_BIG_ENDIAN);
     /*offset+=4;*/
 }
 
@@ -4864,7 +4865,7 @@ dissect_openflow_meter_config_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tr
     ti = proto_tree_add_item(conf_tree, hf_openflow_v5_meter_config_flags, tvb, offset, 2, ENC_BIG_ENDIAN);
     flags_tree = proto_item_add_subtree(ti, ett_openflow_v5_meter_config_flags);
 
-    proto_tree_add_item(flags_tree, hf_openflow_v5_meter_config_flags_kbps, tvb, offset, 2, ENC_BIG_ENDIAN);
+    proto_tree_add_item(flags_tree, hf_openflow_v5_meter_config_flags_kbps,  tvb, offset, 2, ENC_BIG_ENDIAN);
     proto_tree_add_item(flags_tree, hf_openflow_v5_meter_config_flags_pktps, tvb, offset, 2, ENC_BIG_ENDIAN);
     proto_tree_add_item(flags_tree, hf_openflow_v5_meter_config_flags_burst, tvb, offset, 2, ENC_BIG_ENDIAN);
     proto_tree_add_item(flags_tree, hf_openflow_v5_meter_config_flags_stats, tvb, offset, 2, ENC_BIG_ENDIAN);
@@ -4913,7 +4914,7 @@ dissect_openflow_meter_features_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_
     ti = proto_tree_add_item(tree, hf_openflow_v5_meter_features_capabilities, tvb, offset, 4, ENC_BIG_ENDIAN);
     caps_tree = proto_item_add_subtree(ti, ett_openflow_v5_meter_features_capabilities);
 
-    proto_tree_add_item(caps_tree, hf_openflow_v5_meter_features_capabilities_kbps, tvb, offset, 4, ENC_BIG_ENDIAN);
+    proto_tree_add_item(caps_tree, hf_openflow_v5_meter_features_capabilities_kbps,  tvb, offset, 4, ENC_BIG_ENDIAN);
     proto_tree_add_item(caps_tree, hf_openflow_v5_meter_features_capabilities_pktps, tvb, offset, 4, ENC_BIG_ENDIAN);
     proto_tree_add_item(caps_tree, hf_openflow_v5_meter_features_capabilities_burst, tvb, offset, 4, ENC_BIG_ENDIAN);
     proto_tree_add_item(caps_tree, hf_openflow_v5_meter_features_capabilities_stats, tvb, offset, 4, ENC_BIG_ENDIAN);
@@ -5948,7 +5949,7 @@ dissect_openflow_v5(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d
     type = tvb_get_guint8(tvb, 1);
 
     col_append_fstr(pinfo->cinfo, COL_INFO, "Type: %s",
-                  val_to_str_const(type, openflow_v5_type_values, "Unknown message type"));
+                  val_to_str_ext_const(type, &openflow_v5_type_values_ext, "Unknown message type"));
 
     ti = proto_tree_add_item(tree, proto_openflow_v5, tvb, 0, -1, ENC_NA);
     openflow_tree = proto_item_add_subtree(ti, ett_openflow_v5);
@@ -5974,7 +5975,7 @@ proto_register_openflow_v5(void)
         },
         { &hf_openflow_v5_type,
             { "Type", "openflow_v5.type",
-               FT_UINT8, BASE_DEC, VALS(openflow_v5_type_values), 0x0,
+               FT_UINT8, BASE_DEC | BASE_EXT_STRING, &openflow_v5_type_values_ext, 0x0,
                NULL, HFILL }
         },
         { &hf_openflow_v5_xid,
@@ -5999,7 +6000,7 @@ proto_register_openflow_v5(void)
         },
         { &hf_openflow_v5_oxm_field_basic,
             { "Field", "openflow_v5.oxm.field",
-               FT_UINT8, BASE_DEC, VALS(openflow_v5_oxm_basic_field_values), 0x0,
+               FT_UINT8, BASE_DEC | BASE_EXT_STRING, &openflow_v5_oxm_basic_field_values_ext, 0x0,
                NULL, HFILL }
         },
         { &hf_openflow_v5_oxm_hm,