Diameter 3GPP: Fix output of AVP 713 Requested-Nodes
Change-Id: I0ef23d37c070c262f3be6d5c90d6bef9a41c6b79 Reviewed-on: https://code.wireshark.org/review/36071 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
parent
8a6000b6dc
commit
7e73515007
|
@ -1059,12 +1059,9 @@
|
|||
<enum name="ONE_TIME_NOTIFICATION_REQUESTED" code="0"/>
|
||||
</avp>
|
||||
<avp name="Requested-Nodes" code="713" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="no">
|
||||
<type type-name="Enumerated"/>
|
||||
<enum name="MME" code="1"/>
|
||||
<enum name="SGSN" code="2"/>
|
||||
<enum name="MME,SGSN" code="3"/>
|
||||
<type type-name="Unsigned32"/>
|
||||
</avp>
|
||||
<avp name="Serving-Node-Indication" code="714" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="no">
|
||||
<avp name="Serving-Node-Indication" code="714" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="no">
|
||||
<type type-name="Enumerated"/>
|
||||
<enum name="ONLY_SERVING_NODES_REQUIRED" code="0"/>
|
||||
</avp>
|
||||
|
|
|
@ -38,18 +38,23 @@ static expert_field ei_diameter_3gpp_plmn_id_wrong_len = EI_INIT;
|
|||
/* Initialize the protocol and registered fields */
|
||||
static int proto_diameter_3gpp = -1;
|
||||
|
||||
static int hf_diameter_3gpp_timezone = -1;
|
||||
static int hf_diameter_3gpp_timezone_adjustment = -1;
|
||||
static int hf_diameter_3gpp_rat_type = -1;
|
||||
static int hf_diameter_3gpp_visited_nw_id = -1;
|
||||
static int hf_diameter_3gpp_path = -1;
|
||||
static int hf_diameter_3gpp_contact = -1;
|
||||
/* static int hf_diameter_3gpp_user_data = -1; */
|
||||
static int hf_diameter_3gpp_ipaddr = -1;
|
||||
static int hf_diameter_3gpp_mbms_required_qos_prio = -1;
|
||||
static int hf_diameter_3gpp_tmgi = -1;
|
||||
static int hf_diameter_3gpp_service_ind = -1;
|
||||
static int hf_diameter_mbms_service_id = -1;
|
||||
static int hf_diameter_3gpp_timezone = -1;
|
||||
static int hf_diameter_3gpp_timezone_adjustment = -1;
|
||||
static int hf_diameter_3gpp_rat_type = -1;
|
||||
static int hf_diameter_3gpp_visited_nw_id = -1;
|
||||
static int hf_diameter_3gpp_path = -1;
|
||||
static int hf_diameter_3gpp_contact = -1;
|
||||
/* static int hf_diameter_3gpp_user_data = -1; */
|
||||
static int hf_diameter_3gpp_ipaddr = -1;
|
||||
static int hf_diameter_3gpp_mbms_required_qos_prio = -1;
|
||||
static int hf_diameter_3gpp_tmgi = -1;
|
||||
static int hf_diameter_3gpp_service_ind = -1;
|
||||
static int hf_diameter_3gpp_req_nodes = -1;
|
||||
static int hf_diameter_3gpp_req_nodes_bit0 = -1;
|
||||
static int hf_diameter_3gpp_req_nodes_bit1 = -1;
|
||||
static int hf_diameter_3gpp_req_nodes_bit2 = -1;
|
||||
static int hf_diameter_3gpp_req_nodes_bit3 = -1;
|
||||
static int hf_diameter_mbms_service_id = -1;
|
||||
static int hf_diameter_3gpp_spare_bits = -1;
|
||||
static int hf_diameter_3gpp_uar_flags_flags = -1;
|
||||
static int hf_diameter_3gpp_uar_flags_flags_bit0 = -1;
|
||||
|
@ -498,6 +503,7 @@ static gint diameter_3gpp_mbms_bearer_result_ett = -1;
|
|||
static gint diameter_3gpp_tmgi_allocation_result_ett = -1;
|
||||
static gint diameter_3gpp_tmgi_deallocation_result_ett = -1;
|
||||
static gint diameter_3gpp_sar_flags_ett = -1;
|
||||
static gint diameter_3gpp_req_nodes_ett = -1;
|
||||
static gint diameter_3gpp_emergency_services_flags_ett = -1;
|
||||
static gint diameter_3gpp_pur_flags_ett = -1;
|
||||
static gint diameter_3gpp_clr_flags_ett = -1;
|
||||
|
@ -1284,6 +1290,35 @@ dissect_diameter_3gpp_service_ind(tvbuff_t *tvb, packet_info *pinfo _U_, proto_t
|
|||
return length;
|
||||
}
|
||||
|
||||
/*
|
||||
* AVP Code: 713 Requested-Nodes
|
||||
*/
|
||||
|
||||
static int
|
||||
dissect_diameter_3gpp_req_nodes(tvbuff_t* tvb, packet_info* pinfo _U_, proto_tree* tree, void* data)
|
||||
{
|
||||
|
||||
static const int* diameter_3gpp_req_nodes_fields[] = {
|
||||
&hf_diameter_3gpp_req_nodes_bit3,
|
||||
&hf_diameter_3gpp_req_nodes_bit2,
|
||||
&hf_diameter_3gpp_req_nodes_bit1,
|
||||
&hf_diameter_3gpp_req_nodes_bit0,
|
||||
NULL
|
||||
};
|
||||
|
||||
diam_sub_dis_t* diam_sub_dis_inf = (diam_sub_dis_t*)data;
|
||||
|
||||
/* Hide the item created in packet-diameter.c and only show the one created here */
|
||||
proto_item_set_hidden(diam_sub_dis_inf->item);
|
||||
|
||||
/* Change to BMT_NO_FALSE if the list gets to long(?)*/
|
||||
proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_req_nodes,
|
||||
diameter_3gpp_req_nodes_ett, diameter_3gpp_req_nodes_fields, ENC_BIG_ENDIAN, BMT_NO_FALSE);
|
||||
|
||||
return 4;
|
||||
}
|
||||
|
||||
|
||||
/* AVP Code: 900 TMGI */
|
||||
static int
|
||||
dissect_diameter_3gpp_tmgi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
||||
|
@ -2950,6 +2985,9 @@ proto_reg_handoff_diameter_3gpp(void)
|
|||
/* AVP Code: 704 Service-Indication */
|
||||
dissector_add_uint("diameter.3gpp", 704, create_dissector_handle(dissect_diameter_3gpp_service_ind, proto_diameter_3gpp));
|
||||
|
||||
/* AVP Code: 713 Requested-Nodes */
|
||||
dissector_add_uint("diameter.3gpp", 713, create_dissector_handle(dissect_diameter_3gpp_req_nodes, proto_diameter_3gpp));
|
||||
|
||||
/* AVP Code: 900 TMGI */
|
||||
dissector_add_uint("diameter.3gpp", 900, create_dissector_handle(dissect_diameter_3gpp_tmgi, proto_diameter_3gpp));
|
||||
|
||||
|
@ -3339,6 +3377,31 @@ proto_register_diameter_3gpp(void)
|
|||
FT_STRING, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_diameter_3gpp_req_nodes,
|
||||
{ "Requested-Nodes", "diameter.3gpp.req_nodes",
|
||||
FT_UINT32, BASE_HEX, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_diameter_3gpp_req_nodes_bit0,
|
||||
{ "MME", "diameter.3gpp.req_nodes_bit0",
|
||||
FT_BOOLEAN, 32, NULL, 0x00000001,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_diameter_3gpp_req_nodes_bit1,
|
||||
{ "SGSN", "diameter.3gpp.req_nodes_bit1",
|
||||
FT_BOOLEAN, 32, NULL, 0x00000002,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_diameter_3gpp_req_nodes_bit2,
|
||||
{ "3GPP-AAA-SERVER-TWAN", "diameter.3gpp.req_nodes_bit2",
|
||||
FT_BOOLEAN, 32, NULL, 0x00000004,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_diameter_3gpp_req_nodes_bit3,
|
||||
{ "AMF", "diameter.3gpp.req_nodes_bit3",
|
||||
FT_BOOLEAN, 32, NULL, 0x00000008,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_diameter_mbms_service_id,
|
||||
{ "MBMS Service ID", "diameter.3gpp.mbms_service_id",
|
||||
FT_UINT24, BASE_HEX, NULL, 0x0,
|
||||
|
@ -5676,6 +5739,7 @@ proto_register_diameter_3gpp(void)
|
|||
&diameter_3gpp_tmgi_allocation_result_ett,
|
||||
&diameter_3gpp_tmgi_deallocation_result_ett,
|
||||
&diameter_3gpp_sar_flags_ett,
|
||||
&diameter_3gpp_req_nodes_ett,
|
||||
&diameter_3gpp_emergency_services_flags_ett,
|
||||
&diameter_3gpp_pur_flags_ett,
|
||||
&diameter_3gpp_clr_flags_ett,
|
||||
|
|
Loading…
Reference in New Issue