NAS 5GS: D.6.3 UE policy section management result
This commit is contained in:
parent
008536ae74
commit
9f54ae73f1
|
@ -609,8 +609,10 @@ static int hf_nas_5gs_vlan_tag_pcp = -1;
|
||||||
static int hf_nas_5gs_vlan_tag_dei = -1;
|
static int hf_nas_5gs_vlan_tag_dei = -1;
|
||||||
static int hf_nas_5gs_ethertype = -1;
|
static int hf_nas_5gs_ethertype = -1;
|
||||||
static int hf_nas_5gs_updp_ue_pol_sect_sublst_len = -1;
|
static int hf_nas_5gs_updp_ue_pol_sect_sublst_len = -1;
|
||||||
|
static int hf_nas_5gs_updp_ue_pol_sect_subresult_len = -1;
|
||||||
static int hf_nas_5gs_updp_instr_len = -1;
|
static int hf_nas_5gs_updp_instr_len = -1;
|
||||||
static int hf_nas_5gs_updp_upsc = -1;
|
static int hf_nas_5gs_updp_upsc = -1;
|
||||||
|
static int hf_nas_5gs_updp_failed_instruction_order = -1;
|
||||||
static int hf_nas_5gs_updp_policy_len = -1;
|
static int hf_nas_5gs_updp_policy_len = -1;
|
||||||
static int hf_nas_5gs_updp_ue_policy_part_type = -1;
|
static int hf_nas_5gs_updp_ue_policy_part_type = -1;
|
||||||
static int hf_nas_5gs_updp_ue_policy_part_cont = -1;
|
static int hf_nas_5gs_updp_ue_policy_part_cont = -1;
|
||||||
|
@ -7770,8 +7772,8 @@ de_nas_5gs_updp_ue_policy_section_mgm_lst(tvbuff_t* tvb, proto_tree* tree, packe
|
||||||
guint32 sub_list_len, instr_len, policy_len;
|
guint32 sub_list_len, instr_len, policy_len;
|
||||||
|
|
||||||
/* UE policy section management list contents Octet 4 - Octet z*/
|
/* UE policy section management list contents Octet 4 - Octet z*/
|
||||||
|
int i = 0;
|
||||||
while ((curr_offset - offset) < len) {
|
while ((curr_offset - offset) < len) {
|
||||||
int i = 0;
|
|
||||||
/* UE policy section management sublist (PLMN X) */
|
/* UE policy section management sublist (PLMN X) */
|
||||||
i++;
|
i++;
|
||||||
sub_tree = proto_tree_add_subtree_format(tree, tvb, curr_offset, -1, ett_nas_5gs_updp_ue_policy_section_mgm_lst, &item,
|
sub_tree = proto_tree_add_subtree_format(tree, tvb, curr_offset, -1, ett_nas_5gs_updp_ue_policy_section_mgm_lst, &item,
|
||||||
|
@ -7840,7 +7842,45 @@ de_nas_5gs_updp_ue_policy_section_mgm_res(tvbuff_t* tvb, proto_tree* tree, packe
|
||||||
guint32 offset, guint len,
|
guint32 offset, guint len,
|
||||||
gchar* add_string _U_, int string_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);
|
proto_tree *sub_tree, *sub_tree2;
|
||||||
|
proto_item* item;
|
||||||
|
guint32 curr_offset = offset;
|
||||||
|
guint32 number_of_result;
|
||||||
|
|
||||||
|
/* UE policy section management result contents Octet 4 - Octet z*/
|
||||||
|
int i = 0;
|
||||||
|
while ((curr_offset - offset) < len) {
|
||||||
|
/* UE policy section management subresult (PLMN X) */
|
||||||
|
i++;
|
||||||
|
sub_tree = proto_tree_add_subtree_format(tree, tvb, curr_offset, -1, ett_nas_5gs_updp_ue_policy_section_mgm_lst, &item,
|
||||||
|
"UE policy section management subresult (PLMN %u)", i);
|
||||||
|
/* Number of result */
|
||||||
|
proto_tree_add_item_ret_uint(sub_tree, hf_nas_5gs_updp_ue_pol_sect_subresult_len, tvb, curr_offset, 1, ENC_BIG_ENDIAN, &number_of_result);
|
||||||
|
curr_offset += 1;
|
||||||
|
/* MCC digit 2 MCC digit 1
|
||||||
|
* MNC digit 3 MCC digit 3
|
||||||
|
* MNC digit 2 MNC digit 1
|
||||||
|
*/
|
||||||
|
curr_offset = dissect_e212_mcc_mnc(tvb, pinfo, sub_tree, curr_offset, E212_NONE, TRUE);
|
||||||
|
/* UE policy section management subresult contents*/
|
||||||
|
/* Result X */
|
||||||
|
int j = 1;
|
||||||
|
while (number_of_result > 0){
|
||||||
|
sub_tree2 = proto_tree_add_subtree_format(sub_tree, tvb, curr_offset, -1, ett_nas_5gs_updp_ue_policy_section_mgm_sublst, &item,
|
||||||
|
"Result %u", j);
|
||||||
|
/* UPSC */
|
||||||
|
proto_tree_add_item(sub_tree2, hf_nas_5gs_updp_upsc, tvb, curr_offset, 2, ENC_BIG_ENDIAN);
|
||||||
|
curr_offset += 2;
|
||||||
|
/* Failed instruction order */
|
||||||
|
proto_tree_add_item(sub_tree2, hf_nas_5gs_updp_failed_instruction_order, tvb, curr_offset, 2, ENC_BIG_ENDIAN);
|
||||||
|
curr_offset += 2;
|
||||||
|
/* Cause */
|
||||||
|
proto_tree_add_item(sub_tree2, hf_nas_5gs_upds_cause, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
|
||||||
|
curr_offset += 1;
|
||||||
|
j++;
|
||||||
|
number_of_result--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
@ -11288,6 +11328,11 @@ proto_register_nas_5gs(void)
|
||||||
FT_UINT16, BASE_DEC, NULL, 0x0,
|
FT_UINT16, BASE_DEC, NULL, 0x0,
|
||||||
NULL, HFILL }
|
NULL, HFILL }
|
||||||
},
|
},
|
||||||
|
{ &hf_nas_5gs_updp_ue_pol_sect_subresult_len,
|
||||||
|
{ "Number of results", "nas_5gs.updp.ue_pol_sect_sublst_len",
|
||||||
|
FT_UINT8, BASE_DEC, NULL, 0x0,
|
||||||
|
NULL, HFILL }
|
||||||
|
},
|
||||||
{ &hf_nas_5gs_updp_instr_len,
|
{ &hf_nas_5gs_updp_instr_len,
|
||||||
{ "Length", "nas_5gs.updp.instr_len",
|
{ "Length", "nas_5gs.updp.instr_len",
|
||||||
FT_UINT16, BASE_DEC, NULL, 0x0,
|
FT_UINT16, BASE_DEC, NULL, 0x0,
|
||||||
|
@ -11298,6 +11343,11 @@ proto_register_nas_5gs(void)
|
||||||
FT_UINT16, BASE_DEC, NULL, 0x0,
|
FT_UINT16, BASE_DEC, NULL, 0x0,
|
||||||
NULL, HFILL }
|
NULL, HFILL }
|
||||||
},
|
},
|
||||||
|
{ &hf_nas_5gs_updp_failed_instruction_order,
|
||||||
|
{ "Failed instruction order", "nas_5gs.updp.failed_instruction_order",
|
||||||
|
FT_UINT16, BASE_DEC, NULL, 0x0,
|
||||||
|
NULL, HFILL }
|
||||||
|
},
|
||||||
{ &hf_nas_5gs_updp_policy_len,
|
{ &hf_nas_5gs_updp_policy_len,
|
||||||
{ "Length", "nas_5gs.updp.policy_len",
|
{ "Length", "nas_5gs.updp.policy_len",
|
||||||
FT_UINT16, BASE_DEC, NULL, 0x0,
|
FT_UINT16, BASE_DEC, NULL, 0x0,
|
||||||
|
|
Loading…
Reference in New Issue