diff options
author | Ray Gomez <rayvincent.gomez@gmail.com> | 2015-05-05 00:24:30 +0800 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2015-05-04 19:39:15 +0000 |
commit | c14022e9093790b6ba2e53ba2ad4e67654e004dc (patch) | |
tree | a4e7450add9532d655af78c71022c6330e36da5d /epan/dissectors/packet-diameter_3gpp.c | |
parent | 222597b1f4c38213f46f2ba922cd70655aceb5d3 (diff) |
added features in Feature-List-ID 2 used in S6a/S6d
Change-Id: I4e1be924ffa7cb09c4c73d494f5d97c9cc0bf626
Reviewed-on: https://code.wireshark.org/review/8291
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-diameter_3gpp.c')
-rw-r--r-- | epan/dissectors/packet-diameter_3gpp.c | 132 |
1 files changed, 130 insertions, 2 deletions
diff --git a/epan/dissectors/packet-diameter_3gpp.c b/epan/dissectors/packet-diameter_3gpp.c index 726942559a..ddc19b9649 100644 --- a/epan/dissectors/packet-diameter_3gpp.c +++ b/epan/dissectors/packet-diameter_3gpp.c @@ -95,6 +95,22 @@ static int hf_diameter_3gpp_feature_list1_s6a_flags_bit30 = -1; static int hf_diameter_3gpp_feature_list1_s6a_flags_bit31 = -1; static int hf_diameter_3gpp_feature_list2_s6a_flags_bit0 = -1; static int hf_diameter_3gpp_feature_list2_s6a_flags_bit1 = -1; +static int hf_diameter_3gpp_feature_list2_s6a_flags_bit2 = -1; +static int hf_diameter_3gpp_feature_list2_s6a_flags_bit3 = -1; +static int hf_diameter_3gpp_feature_list2_s6a_flags_bit4 = -1; +static int hf_diameter_3gpp_feature_list2_s6a_flags_bit5 = -1; +static int hf_diameter_3gpp_feature_list2_s6a_flags_bit6 = -1; +static int hf_diameter_3gpp_feature_list2_s6a_flags_bit7 = -1; +static int hf_diameter_3gpp_feature_list2_s6a_flags_bit8 = -1; +static int hf_diameter_3gpp_feature_list2_s6a_flags_bit9 = -1; +static int hf_diameter_3gpp_feature_list2_s6a_flags_bit10 = -1; +static int hf_diameter_3gpp_feature_list2_s6a_flags_bit11 = -1; +static int hf_diameter_3gpp_feature_list2_s6a_flags_bit12 = -1; +static int hf_diameter_3gpp_feature_list2_s6a_flags_bit13 = -1; +static int hf_diameter_3gpp_feature_list2_s6a_flags_bit14 = -1; +static int hf_diameter_3gpp_feature_list2_s6a_flags_bit15 = -1; +static int hf_diameter_3gpp_feature_list2_s6a_flags_bit16 = -1; +static int hf_diameter_3gpp_feature_list2_s6a_flags_bit17 = -1; static int hf_diameter_3gpp_feature_list_gx_flags_bit0 = -1; static int hf_diameter_3gpp_feature_list_gx_flags_bit1 = -1; static int hf_diameter_3gpp_feature_list_gx_flags_bit2 = -1; @@ -542,8 +558,40 @@ dissect_diameter_3gpp_feature_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_ bit_offset++; proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_feature_list1_s6a_flags_bit0, tvb, bit_offset, 1, ENC_BIG_ENDIAN); } else if(feature_list_id == 2) { - proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_spare_bits, tvb, bit_offset, 30, ENC_BIG_ENDIAN); - bit_offset+=30; + proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_spare_bits, tvb, bit_offset, 14, ENC_BIG_ENDIAN); + bit_offset+=14; + proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_feature_list2_s6a_flags_bit17, tvb, bit_offset, 1, ENC_BIG_ENDIAN); + bit_offset++; + proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_feature_list2_s6a_flags_bit16, tvb, bit_offset, 1, ENC_BIG_ENDIAN); + bit_offset++; + proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_feature_list2_s6a_flags_bit15, tvb, bit_offset, 1, ENC_BIG_ENDIAN); + bit_offset++; + proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_feature_list2_s6a_flags_bit14, tvb, bit_offset, 1, ENC_BIG_ENDIAN); + bit_offset++; + proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_feature_list2_s6a_flags_bit13, tvb, bit_offset, 1, ENC_BIG_ENDIAN); + bit_offset++; + proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_feature_list2_s6a_flags_bit12, tvb, bit_offset, 1, ENC_BIG_ENDIAN); + bit_offset++; + proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_feature_list2_s6a_flags_bit11, tvb, bit_offset, 1, ENC_BIG_ENDIAN); + bit_offset++; + proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_feature_list2_s6a_flags_bit10, tvb, bit_offset, 1, ENC_BIG_ENDIAN); + bit_offset++; + proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_feature_list2_s6a_flags_bit9, tvb, bit_offset, 1, ENC_BIG_ENDIAN); + bit_offset++; + proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_feature_list2_s6a_flags_bit8, tvb, bit_offset, 1, ENC_BIG_ENDIAN); + bit_offset++; + proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_feature_list2_s6a_flags_bit7, tvb, bit_offset, 1, ENC_BIG_ENDIAN); + bit_offset++; + proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_feature_list2_s6a_flags_bit6, tvb, bit_offset, 1, ENC_BIG_ENDIAN); + bit_offset++; + proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_feature_list2_s6a_flags_bit5, tvb, bit_offset, 1, ENC_BIG_ENDIAN); + bit_offset++; + proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_feature_list2_s6a_flags_bit4, tvb, bit_offset, 1, ENC_BIG_ENDIAN); + bit_offset++; + proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_feature_list2_s6a_flags_bit3, tvb, bit_offset, 1, ENC_BIG_ENDIAN); + bit_offset++; + proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_feature_list2_s6a_flags_bit2, tvb, bit_offset, 1, ENC_BIG_ENDIAN); + bit_offset++; proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_feature_list2_s6a_flags_bit1, tvb, bit_offset, 1, ENC_BIG_ENDIAN); bit_offset++; proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_feature_list2_s6a_flags_bit0, tvb, bit_offset, 1, ENC_BIG_ENDIAN); @@ -1558,6 +1606,86 @@ proto_register_diameter_3gpp(void) FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0x0, NULL, HFILL } }, + { &hf_diameter_3gpp_feature_list2_s6a_flags_bit2, + { "Dia-LCS-all-PrivExcep", "diameter.3gpp.feature_list2_s6a_flags_bit2", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0x0, + NULL, HFILL } + }, + { &hf_diameter_3gpp_feature_list2_s6a_flags_bit3, + { "Dia-LCS-Universal", "diameter.3gpp.feature_list2_s6a_flags_bit3", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0x0, + NULL, HFILL } + }, + { &hf_diameter_3gpp_feature_list2_s6a_flags_bit4, + { "Dia-LCS-CallSessionRelated", "diameter.3gpp.feature_list2_s6a_flags_bit4", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0x0, + NULL, HFILL } + }, + { &hf_diameter_3gpp_feature_list2_s6a_flags_bit5, + { "Dia-LCS-CallSessionUnrelated", "diameter.3gpp.feature_list2_s6a_flags_bit5", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0x0, + NULL, HFILL } + }, + { &hf_diameter_3gpp_feature_list2_s6a_flags_bit6, + { "Dia-LCS-PLMNOperator", "diameter.3gpp.feature_list2_s6a_flags_bit6", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0x0, + NULL, HFILL } + }, + { &hf_diameter_3gpp_feature_list2_s6a_flags_bit7, + { "Dia-LCS-ServiceType", "diameter.3gpp.feature_list2_s6a_flags_bit7", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0x0, + NULL, HFILL } + }, + { &hf_diameter_3gpp_feature_list2_s6a_flags_bit8, + { "Dia-LCS-all-MOLR-SS", "diameter.3gpp.feature_list2_s6a_flags_bit8", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0x0, + NULL, HFILL } + }, + { &hf_diameter_3gpp_feature_list2_s6a_flags_bit9, + { "Dia-LCS-BasicSelfLocation", "diameter.3gpp.feature_list2_s6a_flags_bit9", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0x0, + NULL, HFILL } + }, + { &hf_diameter_3gpp_feature_list2_s6a_flags_bit10, + { "Dia-LCS-AutonomousSelfLocation", "diameter.3gpp.feature_list2_s6a_flags_bit10", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0x0, + NULL, HFILL } + }, + { &hf_diameter_3gpp_feature_list2_s6a_flags_bit11, + { "Dia-LCS-TransferToThirdParty", "diameter.3gpp.feature_list2_s6a_flags_bit11", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0x0, + NULL, HFILL } + }, + { &hf_diameter_3gpp_feature_list2_s6a_flags_bit12, + { "Gdd-in-SGSN", "diameter.3gpp.feature_list2_s6a_flags_bit12", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0x0, + NULL, HFILL } + }, + { &hf_diameter_3gpp_feature_list2_s6a_flags_bit13, + { "Optimized-LCS-Proc-Support", "diameter.3gpp.feature_list2_s6a_flags_bit13", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0x0, + NULL, HFILL } + }, + { &hf_diameter_3gpp_feature_list2_s6a_flags_bit14, + { "SGSN CAMEL Capability", "diameter.3gpp.feature_list2_s6a_flags_bit14", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0x0, + NULL, HFILL } + }, + { &hf_diameter_3gpp_feature_list2_s6a_flags_bit15, + { "ProSe Capability", "diameter.3gpp.feature_list2_s6a_flags_bit15", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0x0, + NULL, HFILL } + }, + { &hf_diameter_3gpp_feature_list2_s6a_flags_bit16, + { "P-CSCF Restoration", "diameter.3gpp.feature_list2_s6a_flags_bit16", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0x0, + NULL, HFILL } + }, + { &hf_diameter_3gpp_feature_list2_s6a_flags_bit17, + { "Reset-IDs", "diameter.3gpp.feature_list2_s6a_flags_bit17", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0x0, + NULL, HFILL } + }, { &hf_diameter_3gpp_feature_list_gx_flags_bit0, { "Rel-8 Gx", "diameter.3gpp.feature_list_gx_flags_bit0", FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0x0, |