aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-diameter_3gpp.c
diff options
context:
space:
mode:
authorAndersBroman <anders.broman@ericsson.com>2017-10-09 12:52:13 +0200
committerAnders Broman <a.broman58@gmail.com>2017-10-09 11:46:10 +0000
commit3bfb9aabe0e525ad76251190289c1ea3417fb1aa (patch)
treeed29e3e394090d3751796b445968068c8c58bf9a /epan/dissectors/packet-diameter_3gpp.c
parentd8d60b4980882e37b73df3bfead8c2b09daba091 (diff)
[Diameter 3GPP] Fix bitmask in feature list B26 and add B27.
Change-Id: I0f035da3f5305ce6935c79e0c1b5f63f955d099d Reviewed-on: https://code.wireshark.org/review/23865 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-diameter_3gpp.c')
-rw-r--r--epan/dissectors/packet-diameter_3gpp.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/epan/dissectors/packet-diameter_3gpp.c b/epan/dissectors/packet-diameter_3gpp.c
index 8aa9434300..bb7f86b94a 100644
--- a/epan/dissectors/packet-diameter_3gpp.c
+++ b/epan/dissectors/packet-diameter_3gpp.c
@@ -136,6 +136,7 @@ static int hf_diameter_3gpp_feature_list2_s6a_flags_bit23 = -1;
static int hf_diameter_3gpp_feature_list2_s6a_flags_bit24 = -1;
static int hf_diameter_3gpp_feature_list2_s6a_flags_bit25 = -1;
static int hf_diameter_3gpp_feature_list2_s6a_flags_bit26 = -1;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit27 = -1;
static int hf_diameter_3gpp_feature_list_gx_flags = -1;
static int hf_diameter_3gpp_feature_list_gx_flags_bit0 = -1;
static int hf_diameter_3gpp_feature_list_gx_flags_bit1 = -1;
@@ -966,8 +967,10 @@ dissect_diameter_3gpp_feature_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_
proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_diameter_3gpp_feature_list_flags, diameter_3gpp_feature_list_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
}
else if (feature_list_id == 2) {
+ /* 3GPP TS 29.272 Table 7.3.10/2: Features of Feature-List-ID 2 used in S6a/S6d */
const int *flags[] = {
&hf_diameter_3gpp_feature_list2_s6a_flags_spare_bits,
+ &hf_diameter_3gpp_feature_list2_s6a_flags_bit27,
&hf_diameter_3gpp_feature_list2_s6a_flags_bit26,
&hf_diameter_3gpp_feature_list2_s6a_flags_bit25,
&hf_diameter_3gpp_feature_list2_s6a_flags_bit24,
@@ -3140,12 +3143,17 @@ proto_register_diameter_3gpp(void)
},
{ &hf_diameter_3gpp_feature_list2_s6a_flags_bit26,
{ "External-Identifier", "diameter.3gpp.feature_list2_s6a_flags_bit26",
- FT_BOOLEAN, 32, TFS(&tfs_supported_not_supported), 0x040000000,
+ FT_BOOLEAN, 32, TFS(&tfs_supported_not_supported), 0x04000000,
+ NULL, HFILL }
+ },
+ { &hf_diameter_3gpp_feature_list2_s6a_flags_bit27,
+ { "NR as Secondary RAT", "diameter.3gpp.feature_list2_s6a_flags_bit27",
+ FT_BOOLEAN, 32, TFS(&tfs_supported_not_supported), 0x08000000,
NULL, HFILL }
},
{ &hf_diameter_3gpp_feature_list2_s6a_flags_spare_bits,
- { "Spare", "diameter.3gpp.feature_list2_s6a_flags_spare",
- FT_UINT32, BASE_HEX, NULL, 0xF8000000,
+ { "Spare", "diameter.3gpp.feature_list2_s6a_flags_spare",
+ FT_UINT32, BASE_HEX, NULL, 0xF0000000,
NULL, HFILL }
},
{ &hf_diameter_3gpp_feature_list_gx_flags,