diff options
author | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2017-05-14 17:09:14 +0200 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2017-05-14 20:13:31 +0000 |
commit | 06f4b7b973170d4885bdc27413fb62c3f20cfd46 (patch) | |
tree | 3b3ccf40c8b3c1c1144e3cd2308e9a85d1582042 /epan | |
parent | 2d90dba39d16bb4fa1ebe5b60e8ab4f43905c5cc (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')
-rw-r--r-- | epan/dissectors/packet-openflow_v6.c | 26 |
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, |