aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-openflow_v6.c
diff options
context:
space:
mode:
authorAlexis La Goutte <alexis.lagoutte@gmail.com>2017-05-14 17:09:14 +0200
committerAnders Broman <a.broman58@gmail.com>2017-05-14 20:13:31 +0000
commit06f4b7b973170d4885bdc27413fb62c3f20cfd46 (patch)
tree3b3ccf40c8b3c1c1144e3cd2308e9a85d1582042 /epan/dissectors/packet-openflow_v6.c
parent2d90dba39d16bb4fa1ebe5b60e8ab4f43905c5cc (diff)
Openflow(v6): Add OFPGC_INSERT_BUCKET/OFPGC_DELETE_BUCKET
and add new field on groupmod with Bucket Ping-Bug: 13702 Change-Id: If5893d49d6cd7a8ab6b46f1fcfce4fbff4153d1f Reviewed-on: https://code.wireshark.org/review/21646 Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-openflow_v6.c')
-rw-r--r--epan/dissectors/packet-openflow_v6.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/epan/dissectors/packet-openflow_v6.c b/epan/dissectors/packet-openflow_v6.c
index bf387eb43c..564886f930 100644
--- a/epan/dissectors/packet-openflow_v6.c
+++ b/epan/dissectors/packet-openflow_v6.c
@@ -333,6 +333,8 @@ static int hf_openflow_v6_groupmod_type = -1;
static int hf_openflow_v6_groupmod_pad = -1;
static int hf_openflow_v6_groupmod_group_id = -1;
static int hf_openflow_v6_groupmod_group_id_reserved = -1;
+static int hf_openflow_v6_groupmod_bucket_array_len = -1;
+static int hf_openflow_v6_groupmod_command_bucket_id = -1;
static int hf_openflow_v6_portmod_prop_type = -1;
static int hf_openflow_v6_portmod_prop_length = -1;
static int hf_openflow_v6_portmod_prop_ethernet_advertise = -1;
@@ -3195,6 +3197,8 @@ static const value_string openflow_v6_groupmod_command_values[] = {
{ 0, "OFPGC_ADD" },
{ 1, "OFPGC_MODIFY" },
{ 2, "OFPGC_DELETE" },
+ { 3, "OFPGC_INSERT_BUCKET" },
+ { 5, "OFPGC_DELETE_BUCKET" },
{ 0, NULL }
};
@@ -3233,6 +3237,18 @@ dissect_openflow_groupmod_v6(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *
}
offset+=4;
+ /* uint16_t bucket_array_len; */
+ proto_tree_add_item(tree, hf_openflow_v6_groupmod_bucket_array_len, tvb, offset, 2, ENC_NA);
+ offset+=2;
+
+ /* uint8_t pad2[2]; */
+ proto_tree_add_item(tree, hf_openflow_v6_groupmod_pad, tvb, offset, 2, ENC_NA);
+ offset+=2;
+
+ /* uint32_t command_bucket_id; */
+ proto_tree_add_item(tree, hf_openflow_v6_groupmod_command_bucket_id, tvb, offset, 4, ENC_NA);
+ offset+=4;
+
/* struct ofp_bucket buckets[0]; */
while (offset < length) {
offset = dissect_openflow_bucket_v6(tvb, pinfo, tree, offset, length);
@@ -7564,6 +7580,16 @@ proto_register_openflow_v6(void)
FT_UINT32, BASE_HEX, VALS(openflow_v6_group_reserved_values), 0x0,
NULL, HFILL }
},
+ { &hf_openflow_v6_groupmod_bucket_array_len,
+ { "Bucket Array Len", "openflow_v6.groupmod.bucket_array_len",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_openflow_v6_groupmod_command_bucket_id,
+ { "Command Bucket id", "openflow_v6.groupmod.command_bucket_id",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
{ &hf_openflow_v6_portmod_prop_type,
{ "Type", "openflow_v6.portmod.prop.type",
FT_UINT16, BASE_DEC, VALS(openflow_v6_portmod_prop_type_values), 0x0,