aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-nas_5gs.c
diff options
context:
space:
mode:
authorPascal Quantin <pascal@wireshark.org>2019-08-30 08:46:28 +0200
committerAnders Broman <a.broman58@gmail.com>2019-08-30 07:05:26 +0000
commiteda16ed6250cb28f002c88272dbb69d6f1b42d17 (patch)
treef5c1c8d03e6af970da15bd35dd08a666d606debc /epan/dissectors/packet-nas_5gs.c
parent2be248658baa466d453a3f2901f9a66baa3b2383 (diff)
NAS 5GS: add dissection of Maximum number of supported packet filters IE
Change-Id: I771cb6d2542a5069641fd5c57836e776802da199 Reviewed-on: https://code.wireshark.org/review/34401 Reviewed-by: Pascal Quantin <pascal@wireshark.org> Petri-Dish: Pascal Quantin <pascal@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-nas_5gs.c')
-rw-r--r--epan/dissectors/packet-nas_5gs.c27
1 files changed, 23 insertions, 4 deletions
diff --git a/epan/dissectors/packet-nas_5gs.c b/epan/dissectors/packet-nas_5gs.c
index 2878b5a45c..619ecf523f 100644
--- a/epan/dissectors/packet-nas_5gs.c
+++ b/epan/dissectors/packet-nas_5gs.c
@@ -324,6 +324,9 @@ static int hf_nas_5gs_mm_tal_t_li = -1;
static int hf_nas_5gs_mm_tal_num_e = -1;
static int hf_nas_5gs_sm_mapd_eps_b_cont_eps_param_cont = -1;
+static int hf_nas_5gs_sm_max_nb_sup_pkt_flt_nb = -1;
+static int hf_nas_5gs_sm_max_nb_sup_pkt_flt_spare = -1;
+
static int hf_nas_5gs_kacf = -1;
static int hf_nas_5gs_ncc = -1;
@@ -2699,13 +2702,19 @@ de_nas_5gs_sm_mapped_eps_b_cont(tvbuff_t *tvb, proto_tree *tree, packet_info *pi
* 9.11.4.9 Maximum number of supported packet filters
*/
static guint16
-de_nas_5gs_sm_max_num_sup_pkt_flt(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo,
- guint32 offset, guint len,
+de_nas_5gs_sm_max_num_sup_pkt_flt(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_,
+ guint32 offset, guint len _U_,
gchar *add_string _U_, int string_len _U_)
{
- proto_tree_add_expert(tree, pinfo, &ei_nas_5gs_ie_not_dis, tvb, offset, len);
+ static const int * flags[] = {
+ &hf_nas_5gs_sm_max_nb_sup_pkt_flt_nb,
+ &hf_nas_5gs_sm_max_nb_sup_pkt_flt_spare,
+ NULL
+ };
- return len;
+ proto_tree_add_bitmask_list(tree, tvb, offset, 2, flags, ENC_BIG_ENDIAN);
+
+ return 2;
}
/*
@@ -7547,6 +7556,16 @@ proto_register_nas_5gs(void)
FT_BYTES, BASE_NONE, NULL, 0x0,
NULL, HFILL }
},
+ { &hf_nas_5gs_sm_max_nb_sup_pkt_flt_nb,
+ { "Maximum number of supported packet filters", "nas_5gs.sm.max_nb_sup_pkt_flt.nb",
+ FT_UINT16, BASE_DEC, NULL, 0xffe0,
+ NULL, HFILL }
+ },
+ { &hf_nas_5gs_sm_max_nb_sup_pkt_flt_spare,
+ { "Spare", "nas_5gs.sm.max_nb_sup_pkt_flt.spare",
+ FT_UINT16, BASE_HEX, NULL, 0x001f,
+ NULL, HFILL }
+ },
{ &hf_nas_5gs_kacf,
{ "K_AMF change flag", "nas_5gs.kacf",
FT_BOOLEAN, 8, TFS(&nas_5gs_kacf_tfs), 0x10,