|
|
6415a4 |
--- trunk-1.10/epan/dissectors/packet-bssgp.c 2013/12/06 04:33:58 53802
|
|
|
6415a4 |
+++ trunk-1.10/epan/dissectors/packet-bssgp.c 2013/12/06 07:14:45 53803
|
|
|
6415a4 |
@@ -79,7 +79,6 @@
|
|
|
6415a4 |
static int bssgp_decode_nri = 0;
|
|
|
6415a4 |
static guint bssgp_nri_length = 4;
|
|
|
6415a4 |
|
|
|
6415a4 |
-static packet_info *gpinfo;
|
|
|
6415a4 |
static guint8 g_pdu_type, g_rim_application_identity;
|
|
|
6415a4 |
static proto_tree *gparent_tree;
|
|
|
6415a4 |
static dissector_handle_t llc_handle;
|
|
|
6415a4 |
@@ -898,7 +897,7 @@
|
|
|
6415a4 |
*/
|
|
|
6415a4 |
|
|
|
6415a4 |
static guint16
|
|
|
6415a4 |
-de_bssgp_llc_pdu(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_)
|
|
|
6415a4 |
+de_bssgp_llc_pdu(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_)
|
|
|
6415a4 |
{
|
|
|
6415a4 |
tvbuff_t *next_tvb=NULL;
|
|
|
6415a4 |
guint32 curr_offset;
|
|
|
6415a4 |
@@ -912,10 +911,10 @@
|
|
|
6415a4 |
|
|
|
6415a4 |
if(next_tvb){
|
|
|
6415a4 |
if (llc_handle) {
|
|
|
6415a4 |
- call_dissector(llc_handle, next_tvb, gpinfo, gparent_tree);
|
|
|
6415a4 |
+ call_dissector(llc_handle, next_tvb, pinfo, gparent_tree);
|
|
|
6415a4 |
}
|
|
|
6415a4 |
else if (data_handle) {
|
|
|
6415a4 |
- call_dissector(data_handle, next_tvb, gpinfo, gparent_tree);
|
|
|
6415a4 |
+ call_dissector(data_handle, next_tvb, pinfo, gparent_tree);
|
|
|
6415a4 |
}
|
|
|
6415a4 |
}
|
|
|
6415a4 |
|
|
|
6415a4 |
@@ -1100,7 +1099,7 @@
|
|
|
6415a4 |
};
|
|
|
6415a4 |
|
|
|
6415a4 |
static guint16
|
|
|
6415a4 |
-de_bssgp_qos_profile(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
|
|
|
6415a4 |
+de_bssgp_qos_profile(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
|
|
|
6415a4 |
{
|
|
|
6415a4 |
proto_item *pi, *pre_item;
|
|
|
6415a4 |
guint32 curr_offset;
|
|
|
6415a4 |
@@ -1113,7 +1112,7 @@
|
|
|
6415a4 |
/* octet 3-4 Peak bit rate provided by the network (note)
|
|
|
6415a4 |
* NOTE: The bit rate 0 (zero) shall mean "best effort" in this IE.
|
|
|
6415a4 |
*/
|
|
|
6415a4 |
- link_dir = gpinfo->link_dir;
|
|
|
6415a4 |
+ link_dir = pinfo->link_dir;
|
|
|
6415a4 |
|
|
|
6415a4 |
peak_bit_rate = tvb_get_ntohs(tvb, curr_offset);
|
|
|
6415a4 |
pi = proto_tree_add_text(tree, tvb, curr_offset, 1, "Peak bit rate: ");
|
|
|
6415a4 |
@@ -1515,7 +1514,7 @@
|
|
|
6415a4 |
* 11.3.48 NSEI (Network Service Entity Identifier)
|
|
|
6415a4 |
*/
|
|
|
6415a4 |
static guint16
|
|
|
6415a4 |
-de_bssgp_nsei(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
|
|
|
6415a4 |
+de_bssgp_nsei(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
|
|
|
6415a4 |
{
|
|
|
6415a4 |
guint32 curr_offset;
|
|
|
6415a4 |
guint16 nsei;
|
|
|
6415a4 |
@@ -1526,7 +1525,7 @@
|
|
|
6415a4 |
proto_tree_add_item(tree, hf_bssgp_nsei, tvb, curr_offset, 2, ENC_BIG_ENDIAN);
|
|
|
6415a4 |
curr_offset+=2;
|
|
|
6415a4 |
|
|
|
6415a4 |
- col_append_sep_fstr(gpinfo->cinfo, COL_INFO, BSSGP_SEP, "NSEI %u", nsei);
|
|
|
6415a4 |
+ col_append_sep_fstr(pinfo->cinfo, COL_INFO, BSSGP_SEP, "NSEI %u", nsei);
|
|
|
6415a4 |
|
|
|
6415a4 |
|
|
|
6415a4 |
return(curr_offset-offset);
|
|
|
6415a4 |
@@ -1535,7 +1534,7 @@
|
|
|
6415a4 |
* 11.3.49 RRLP APDU
|
|
|
6415a4 |
*/
|
|
|
6415a4 |
static guint16
|
|
|
6415a4 |
-de_bssgp_rrlp_apdu(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
|
|
|
6415a4 |
+de_bssgp_rrlp_apdu(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
|
|
|
6415a4 |
{
|
|
|
6415a4 |
tvbuff_t *next_tvb=NULL;
|
|
|
6415a4 |
guint32 curr_offset;
|
|
|
6415a4 |
@@ -1555,9 +1554,9 @@
|
|
|
6415a4 |
|
|
|
6415a4 |
if(next_tvb){
|
|
|
6415a4 |
if (rrlp_handle) {
|
|
|
6415a4 |
- call_dissector(rrlp_handle, next_tvb, gpinfo, gparent_tree);
|
|
|
6415a4 |
+ call_dissector(rrlp_handle, next_tvb, pinfo, gparent_tree);
|
|
|
6415a4 |
}else if (data_handle) {
|
|
|
6415a4 |
- call_dissector(data_handle, next_tvb, gpinfo, gparent_tree);
|
|
|
6415a4 |
+ call_dissector(data_handle, next_tvb, pinfo, gparent_tree);
|
|
|
6415a4 |
}
|
|
|
6415a4 |
}
|
|
|
6415a4 |
return(len);
|
|
|
6415a4 |
@@ -1748,7 +1747,7 @@
|
|
|
6415a4 |
{
|
|
|
6415a4 |
asn1_ctx_t asn1_ctx;
|
|
|
6415a4 |
|
|
|
6415a4 |
- asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, gpinfo);
|
|
|
6415a4 |
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
|
6415a4 |
/* 11.3.63.1.4 RAN-INFORMATION-REQUEST Application Container for the SON Transfer Application */
|
|
|
6415a4 |
/* Reporting Cell Identifier */
|
|
|
6415a4 |
/* convert to bit offset */
|
|
|
6415a4 |
@@ -1765,7 +1764,7 @@
|
|
|
6415a4 |
* 3GPP TS 25.413
|
|
|
6415a4 |
*/
|
|
|
6415a4 |
new_tvb = tvb_new_subset_remaining(tvb, curr_offset);
|
|
|
6415a4 |
- curr_offset = curr_offset + dissect_ranap_SourceCellID_PDU(new_tvb, gpinfo, tree, NULL);
|
|
|
6415a4 |
+ curr_offset = curr_offset + dissect_ranap_SourceCellID_PDU(new_tvb, pinfo, tree, NULL);
|
|
|
6415a4 |
break;
|
|
|
6415a4 |
default :
|
|
|
6415a4 |
proto_tree_add_text(tree, tvb, curr_offset, len, "Unknown RIM Application Identity");
|
|
|
6415a4 |
@@ -1847,7 +1846,7 @@
|
|
|
6415a4 |
if (msg_fcn_p == NULL){
|
|
|
6415a4 |
proto_tree_add_text(si_tree, tvb, curr_offset, 21, "Unknown SI message");
|
|
|
6415a4 |
}else{
|
|
|
6415a4 |
- (*msg_fcn_p)(tvb, si_tree, gpinfo, curr_offset+1, 20);
|
|
|
6415a4 |
+ (*msg_fcn_p)(tvb, si_tree, pinfo, curr_offset+1, 20);
|
|
|
6415a4 |
}
|
|
|
6415a4 |
curr_offset+=21;
|
|
|
6415a4 |
}
|
|
|
6415a4 |
@@ -1895,14 +1894,14 @@
|
|
|
6415a4 |
* Source Cell ID) as defined in 3GPP TS 25.413
|
|
|
6415a4 |
*/
|
|
|
6415a4 |
new_tvb = tvb_new_subset_remaining(tvb, curr_offset);
|
|
|
6415a4 |
- curr_offset = curr_offset + dissect_ranap_SourceCellID_PDU(new_tvb, gpinfo, tree, NULL);
|
|
|
6415a4 |
+ curr_offset = curr_offset + dissect_ranap_SourceCellID_PDU(new_tvb, pinfo, tree, NULL);
|
|
|
6415a4 |
break;
|
|
|
6415a4 |
case 2:
|
|
|
6415a4 |
/* If the RAT discriminator field indicates E-UTRAN, this field is encoded as the E-UTRAN CGI IE as
|
|
|
6415a4 |
* defined in 3GPP TS 36.413
|
|
|
6415a4 |
*/
|
|
|
6415a4 |
new_tvb = tvb_new_subset_remaining(tvb, curr_offset);
|
|
|
6415a4 |
- curr_offset = curr_offset + dissect_s1ap_Global_ENB_ID_PDU(new_tvb, gpinfo, tree, NULL);
|
|
|
6415a4 |
+ curr_offset = curr_offset + dissect_s1ap_Global_ENB_ID_PDU(new_tvb, pinfo, tree, NULL);
|
|
|
6415a4 |
break;
|
|
|
6415a4 |
default:
|
|
|
6415a4 |
break;
|
|
|
6415a4 |
@@ -1916,7 +1915,7 @@
|
|
|
6415a4 |
* (UTRAN Source Cell ID) as defined in 3GPP TS 25.413
|
|
|
6415a4 |
*/
|
|
|
6415a4 |
new_tvb = tvb_new_subset_remaining(tvb, curr_offset);
|
|
|
6415a4 |
- curr_offset = curr_offset + dissect_ranap_SourceCellID_PDU(new_tvb, gpinfo, tree, NULL);
|
|
|
6415a4 |
+ curr_offset = curr_offset + dissect_ranap_SourceCellID_PDU(new_tvb, pinfo, tree, NULL);
|
|
|
6415a4 |
/* Octet (m+1)-n UTRA SI Container
|
|
|
6415a4 |
* UTRA SI Container: This field contains System Information Container valid for the reporting cell
|
|
|
6415a4 |
* encoded as defined in TS 25.331
|
|
|
6415a4 |
@@ -1972,7 +1971,7 @@
|
|
|
6415a4 |
};
|
|
|
6415a4 |
|
|
|
6415a4 |
static guint16
|
|
|
6415a4 |
-de_bssgp_ran_app_error_cont(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
|
|
|
6415a4 |
+de_bssgp_ran_app_error_cont(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
|
|
|
6415a4 |
{
|
|
|
6415a4 |
tvbuff_t *new_tvb = NULL;
|
|
|
6415a4 |
guint32 curr_offset;
|
|
|
6415a4 |
@@ -2018,7 +2017,7 @@
|
|
|
6415a4 |
* The "SON Transfer Cause" field is encoded as the SON Transfer Cause IE as defined in 3GPP TS 36.413
|
|
|
6415a4 |
*/
|
|
|
6415a4 |
new_tvb = tvb_new_subset_remaining(tvb, curr_offset);
|
|
|
6415a4 |
- curr_offset = curr_offset + dissect_s1ap_SONtransferCause_PDU(new_tvb, gpinfo, tree, NULL);
|
|
|
6415a4 |
+ curr_offset = curr_offset + dissect_s1ap_SONtransferCause_PDU(new_tvb, pinfo, tree, NULL);
|
|
|
6415a4 |
/* Erroneous Application Container including IEI and LI */
|
|
|
6415a4 |
proto_tree_add_text(tree, tvb, curr_offset, len-(curr_offset-offset), "Erroneous Application Container including IEI and LI");
|
|
|
6415a4 |
break;
|
|
|
6415a4 |
@@ -2212,7 +2211,7 @@
|
|
|
6415a4 |
};
|
|
|
6415a4 |
|
|
|
6415a4 |
static guint16
|
|
|
6415a4 |
-de_bssgp_rim_routing_inf(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
|
|
|
6415a4 |
+de_bssgp_rim_routing_inf(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
|
|
|
6415a4 |
{
|
|
|
6415a4 |
guint8 oct;
|
|
|
6415a4 |
guint16 rnc_id;
|
|
|
6415a4 |
@@ -2261,7 +2260,7 @@
|
|
|
6415a4 |
curr_offset = curr_offset+ de_emm_trac_area_id(tvb, tree, pinfo, curr_offset, 5, add_string, string_len);
|
|
|
6415a4 |
/* Octets 9-n contain the Global eNB ID (see 3GPP TS 36.413 [36]) of the eNodeB. */
|
|
|
6415a4 |
new_tvb = tvb_new_subset_remaining(tvb, curr_offset);
|
|
|
6415a4 |
- dissect_s1ap_Global_ENB_ID_PDU(new_tvb, gpinfo, tree, NULL);
|
|
|
6415a4 |
+ dissect_s1ap_Global_ENB_ID_PDU(new_tvb, pinfo, tree, NULL);
|
|
|
6415a4 |
break;
|
|
|
6415a4 |
default:
|
|
|
6415a4 |
proto_tree_add_text(tree, tvb, curr_offset, 3, "Unknown RIM Routing Address discriminator");
|
|
|
6415a4 |
@@ -2301,7 +2300,7 @@
|
|
|
6415a4 |
* 11.3.72 MBMS Session Duration
|
|
|
6415a4 |
*/
|
|
|
6415a4 |
static guint16
|
|
|
6415a4 |
-de_bssgp_mbms_session_dur(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
|
|
|
6415a4 |
+de_bssgp_mbms_session_dur(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
|
|
|
6415a4 |
{
|
|
|
6415a4 |
tvbuff_t *new_tvb;
|
|
|
6415a4 |
guint32 curr_offset;
|
|
|
6415a4 |
@@ -2310,7 +2309,7 @@
|
|
|
6415a4 |
|
|
|
6415a4 |
/* AVP Code: 904 MBMS-Session-Duration Registered by packet-gtp.c */
|
|
|
6415a4 |
new_tvb =tvb_new_subset(tvb, offset, len, len);
|
|
|
6415a4 |
- dissector_try_uint(diameter_3gpp_avp_dissector_table, 904, new_tvb, gpinfo, tree);
|
|
|
6415a4 |
+ dissector_try_uint(diameter_3gpp_avp_dissector_table, 904, new_tvb, pinfo, tree);
|
|
|
6415a4 |
|
|
|
6415a4 |
return(curr_offset-offset);
|
|
|
6415a4 |
}
|
|
|
6415a4 |
@@ -2322,7 +2321,7 @@
|
|
|
6415a4 |
*
|
|
|
6415a4 |
*/
|
|
|
6415a4 |
static guint16
|
|
|
6415a4 |
-de_bssgp_mbms_sai_list(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_)
|
|
|
6415a4 |
+de_bssgp_mbms_sai_list(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_)
|
|
|
6415a4 |
{
|
|
|
6415a4 |
tvbuff_t *new_tvb;
|
|
|
6415a4 |
guint32 curr_offset;
|
|
|
6415a4 |
@@ -2331,7 +2330,7 @@
|
|
|
6415a4 |
|
|
|
6415a4 |
/* AVP Code: 903 MBMS-Service-Area Registered by packet-gtp.c */
|
|
|
6415a4 |
new_tvb =tvb_new_subset(tvb, offset, len, len);
|
|
|
6415a4 |
- dissector_try_uint(diameter_3gpp_avp_dissector_table, 903, new_tvb, gpinfo, tree);
|
|
|
6415a4 |
+ dissector_try_uint(diameter_3gpp_avp_dissector_table, 903, new_tvb, pinfo, tree);
|
|
|
6415a4 |
|
|
|
6415a4 |
return(curr_offset-offset);
|
|
|
6415a4 |
}
|
|
|
6415a4 |
@@ -2840,7 +2839,7 @@
|
|
|
6415a4 |
* 11.3.94 Inter RAT Handover Info
|
|
|
6415a4 |
*/
|
|
|
6415a4 |
static guint16
|
|
|
6415a4 |
-de_bssgp_inter_rat_ho_info(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
|
|
|
6415a4 |
+de_bssgp_inter_rat_ho_info(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
|
|
|
6415a4 |
{
|
|
|
6415a4 |
tvbuff_t *new_tvb;
|
|
|
6415a4 |
guint32 curr_offset;
|
|
|
6415a4 |
@@ -2852,7 +2851,7 @@
|
|
|
6415a4 |
* Inter RAT Handover Information coded as specified in 3GPP
|
|
|
6415a4 |
* Technical Specification 25.331
|
|
|
6415a4 |
*/
|
|
|
6415a4 |
- dissect_rrc_InterRATHandoverInfo_PDU(new_tvb, gpinfo, tree, NULL);
|
|
|
6415a4 |
+ dissect_rrc_InterRATHandoverInfo_PDU(new_tvb, pinfo, tree, NULL);
|
|
|
6415a4 |
|
|
|
6415a4 |
return(len);
|
|
|
6415a4 |
}
|
|
|
6415a4 |
@@ -3096,7 +3095,7 @@
|
|
|
6415a4 |
|
|
|
6415a4 |
/* Octets 8-n contain the Global eNB ID (see 3GPP TS 36.413) of the eNodeB. */
|
|
|
6415a4 |
new_tvb = tvb_new_subset_remaining(tvb, curr_offset);
|
|
|
6415a4 |
- dissect_s1ap_Global_ENB_ID_PDU(new_tvb, gpinfo, tree, NULL);
|
|
|
6415a4 |
+ dissect_s1ap_Global_ENB_ID_PDU(new_tvb, pinfo, tree, NULL);
|
|
|
6415a4 |
|
|
|
6415a4 |
return(len);
|
|
|
6415a4 |
}
|
|
|
6415a4 |
@@ -3104,7 +3103,7 @@
|
|
|
6415a4 |
* 11.3.104 E-UTRAN Inter RAT Handover Info
|
|
|
6415a4 |
*/
|
|
|
6415a4 |
static guint16
|
|
|
6415a4 |
-de_bssgp_e_utran_inter_rat_ho_info(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
|
|
|
6415a4 |
+de_bssgp_e_utran_inter_rat_ho_info(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
|
|
|
6415a4 |
{
|
|
|
6415a4 |
tvbuff_t *new_tvb;
|
|
|
6415a4 |
guint32 curr_offset;
|
|
|
6415a4 |
@@ -3118,7 +3117,7 @@
|
|
|
6415a4 |
* significant bit of the first octet of the octet string contains bit 8 of
|
|
|
6415a4 |
* the first octet of the IE.
|
|
|
6415a4 |
*/
|
|
|
6415a4 |
- dissect_lte_rrc_UE_EUTRA_Capability_PDU(new_tvb, gpinfo, tree, NULL);
|
|
|
6415a4 |
+ dissect_lte_rrc_UE_EUTRA_Capability_PDU(new_tvb, pinfo, tree, NULL);
|
|
|
6415a4 |
|
|
|
6415a4 |
return(len);
|
|
|
6415a4 |
}
|
|
|
6415a4 |
@@ -3181,7 +3180,7 @@
|
|
|
6415a4 |
* 11.3.108 SON Transfer Application Identity
|
|
|
6415a4 |
*/
|
|
|
6415a4 |
static guint16
|
|
|
6415a4 |
-de_bssgp_son_transfer_app_id(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset _U_, guint len _U_, gchar *add_string _U_, int string_len _U_)
|
|
|
6415a4 |
+de_bssgp_son_transfer_app_id(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset _U_, guint len _U_, gchar *add_string _U_, int string_len _U_)
|
|
|
6415a4 |
{
|
|
|
6415a4 |
tvbuff_t *next_tvb;
|
|
|
6415a4 |
|
|
|
6415a4 |
@@ -3190,7 +3189,7 @@
|
|
|
6415a4 |
*/
|
|
|
6415a4 |
if(len > 0){
|
|
|
6415a4 |
next_tvb = tvb_new_subset(tvb, offset, len, len);
|
|
|
6415a4 |
- dissect_s1ap_SONtransferApplicationIdentity_PDU(next_tvb, gpinfo, tree, NULL);
|
|
|
6415a4 |
+ dissect_s1ap_SONtransferApplicationIdentity_PDU(next_tvb, pinfo, tree, NULL);
|
|
|
6415a4 |
}
|
|
|
6415a4 |
|
|
|
6415a4 |
return(len);
|
|
|
6415a4 |
@@ -6370,8 +6369,6 @@
|
|
|
6415a4 |
int hf_idx;
|
|
|
6415a4 |
void (*msg_fcn_p)(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len);
|
|
|
6415a4 |
|
|
|
6415a4 |
- /* Save pinfo */
|
|
|
6415a4 |
- gpinfo = pinfo;
|
|
|
6415a4 |
g_rim_application_identity = 0;
|
|
|
6415a4 |
gparent_tree = tree;
|
|
|
6415a4 |
len = tvb_length(tvb);
|