aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-nbap.c
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2012-11-16 09:41:26 +0000
committerAnders Broman <anders.broman@ericsson.com>2012-11-16 09:41:26 +0000
commitbe2943671593393b6bbb2bdb43407c60bf80b9dc (patch)
treed30cdad44d3cfcd9258c8038e8bc7617a1e4f736 /epan/dissectors/packet-nbap.c
parentdd3cf211249a063b451782953093200c299e7074 (diff)
If we have an com_context_id entry reuse that.
svn path=/trunk/; revision=46036
Diffstat (limited to 'epan/dissectors/packet-nbap.c')
-rw-r--r--epan/dissectors/packet-nbap.c480
1 files changed, 274 insertions, 206 deletions
diff --git a/epan/dissectors/packet-nbap.c b/epan/dissectors/packet-nbap.c
index ae9134d502..089996d58d 100644
--- a/epan/dissectors/packet-nbap.c
+++ b/epan/dissectors/packet-nbap.c
@@ -6547,7 +6547,6 @@ typedef struct
} nbap_edch_port_info_t;
-nbap_edch_port_info_t * nbap_edch_port_info;
typedef struct
{
@@ -6587,7 +6586,8 @@ typedef struct com_ctxt_{
/*guint nodeb_context;*/
guint crnc_context;
guint frame_num;
-}nbap_com_context_id;
+}nbap_com_context_id_t;
+
gboolean crcn_context_present = FALSE;
static GTree * com_context_map;
@@ -8685,7 +8685,7 @@ dissect_nbap_Additional_EDCH_RL_Specific_Information_To_Setup_List(tvbuff_t *tvb
static int
dissect_nbap_E_DCH_MACdFlow_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 669 "../../asn1/nbap/nbap.cnf"
+#line 697 "../../asn1/nbap/nbap.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, maxNrOfEDCHMACdFlows_1, &e_dch_macdflow_id, FALSE);
@@ -8701,7 +8701,7 @@ dissect_nbap_E_DCH_MACdFlow_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_nbap_BindingID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 682 "../../asn1/nbap/nbap.cnf"
+#line 710 "../../asn1/nbap/nbap.cnf"
tvbuff_t *parameter_tvb=NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@@ -8725,7 +8725,7 @@ dissect_nbap_BindingID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
static int
dissect_nbap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 592 "../../asn1/nbap/nbap.cnf"
+#line 620 "../../asn1/nbap/nbap.cnf"
tvbuff_t *parameter_tvb=NULL;
proto_item *item;
proto_tree *subtree, *nsap_tree;
@@ -10032,7 +10032,7 @@ dissect_nbap_AddorDeleteIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
dissect_nbap_CFN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2081 "../../asn1/nbap/nbap.cnf"
+#line 2153 "../../asn1/nbap/nbap.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 255U, &cfn, FALSE);
@@ -10285,7 +10285,7 @@ dissect_nbap_AvailabilityStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
static int
dissect_nbap_HSDSCH_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2047 "../../asn1/nbap/nbap.cnf"
+#line 2119 "../../asn1/nbap/nbap.cnf"
umts_fp_conversation_info_t *umts_fp_conversation_info = NULL;
address null_addr;
conversation_t *conversation = NULL;
@@ -10525,7 +10525,7 @@ dissect_nbap_BundlingModeIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
dissect_nbap_CommonTransportChannelID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 665 "../../asn1/nbap/nbap.cnf"
+#line 693 "../../asn1/nbap/nbap.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 255U, &commontransportchannelid, FALSE);
@@ -11335,7 +11335,7 @@ dissect_nbap_Common_E_DCH_HSDPCCH_InfoItem(tvbuff_t *tvb _U_, int offset _U_, as
static int
dissect_nbap_CommonPhysicalChannelID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 661 "../../asn1/nbap/nbap.cnf"
+#line 689 "../../asn1/nbap/nbap.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 255U, &commonphysicalchannelid, FALSE);
@@ -11504,7 +11504,7 @@ dissect_nbap_Common_E_DCH_Resource_Combination_InfoList(tvbuff_t *tvb _U_, int o
static int
dissect_nbap_Common_MACFlow_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1904 "../../asn1/nbap/nbap.cnf"
+#line 1976 "../../asn1/nbap/nbap.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, maxNrOfCommonMACFlows_1, &common_macdflow_id, FALSE);
@@ -11586,7 +11586,7 @@ static const value_string nbap_PayloadCRC_PresenceIndicator_vals[] = {
static int
dissect_nbap_PayloadCRC_PresenceIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 626 "../../asn1/nbap/nbap.cnf"
+#line 654 "../../asn1/nbap/nbap.cnf"
guint32 payload_crc_value;
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
@@ -11638,7 +11638,7 @@ dissect_nbap_E_DCH_MACdFlow_Multiplexing_List(tvbuff_t *tvb _U_, int offset _U_,
static int
dissect_nbap_LogicalChannelID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1565 "../../asn1/nbap/nbap.cnf"
+#line 1632 "../../asn1/nbap/nbap.cnf"
/* Set logical channel id for this entry*/
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 15U, &logical_channel_id, FALSE);
@@ -11657,7 +11657,7 @@ dissect_nbap_LogicalChannelID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
static int
dissect_nbap_MAC_PDU_SizeExtended(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1664 "../../asn1/nbap/nbap.cnf"
+#line 1731 "../../asn1/nbap/nbap.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 1504U, NULL, TRUE);
@@ -12080,7 +12080,7 @@ static const per_sequence_t CommonMACFlow_Specific_InfoItem_sequence[] = {
static int
dissect_nbap_CommonMACFlow_Specific_InfoItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1911 "../../asn1/nbap/nbap.cnf"
+#line 1983 "../../asn1/nbap/nbap.cnf"
address dst_addr;
transportLayerAddress_ipv4 = 0;
BindingID_port = 0;
@@ -12127,7 +12127,7 @@ dissect_nbap_CommonMACFlow_Specific_InfoList(tvbuff_t *tvb _U_, int offset _U_,
static int
dissect_nbap_MACdPDU_Size(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1556 "../../asn1/nbap/nbap.cnf"
+#line 1623 "../../asn1/nbap/nbap.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 5000U, &MACdPDU_Size, TRUE);
@@ -13347,7 +13347,7 @@ dissect_nbap_CriticalityDiagnostics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
static int
dissect_nbap_CRNC_CommunicationContextID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2021 "../../asn1/nbap/nbap.cnf"
+#line 2093 "../../asn1/nbap/nbap.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 1048575U, &com_context_id, FALSE);
@@ -14778,7 +14778,7 @@ dissect_nbap_ToAWE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, prot
static int
dissect_nbap_T_dCH_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 644 "../../asn1/nbap/nbap.cnf"
+#line 672 "../../asn1/nbap/nbap.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 255U, &dch_id, FALSE);
@@ -14799,7 +14799,7 @@ dissect_nbap_T_dCH_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p
static int
dissect_nbap_TransportFormatSet_NrOfTransportBlocks(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1024 "../../asn1/nbap/nbap.cnf"
+#line 1064 "../../asn1/nbap/nbap.cnf"
guint32 NrOfTransportBlocks;
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
@@ -14842,7 +14842,7 @@ guint32 NrOfTransportBlocks;
static int
dissect_nbap_TransportFormatSet_TransportBlockSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1056 "../../asn1/nbap/nbap.cnf"
+#line 1096 "../../asn1/nbap/nbap.cnf"
guint32 TransportBlockSize;
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
@@ -14970,7 +14970,7 @@ static const per_sequence_t TransportFormatSet_DynamicPartList_item_sequence[] =
static int
dissect_nbap_TransportFormatSet_DynamicPartList_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1020 "../../asn1/nbap/nbap.cnf"
+#line 1060 "../../asn1/nbap/nbap.cnf"
num_items++;
@@ -14988,7 +14988,7 @@ static const per_sequence_t TransportFormatSet_DynamicPartList_sequence_of[1] =
static int
dissect_nbap_TransportFormatSet_DynamicPartList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1017 "../../asn1/nbap/nbap.cnf"
+#line 1057 "../../asn1/nbap/nbap.cnf"
num_items = 0;
@@ -15159,7 +15159,7 @@ dissect_nbap_TransportFormatSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
static int
dissect_nbap_T_ul_TransportFormatSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 995 "../../asn1/nbap/nbap.cnf"
+#line 1035 "../../asn1/nbap/nbap.cnf"
transportFormatSet_type = NBAP_DCH_UL;
nbap_dch_chnl_info[dch_id].num_ul_chans = 0;
@@ -15173,7 +15173,7 @@ dissect_nbap_T_ul_TransportFormatSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
static int
dissect_nbap_T_dl_TransportFormatSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 999 "../../asn1/nbap/nbap.cnf"
+#line 1039 "../../asn1/nbap/nbap.cnf"
transportFormatSet_type = NBAP_DCH_DL;
nbap_dch_chnl_info[dch_id].num_dl_chans = 0;
@@ -15223,14 +15223,14 @@ static const per_sequence_t DCH_Specific_FDD_Item_sequence[] = {
static int
dissect_nbap_DCH_Specific_FDD_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 989 "../../asn1/nbap/nbap.cnf"
+#line 1029 "../../asn1/nbap/nbap.cnf"
g_num_dch_in_flow++;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_DCH_Specific_FDD_Item, DCH_Specific_FDD_Item_sequence);
-#line 992 "../../asn1/nbap/nbap.cnf"
+#line 1032 "../../asn1/nbap/nbap.cnf"
prev_dch_id = dch_id;
@@ -15244,7 +15244,7 @@ static const per_sequence_t DCH_Specific_FDD_InformationList_sequence_of[1] = {
static int
dissect_nbap_DCH_Specific_FDD_InformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 985 "../../asn1/nbap/nbap.cnf"
+#line 1025 "../../asn1/nbap/nbap.cnf"
g_num_dch_in_flow = 0;
prev_dch_id = 0;
@@ -15523,7 +15523,7 @@ dissect_nbap_DCH_TDD_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
static int
dissect_nbap_T_dCH_ID_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 656 "../../asn1/nbap/nbap.cnf"
+#line 684 "../../asn1/nbap/nbap.cnf"
offset = dissect_nbap_DCH_ID(tvb, offset, actx, tree, hf_index);
@@ -15538,7 +15538,7 @@ dissect_nbap_T_dCH_ID_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
static int
dissect_nbap_T_ul_TransportFormatSet_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1003 "../../asn1/nbap/nbap.cnf"
+#line 1043 "../../asn1/nbap/nbap.cnf"
transportFormatSet_type = NBAP_DCH_UL;
nbap_dch_chnl_info[dch_id].num_ul_chans = 0;
@@ -15552,7 +15552,7 @@ dissect_nbap_T_ul_TransportFormatSet_01(tvbuff_t *tvb _U_, int offset _U_, asn1_
static int
dissect_nbap_T_dl_TransportFormatSet_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1007 "../../asn1/nbap/nbap.cnf"
+#line 1047 "../../asn1/nbap/nbap.cnf"
transportFormatSet_type = NBAP_DCH_DL;
nbap_dch_chnl_info[dch_id].num_dl_chans = 0;
@@ -15608,7 +15608,7 @@ static const per_sequence_t FDD_DCHs_to_ModifyItem_sequence[] = {
static int
dissect_nbap_FDD_DCHs_to_ModifyItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1083 "../../asn1/nbap/nbap.cnf"
+#line 1123 "../../asn1/nbap/nbap.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_FDD_DCHs_to_ModifyItem, FDD_DCHs_to_ModifyItem_sequence);
@@ -18030,7 +18030,7 @@ dissect_nbap_E_DCH_HARQ_Combining_Capability(tvbuff_t *tvb _U_, int offset _U_,
static int
dissect_nbap_E_DCH_DDI_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1546 "../../asn1/nbap/nbap.cnf"
+#line 1613 "../../asn1/nbap/nbap.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 62U, &e_dch_ddi_value, FALSE);
@@ -18164,7 +18164,7 @@ static const per_sequence_t E_DCH_LogicalChannelInformationItem_sequence[] = {
static int
dissect_nbap_E_DCH_LogicalChannelInformationItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1543 "../../asn1/nbap/nbap.cnf"
+#line 1610 "../../asn1/nbap/nbap.cnf"
num_items++;
@@ -18181,7 +18181,7 @@ static const per_sequence_t E_DCH_LogicalChannelInformation_sequence_of[1] = {
static int
dissect_nbap_E_DCH_LogicalChannelInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1536 "../../asn1/nbap/nbap.cnf"
+#line 1603 "../../asn1/nbap/nbap.cnf"
num_items = 0;
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
@@ -18214,7 +18214,7 @@ static const per_sequence_t E_DCH_MACdFlow_Specific_InfoItem_sequence[] = {
static int
dissect_nbap_E_DCH_MACdFlow_Specific_InfoItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1299 "../../asn1/nbap/nbap.cnf"
+#line 1362 "../../asn1/nbap/nbap.cnf"
umts_fp_conversation_info_t *p_conv_data = NULL;
address null_addr;
conversation_t *p_conv;
@@ -18397,7 +18397,7 @@ static const per_sequence_t E_DCH_LogicalChannelToModifyItem_sequence[] = {
static int
dissect_nbap_E_DCH_LogicalChannelToModifyItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1531 "../../asn1/nbap/nbap.cnf"
+#line 1598 "../../asn1/nbap/nbap.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_E_DCH_LogicalChannelToModifyItem, E_DCH_LogicalChannelToModifyItem_sequence);
@@ -18472,10 +18472,10 @@ static const per_sequence_t E_DCH_MACdFlow_Specific_InfoItem_to_Modify_sequence[
static int
dissect_nbap_E_DCH_MACdFlow_Specific_InfoItem_to_Modify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1444 "../../asn1/nbap/nbap.cnf"
+#line 1506 "../../asn1/nbap/nbap.cnf"
guint32 no_ddi_entries, i;
address null_addr;
-nbap_edch_port_info_t * old_info;
+nbap_edch_port_info_t *old_info;
umts_fp_conversation_info_t *p_conv_data = NULL;
conversation_t *p_conv;
@@ -18489,35 +18489,40 @@ num_items = 1;
return offset;
}
+ nbap_debug1("Frame %u E-DCH-MACdFlow-Specific-InfoItem-to-Modify",
+ actx->pinfo->fd->num);
- /****** Look up old port and ip information since this is not included in this message ******/
+ /****** Look up old port and ip information since this is not included in this message ******/
/*Find proper communication context ID*/
if(crcn_context_present){
- /*umts_fp_conversation_info->com_context_id = com_context_id;*/
- }else{
- nbap_com_context_id * cur_val;
- if((cur_val=g_tree_lookup(com_context_map, GINT_TO_POINTER((gint)node_b_com_context_id))) != NULL){
- com_context_id= cur_val->crnc_context;
- }else{
- expert_add_info_format(actx->pinfo, NULL, PI_MALFORMED, PI_WARN, "Couldn't not find Communication Context-ID, unable to reconfigure this E-DCH flow.");
- }
+ /*umts_fp_conversation_info->com_context_id = com_context_id;*/
+ }else{
+ nbap_com_context_id_t * cur_val;
+ if((cur_val=g_tree_lookup(com_context_map, GINT_TO_POINTER((gint)node_b_com_context_id))) != NULL){
+ com_context_id= cur_val->crnc_context;
+ }else{
+ expert_add_info_format(actx->pinfo, NULL, PI_MALFORMED, PI_WARN, "Couldn't not find Communication Context-ID, unable to reconfigure this E-DCH flow.");
+ }
}
- /*This should not happen*/
- if( (old_info = g_tree_lookup(edch_flow_port_map, GINT_TO_POINTER((gint)com_context_id))) == NULL ){
- expert_add_info_format(actx->pinfo, NULL, PI_MALFORMED, PI_WARN, "Couldn't not find port information for reconfigured E-DCH flow, unable to reconfigure");
- return offset;
- }
- /*Set the appropriate port, cheat and use same variable.*/
- BindingID_port = old_info->crnc_port[e_dch_macdflow_id];
- nbap_debug2("Frame %u E-DCH-MACdFlow-Specific-InfoItem-to-Modify: Port %u loaded from old_info->crnc_port[e_dch_macdflow_id]",
- actx->pinfo->fd->num,
- BindingID_port);
-
- /*TODO: Fix this for ipv6 as well!*/
- transportLayerAddress_ipv4 = old_info->crnc_address;
+ /*This should not happen*/
+ if( (old_info = g_tree_lookup(edch_flow_port_map, GINT_TO_POINTER((gint)com_context_id))) == NULL ){
+ expert_add_info_format(actx->pinfo, NULL, PI_MALFORMED, PI_WARN, "Couldn't not find port information for reconfigured E-DCH flow, unable to reconfigure");
+ return offset;
+ }
+ nbap_debug1(" Found com_context_id %u", com_context_id);
+
+ /*Set the appropriate port, cheat and use same variable.*/
+ BindingID_port = old_info->crnc_port[e_dch_macdflow_id];
+
+ nbap_debug2(" Port %u loaded from old_info->crnc_port[e_dch_macdflow_id %u]",
+ BindingID_port,
+ e_dch_macdflow_id);
+
+ /*TODO: Fix this for ipv6 as well!*/
+ transportLayerAddress_ipv4 = old_info->crnc_address;
- /*Do the configurations*/
+ /*Do the configurations*/
/* Check if we have conversation info */
SET_ADDRESS(&null_addr, AT_NONE, 0, NULL);
p_conv = find_conversation(actx->pinfo->fd->num, &nbap_edch_channel_info[e_dch_macdflow_id].crnc_address, &null_addr,
@@ -18609,7 +18614,7 @@ static const per_sequence_t E_DCH_FDD_Information_to_Modify_sequence[] = {
static int
dissect_nbap_E_DCH_FDD_Information_to_Modify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1352 "../../asn1/nbap/nbap.cnf"
+#line 1415 "../../asn1/nbap/nbap.cnf"
address dst_addr, null_addr;
conversation_t *conversation,*old_conversation = NULL;
@@ -18641,20 +18646,19 @@ BindingID_port = 0;
&null_addr, PT_UDP, BindingID_port,
0, NO_ADDR_B|NO_PORT_B);
- if(old_conversation){
- nbap_debug3("Frame %u E-DCH-FDD-Information-to-Modify: found old conv on IP %s Port %u",
- actx->pinfo->fd->num,
- ep_address_to_str(&dst_addr),
- BindingID_port);
- }else{
- nbap_debug3("Frame %u E-DCH-FDD-Information-to-Modify: Did not find old conv on IP %s Port %u",
- actx->pinfo->fd->num,
- ep_address_to_str(&dst_addr),
- BindingID_port);
- }
- return offset;
-
- /* It's not part of any conversation - create a new one. */
+ if(old_conversation){
+ nbap_debug3("Frame %u E-DCH-FDD-Information-to-Modify: found old conv on IP %s Port %u",
+ actx->pinfo->fd->num,
+ ep_address_to_str(&dst_addr),
+ BindingID_port);
+ }else{
+ nbap_debug3("Frame %u E-DCH-FDD-Information-to-Modify: Did not find old conv on IP %s Port %u",
+ actx->pinfo->fd->num,
+ ep_address_to_str(&dst_addr),
+ BindingID_port);
+ }
+
+ /* It's not part of any conversation - create a new one. */
conversation = conversation_new(actx->pinfo->fd->num, &dst_addr,
&null_addr, PT_UDP,BindingID_port ,
0, NO_ADDR2|NO_PORT2);
@@ -18682,7 +18686,7 @@ BindingID_port = 0;
if(crcn_context_present){
umts_fp_conversation_info->com_context_id = com_context_id;
}else{
- nbap_com_context_id * cur_val;
+ nbap_com_context_id_t * cur_val;
if((cur_val=g_tree_lookup(com_context_map, GINT_TO_POINTER((gint)node_b_com_context_id))) != NULL){
umts_fp_conversation_info->com_context_id = cur_val->crnc_context;
}else{
@@ -23190,7 +23194,7 @@ static const value_string nbap_PICH_Mode_vals[] = {
static int
dissect_nbap_PICH_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 768 "../../asn1/nbap/nbap.cnf"
+#line 796 "../../asn1/nbap/nbap.cnf"
guint32 PICH_Mode = 0;
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, &PICH_Mode, TRUE, 0, NULL);
@@ -23305,7 +23309,7 @@ static const per_sequence_t HSDSCH_Common_System_InformationFDD_sequence[] = {
static int
dissect_nbap_HSDSCH_Common_System_InformationFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1933 "../../asn1/nbap/nbap.cnf"
+#line 2005 "../../asn1/nbap/nbap.cnf"
/*
* 5.1.6 High Speed Downlink Shared Channels
* The Data Transfer procedure is used to transfer a HS-DSCH DATA FRAME (TYPE 1, TYPE 2 [FDD and 1.28Mcps
@@ -23439,7 +23443,7 @@ dissect_nbap_HSDSCH_Common_System_Information_ResponseFDD(tvbuff_t *tvb _U_, int
static int
dissect_nbap_HSDSCH_MACdFlow_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 674 "../../asn1/nbap/nbap.cnf"
+#line 702 "../../asn1/nbap/nbap.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, maxNrOfMACdFlows_1, &hsdsch_macdflow_id, FALSE);
@@ -23466,7 +23470,7 @@ static const per_sequence_t HSDSCH_MACdFlow_Specific_InfoItem_sequence[] = {
static int
dissect_nbap_HSDSCH_MACdFlow_Specific_InfoItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1641 "../../asn1/nbap/nbap.cnf"
+#line 1708 "../../asn1/nbap/nbap.cnf"
address dst_addr;
@@ -23570,7 +23574,7 @@ static const value_string nbap_RLC_Mode_vals[] = {
static int
dissect_nbap_RLC_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1573 "../../asn1/nbap/nbap.cnf"
+#line 1640 "../../asn1/nbap/nbap.cnf"
guint32 rlc_mode;
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
@@ -23611,7 +23615,7 @@ static const per_sequence_t PriorityQueue_InfoItem_sequence[] = {
static int
dissect_nbap_PriorityQueue_InfoItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1632 "../../asn1/nbap/nbap.cnf"
+#line 1699 "../../asn1/nbap/nbap.cnf"
num_items++;
@@ -23645,7 +23649,7 @@ static const per_sequence_t HSDSCH_MACdFlows_Information_sequence[] = {
static int
dissect_nbap_HSDSCH_MACdFlows_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1597 "../../asn1/nbap/nbap.cnf"
+#line 1664 "../../asn1/nbap/nbap.cnf"
int protocol_ie_id;
guint32 i;
@@ -23688,7 +23692,7 @@ dissect_nbap_HSDSCH_MACdFlows_Information(tvbuff_t *tvb _U_, int offset _U_, asn
static int
dissect_nbap_T_hSDSCH_Physical_Layer_Category(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1590 "../../asn1/nbap/nbap.cnf"
+#line 1657 "../../asn1/nbap/nbap.cnf"
guint32 hsdsch_physical_layer_category;
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
@@ -23756,7 +23760,7 @@ static const per_sequence_t HSDSCH_FDD_Information_sequence[] = {
static int
dissect_nbap_HSDSCH_FDD_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1694 "../../asn1/nbap/nbap.cnf"
+#line 1761 "../../asn1/nbap/nbap.cnf"
/*
* Collect the information about the HSDSCH MACdFlows set up conversation(s) and set the conversation data.
*/
@@ -23788,7 +23792,7 @@ dissect_nbap_HSDSCH_FDD_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
for (i = 0; i < maxNrOfMACdFlows; i++) {
if (nbap_hsdsch_channel_info[i].crnc_port != 0){
nbap_debug4("Frame %u HSDSCH-MACdFlows-Information:hsdsch_macdflow_id %u Look for conv on IP %s Port %u",
- actx->pinfo->fd->num,
+ actx->pinfo->fd->num,
i,
ep_address_to_str (&(nbap_hsdsch_channel_info[i].crnc_address)),
nbap_hsdsch_channel_info[i].crnc_port);
@@ -23893,7 +23897,7 @@ static const per_sequence_t HSDSCH_MACdFlow_Specific_InfoItem_to_Modify_sequence
static int
dissect_nbap_HSDSCH_MACdFlow_Specific_InfoItem_to_Modify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1783 "../../asn1/nbap/nbap.cnf"
+#line 1850 "../../asn1/nbap/nbap.cnf"
address dst_addr;
transportLayerAddress_ipv4 = 0;
BindingID_port = 0;
@@ -23952,7 +23956,7 @@ static const per_sequence_t PriorityQueue_InfoItem_to_Add_sequence[] = {
static int
dissect_nbap_PriorityQueue_InfoItem_to_Add(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1635 "../../asn1/nbap/nbap.cnf"
+#line 1702 "../../asn1/nbap/nbap.cnf"
num_items = 1;
@@ -24087,7 +24091,7 @@ static const per_sequence_t HSDSCH_Information_to_Modify_sequence[] = {
static int
dissect_nbap_HSDSCH_Information_to_Modify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1804 "../../asn1/nbap/nbap.cnf"
+#line 1871 "../../asn1/nbap/nbap.cnf"
/*
* This is pretty much the same like if we setup a previous flow
*/
@@ -24120,10 +24124,13 @@ dissect_nbap_HSDSCH_Information_to_Modify(tvbuff_t *tvb _U_, int offset _U_, asn
/* Set port to zero use that as an indication of wether we have data or not */
SET_ADDRESS(&null_addr, AT_NONE, 0, NULL);
+
+ nbap_debug1("Frame %u HSDSCH-MACdFlows-Information Start",
+ actx->pinfo->fd->num);
+
for (i = 0; i < maxNrOfMACdFlows; i++) {
if (nbap_hsdsch_channel_info[i].crnc_port != 0){
- nbap_debug4("HSDSCH-MACdFlows-Information:Frame %u hsdsch_macdflow_id %u Look for conv on IP %s Port %u",
- actx->pinfo->fd->num,
+ nbap_debug3(" hsdsch_macdflow_id %u Look for conv on IP %s Port %u",
i,
ep_address_to_str (&(nbap_hsdsch_channel_info[i].crnc_address)),
nbap_hsdsch_channel_info[i].crnc_port);
@@ -24134,9 +24141,8 @@ dissect_nbap_HSDSCH_Information_to_Modify(tvbuff_t *tvb _U_, int offset _U_, asn
if (conversation == NULL) {
/* It's not part of any conversation - create a new one. */
- nbap_debug2("Frame %u HSDSCH-MACdFlows-Information:Set up conv on Port %u",
- actx->pinfo->fd->num,
- nbap_hsdsch_channel_info[i].crnc_port);
+ nbap_debug1(" Set up conv on Port %u", nbap_hsdsch_channel_info[i].crnc_port);
+
conversation = conversation_new(actx->pinfo->fd->num, &(nbap_hsdsch_channel_info[i].crnc_address),
&null_addr, PT_UDP, nbap_hsdsch_channel_info[i].crnc_port,
0, NO_ADDR2|NO_PORT2);
@@ -24187,6 +24193,9 @@ dissect_nbap_HSDSCH_Information_to_Modify(tvbuff_t *tvb _U_, int offset _U_, asn
}
}
}
+ nbap_debug1("Frame %u HSDSCH-MACdFlows-Information End",
+ actx->pinfo->fd->num);
+
}
@@ -24204,7 +24213,7 @@ static const value_string nbap_HSDSCH_MACdPDUSizeFormat_vals[] = {
static int
dissect_nbap_HSDSCH_MACdPDUSizeFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1671 "../../asn1/nbap/nbap.cnf"
+#line 1738 "../../asn1/nbap/nbap.cnf"
/*
* Removed 10 Aug. 2012, I'm not sure if this was right, it wrongfully
* set some packets as type 2 for HSDHCH modified items.
@@ -24315,7 +24324,7 @@ static const per_sequence_t HSDSCH_MACdFlow_Specific_InformationResp_Item_sequen
static int
dissect_nbap_HSDSCH_MACdFlow_Specific_InformationResp_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1638 "../../asn1/nbap/nbap.cnf"
+#line 1705 "../../asn1/nbap/nbap.cnf"
num_items++;
@@ -24731,7 +24740,7 @@ static const per_sequence_t HSDSCH_Paging_System_InformationFDD_sequence[] = {
static int
dissect_nbap_HSDSCH_Paging_System_InformationFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2011 "../../asn1/nbap/nbap.cnf"
+#line 2083 "../../asn1/nbap/nbap.cnf"
/*
g_warning("HS-DSCH Type 3 NOT Implemented!");
*/
@@ -24925,7 +24934,7 @@ static const per_sequence_t HSDSCH_MACdFlows_to_Delete_Item_sequence[] = {
static int
dissect_nbap_HSDSCH_MACdFlows_to_Delete_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1629 "../../asn1/nbap/nbap.cnf"
+#line 1696 "../../asn1/nbap/nbap.cnf"
num_items++;
@@ -26315,7 +26324,7 @@ dissect_nbap_IB_OC_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p
static int
dissect_nbap_IB_SG_DATA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 549 "../../asn1/nbap/nbap.cnf"
+#line 577 "../../asn1/nbap/nbap.cnf"
tvbuff_t *parameter_tvb=NULL;
proto_tree *subtree;
@@ -26449,7 +26458,7 @@ static const value_string nbap_IB_Type_vals[] = {
static int
dissect_nbap_IB_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 536 "../../asn1/nbap/nbap.cnf"
+#line 564 "../../asn1/nbap/nbap.cnf"
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
26, &ib_type, TRUE, 15, NULL);
@@ -28040,9 +28049,9 @@ dissect_nbap_NI_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_nbap_NodeB_CommunicationContextID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2025 "../../asn1/nbap/nbap.cnf"
+#line 2097 "../../asn1/nbap/nbap.cnf"
/*Set up and map that maps Node-B ids to CRNC ids, since often you only have one of them present in nbap*/
-nbap_com_context_id *cur_val;
+nbap_com_context_id_t *cur_val;
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 1048575U, &node_b_com_context_id, FALSE);
@@ -28054,14 +28063,14 @@ nbap_com_context_id *cur_val;
/*If both are avaible we can update the map*/
if(crcn_context_present){
- if( (cur_val=g_tree_lookup(com_context_map, GINT_TO_POINTER((gint)node_b_com_context_id))) == NULL ){
+ if( (cur_val=g_tree_lookup(com_context_map, GINT_TO_POINTER((gint)node_b_com_context_id))) == NULL ){
- cur_val = g_malloc(sizeof(nbap_com_context_id));
- cur_val->crnc_context = com_context_id;
- cur_val->frame_num = actx->pinfo->fd->num;
- g_tree_insert(com_context_map, GINT_TO_POINTER((gint)node_b_com_context_id), cur_val);
- com_context_id = -1;
- }
+ cur_val = g_new(nbap_com_context_id_t,1);
+ cur_val->crnc_context = com_context_id;
+ cur_val->frame_num = actx->pinfo->fd->num;
+ g_tree_insert(com_context_map, GINT_TO_POINTER((gint)node_b_com_context_id), cur_val);
+ com_context_id = -1;
+ }
}
@@ -28605,7 +28614,7 @@ dissect_nbap_RACH_SubChannelNumbers(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
static int
dissect_nbap_T_dCH_id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1089 "../../asn1/nbap/nbap.cnf"
+#line 1129 "../../asn1/nbap/nbap.cnf"
offset = dissect_nbap_DCH_ID(tvb, offset, actx, tree, hf_index);
@@ -28627,7 +28636,7 @@ static const per_sequence_t RL_Specific_DCH_Info_Item_sequence[] = {
static int
dissect_nbap_RL_Specific_DCH_Info_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1094 "../../asn1/nbap/nbap.cnf"
+#line 1134 "../../asn1/nbap/nbap.cnf"
address dst_addr, null_addr;
conversation_t *conversation = NULL;
umts_fp_conversation_info_t *umts_fp_conversation_info;
@@ -28734,13 +28743,17 @@ dch_id = 0xFFFFFFFF;
set_umts_fp_conv_data(conversation, umts_fp_conversation_info);
}
- nbap_debug1("Total number of chans for the flow will be: %d", umts_fp_conversation_info->num_dch_in_flow);
+ nbap_debug1("Frame %u RL-Specific-DCH-Info-Item Start", actx->pinfo->fd->num);
+ nbap_debug1(" Total no of ch in flow will be: %d", umts_fp_conversation_info->num_dch_in_flow);
+ nbap_debug1("Frame %u RL-Specific-DCH-Info-Item End", actx->pinfo->fd->num);
}
+
+
return offset;
}
@@ -28769,10 +28782,11 @@ static const per_sequence_t RL_Specific_E_DCH_Information_Item_sequence[] = {
static int
dissect_nbap_RL_Specific_E_DCH_Information_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1211 "../../asn1/nbap/nbap.cnf"
+#line 1250 "../../asn1/nbap/nbap.cnf"
address dst_addr, null_addr;
conversation_t *conversation;
umts_fp_conversation_info_t *umts_fp_conversation_info;
+nbap_edch_port_info_t *old_info = NULL;
transportLayerAddress_ipv4 = 0;
BindingID_port = 0;
@@ -28828,33 +28842,56 @@ BindingID_port = 0;
if(crcn_context_present){
umts_fp_conversation_info->com_context_id = com_context_id;
}else{
- nbap_com_context_id * cur_val;
+ nbap_com_context_id_t *cur_val;
if((cur_val=g_tree_lookup(com_context_map, GINT_TO_POINTER((gint)node_b_com_context_id))) != NULL){
umts_fp_conversation_info->com_context_id = cur_val->crnc_context;
}else{
expert_add_info_format(actx->pinfo, NULL, PI_MALFORMED, PI_WARN, "Couldn't not set Communication Context-ID, fragments over reconfigured channels might fail");
}
}
- /*Saving port/flow map based on context id for future reconfigurations*/
- nbap_edch_port_info->crnc_port[e_dch_macdflow_id] = BindingID_port;
- /*Ip address might be useful as well*/
- nbap_edch_port_info->crnc_address = transportLayerAddress_ipv4;
-
- nbap_debug3("Frame %u RL-Specific-E-DCH-Information-Item: g_tree_insert(edch_flow_port_map) IP %s Port %u",
- actx->pinfo->fd->num,
- ep_address_to_str(&dst_addr),
- BindingID_port);
-
- g_tree_insert(edch_flow_port_map, GINT_TO_POINTER((gint)umts_fp_conversation_info->com_context_id), nbap_edch_port_info);
-
-
- /* Set address for collection of DDI entries */
- COPY_ADDRESS(&(nbap_edch_channel_info[e_dch_macdflow_id].crnc_address),&dst_addr);
- nbap_edch_channel_info[e_dch_macdflow_id].crnc_port = BindingID_port;
-
+ /* Check if we allready have this context */
+ if( (old_info = g_tree_lookup(edch_flow_port_map, GINT_TO_POINTER((gint)com_context_id))) == NULL ){
+ nbap_edch_port_info_t * nbap_edch_port_info;
+
+ nbap_edch_port_info = g_malloc0(sizeof(nbap_edch_port_info_t));
+
+ /*Saving port/flow map based on context id for future reconfigurations*/
+ nbap_edch_port_info->crnc_port[e_dch_macdflow_id] = BindingID_port;
+ /*Ip address might be useful as well*/
+ nbap_edch_port_info->crnc_address = transportLayerAddress_ipv4;
+
+ nbap_debug1("Frame %u RL-Specific-E-DCH-Information-Item Start",
+ actx->pinfo->fd->num);
+
+ nbap_debug4(" g_tree_insert(edch_flow_port_map) com_context_id %u e_dch_macdflow_id %u IP %s Port %u",
+ umts_fp_conversation_info->com_context_id,
+ e_dch_macdflow_id,
+ ep_address_to_str(&dst_addr),
+ BindingID_port);
+
+ /* Set address for collection of DDI entries */
+ COPY_ADDRESS(&(nbap_edch_channel_info[e_dch_macdflow_id].crnc_address),&dst_addr);
+ nbap_edch_channel_info[e_dch_macdflow_id].crnc_port = BindingID_port;
+
+ g_tree_insert(edch_flow_port_map, GINT_TO_POINTER((gint)umts_fp_conversation_info->com_context_id), nbap_edch_port_info);
+ }else{
+
+ nbap_debug4(" Insert in existing edch_flow_port_map com_context_id %u e_dch_macdflow_id %u IP %s Port %u",
+ umts_fp_conversation_info->com_context_id,
+ e_dch_macdflow_id,
+ ep_address_to_str(&dst_addr),
+ BindingID_port);
+
+ /* Must be same ADDRESS */
+ old_info->crnc_port[e_dch_macdflow_id] = BindingID_port;
+ }
+
+
set_umts_fp_conv_data(conversation, umts_fp_conversation_info);
+
+ nbap_debug1("Frame %u RL-Specific-E-DCH-Information-Item End", actx->pinfo->fd->num);
}
}
@@ -28890,17 +28927,9 @@ static const per_sequence_t RL_Specific_E_DCH_Info_sequence[] = {
static int
dissect_nbap_RL_Specific_E_DCH_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1204 "../../asn1/nbap/nbap.cnf"
-
-nbap_edch_port_info = g_malloc(sizeof(nbap_edch_port_info_t));
-
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_RL_Specific_E_DCH_Info, RL_Specific_E_DCH_Info_sequence);
-
-
-
-
return offset;
}
@@ -29797,7 +29826,7 @@ static const value_string nbap_Segment_Type_vals[] = {
static int
dissect_nbap_Segment_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 539 "../../asn1/nbap/nbap.cnf"
+#line 567 "../../asn1/nbap/nbap.cnf"
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7, &segment_type, TRUE, 0, NULL);
@@ -32320,7 +32349,7 @@ static const per_sequence_t FACH_ParametersItem_CTCH_SetupRqstFDD_sequence[] = {
static int
dissect_nbap_FACH_ParametersItem_CTCH_SetupRqstFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 890 "../../asn1/nbap/nbap.cnf"
+#line 930 "../../asn1/nbap/nbap.cnf"
address dst_addr, null_addr;
conversation_t *conversation;
@@ -32440,7 +32469,7 @@ dissect_nbap_FACH_ParametersListIE_CTCH_SetupRqstFDD(tvbuff_t *tvb _U_, int offs
static int
dissect_nbap_T_transportFormatSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1011 "../../asn1/nbap/nbap.cnf"
+#line 1051 "../../asn1/nbap/nbap.cnf"
transportFormatSet_type = NBAP_PCH;
nbap_dch_chnl_info[commontransportchannelid].num_dl_chans = 0;
nbap_dch_chnl_info[commontransportchannelid].num_ul_chans = 0;
@@ -32485,7 +32514,7 @@ static const per_sequence_t PCH_ParametersItem_CTCH_SetupRqstFDD_sequence[] = {
static int
dissect_nbap_PCH_ParametersItem_CTCH_SetupRqstFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 789 "../../asn1/nbap/nbap.cnf"
+#line 817 "../../asn1/nbap/nbap.cnf"
address dst_addr, null_addr;
conversation_t *conversation;
@@ -32542,11 +32571,15 @@ num_items = 1;
umts_fp_conversation_info->dch_crc_present = g_nbap_msg_info_for_fp.dch_crc_present;
/* Set data for First or single channel */
umts_fp_conversation_info->fp_dch_channel_info[0].num_ul_chans = num_tf = nbap_dch_chnl_info[commontransportchannelid].num_ul_chans;
- nbap_debug1("PCH-ParametersItem-CTCH-SetupRqstFDD: num_tf %u",num_tf);
+
+ nbap_debug2("Frame %u PCH-ParametersItem-CTCH-SetupRqstFDD Start: num_tf %u",
+ actx->pinfo->fd->num,
+ num_tf);
+
for (j = 0; j < num_tf; j++) {
umts_fp_conversation_info->fp_dch_channel_info[0].ul_chan_tf_size[j] = nbap_dch_chnl_info[commontransportchannelid].ul_chan_tf_size[j];
umts_fp_conversation_info->fp_dch_channel_info[0].ul_chan_num_tbs[j] = nbap_dch_chnl_info[commontransportchannelid].ul_chan_num_tbs[j];
- nbap_debug2("PCH-ParametersItem-CTCH-SetupRqstFDD:UL tf %u ul_chan_tf_size %u",j, nbap_dch_chnl_info[commontransportchannelid].ul_chan_tf_size[j]);
+ nbap_debug2(" UL tf %u ul_chan_tf_size %u",j, nbap_dch_chnl_info[commontransportchannelid].ul_chan_tf_size[j]);
}
/* Traffic flows per DCH(DL) */
@@ -32554,12 +32587,14 @@ num_items = 1;
for (j = 0; j < num_tf; j++) {
umts_fp_conversation_info->fp_dch_channel_info[0].dl_chan_tf_size[j] = nbap_dch_chnl_info[commontransportchannelid].dl_chan_tf_size[j];
umts_fp_conversation_info->fp_dch_channel_info[0].dl_chan_num_tbs[j] = nbap_dch_chnl_info[commontransportchannelid].dl_chan_num_tbs[j];
- nbap_debug2("PCH-ParametersItem-CTCH-SetupRqstFDD:DL tf %u ul_chan_tf_size %u",j, nbap_dch_chnl_info[commontransportchannelid].dl_chan_tf_size[j]);
+ nbap_debug2(" DL tf %u ul_chan_tf_size %u",j, nbap_dch_chnl_info[commontransportchannelid].dl_chan_tf_size[j]);
}
/* Set data for associated DCH's if we have any */
i = commontransportchannelid;
- nbap_debug2("PCH-ParametersItem-CTCH-SetupRqstFDD: commontransportchannelid %u next ch %u",commontransportchannelid, nbap_dch_chnl_info[i].next_dch);
+
+ nbap_debug2(" commontransportchannelid %u next ch %u",commontransportchannelid, nbap_dch_chnl_info[i].next_dch);
+
umts_fp_conversation_info->dchs_in_flow_list[0] = commontransportchannelid;
while(nbap_dch_chnl_info[i].next_dch != 0){
i = nbap_dch_chnl_info[i].next_dch;
@@ -32580,9 +32615,15 @@ num_items = 1;
}
}
umts_fp_conversation_info->num_dch_in_flow++;
- nbap_debug1("PCH-ParametersItem-CTCH-SetupRqstFDD: num_dch_in_flow %u", umts_fp_conversation_info->num_dch_in_flow);
+
+ nbap_debug1(" num_dch_in_flow %u", umts_fp_conversation_info->num_dch_in_flow);
+
umts_fp_conversation_info->dchs_in_flow_list[umts_fp_conversation_info->num_dch_in_flow] = i;
set_umts_fp_conv_data(conversation, umts_fp_conversation_info);
+
+ nbap_debug1("Frame %u PCH-ParametersItem-CTCH-SetupRqstFDD End",
+ actx->pinfo->fd->num);
+
}
}
@@ -32622,7 +32663,7 @@ static const per_sequence_t RACH_ParametersItem_CTCH_SetupRqstFDD_sequence[] = {
static int
dissect_nbap_RACH_ParametersItem_CTCH_SetupRqstFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 698 "../../asn1/nbap/nbap.cnf"
+#line 726 "../../asn1/nbap/nbap.cnf"
address dst_addr, null_addr;
conversation_t *conversation;
umts_fp_conversation_info_t *umts_fp_conversation_info;
@@ -34158,7 +34199,7 @@ static const per_sequence_t UnblockResourceIndication_sequence[] = {
static int
dissect_nbap_UnblockResourceIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 500 "../../asn1/nbap/nbap.cnf"
+#line 522 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"UnblockResourceIndication ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
@@ -34179,7 +34220,7 @@ static const per_sequence_t AuditRequiredIndication_sequence[] = {
static int
dissect_nbap_AuditRequiredIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 410 "../../asn1/nbap/nbap.cnf"
+#line 426 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"AuditRequiredIndication ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
@@ -34837,7 +34878,7 @@ static const per_sequence_t CommonMeasurementInitiationRequest_sequence[] = {
static int
dissect_nbap_CommonMeasurementInitiationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 256 "../../asn1/nbap/nbap.cnf"
+#line 259 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonMeasurementInitiationRequest ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
@@ -34955,7 +34996,7 @@ static const per_sequence_t CommonMeasurementInitiationResponse_sequence[] = {
static int
dissect_nbap_CommonMeasurementInitiationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 262 "../../asn1/nbap/nbap.cnf"
+#line 265 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonMeasurementInitiationResponse ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
@@ -35071,7 +35112,7 @@ static const per_sequence_t CommonMeasurementInitiationFailure_sequence[] = {
static int
dissect_nbap_CommonMeasurementInitiationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 268 "../../asn1/nbap/nbap.cnf"
+#line 271 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonMeasurementInitiationFailure ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
@@ -35092,7 +35133,7 @@ static const per_sequence_t CommonMeasurementReport_sequence[] = {
static int
dissect_nbap_CommonMeasurementReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 416 "../../asn1/nbap/nbap.cnf"
+#line 432 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonMeasurementReport ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
@@ -35208,7 +35249,7 @@ static const per_sequence_t CommonMeasurementTerminationRequest_sequence[] = {
static int
dissect_nbap_CommonMeasurementTerminationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 422 "../../asn1/nbap/nbap.cnf"
+#line 438 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonMeasurementTerminationRequest ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
@@ -35229,7 +35270,7 @@ static const per_sequence_t CommonMeasurementFailureIndication_sequence[] = {
static int
dissect_nbap_CommonMeasurementFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 428 "../../asn1/nbap/nbap.cnf"
+#line 444 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonMeasurementFailureIndication ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
@@ -36346,7 +36387,7 @@ static const per_sequence_t ResourceStatusIndication_sequence[] = {
static int
dissect_nbap_ResourceStatusIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 404 "../../asn1/nbap/nbap.cnf"
+#line 420 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"ResourceStatusIndication ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
@@ -37104,7 +37145,7 @@ static const per_sequence_t SystemInformationUpdateRequest_sequence[] = {
static int
dissect_nbap_SystemInformationUpdateRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 235 "../../asn1/nbap/nbap.cnf"
+#line 238 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"SystemInformationUpdateRequest ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
@@ -37175,7 +37216,7 @@ static const per_sequence_t MIB_SB_SIB_InformationItem_SystemInfoUpdateRqst_sequ
static int
dissect_nbap_MIB_SB_SIB_InformationItem_SystemInfoUpdateRqst(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 542 "../../asn1/nbap/nbap.cnf"
+#line 570 "../../asn1/nbap/nbap.cnf"
ib_type = 10; /* not-Used-sIB8 */
segment_type = 0;
@@ -37243,7 +37284,7 @@ static const per_sequence_t SystemInformationUpdateResponse_sequence[] = {
static int
dissect_nbap_SystemInformationUpdateResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 241 "../../asn1/nbap/nbap.cnf"
+#line 244 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"SystemInformationUpdateResponse ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
@@ -37264,7 +37305,7 @@ static const per_sequence_t SystemInformationUpdateFailure_sequence[] = {
static int
dissect_nbap_SystemInformationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 247 "../../asn1/nbap/nbap.cnf"
+#line 250 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"SystemInformationUpdateFailure ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
@@ -37292,6 +37333,7 @@ dissect_nbap_RadioLinkSetupRequestFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
g_nbap_msg_info_for_fp.ddMode = ddMode;
g_nbap_msg_info_for_fp.is_uplink = TRUE;
g_nbap_msg_info_for_fp.dch_crc_present = 2; /* unknown */
+
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkSetupRequest(FDD) ");
/* CRNC -> Node B */
@@ -37768,12 +37810,13 @@ static const per_sequence_t RadioLinkSetupResponseFDD_sequence[] = {
static int
dissect_nbap_RadioLinkSetupResponseFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 213 "../../asn1/nbap/nbap.cnf"
+#line 214 "../../asn1/nbap/nbap.cnf"
g_nbap_msg_info_for_fp.ProcedureCode = ProcedureCode;
g_nbap_msg_info_for_fp.ddMode = ddMode;
g_nbap_msg_info_for_fp.is_uplink = FALSE;
g_nbap_msg_info_for_fp.dch_crc_present = 2; /* unknown */
+
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkSetupResponse(FDD) ");
/* Node B -> CRNC */
@@ -37993,13 +38036,14 @@ static const per_sequence_t RadioLinkSetupFailureFDD_sequence[] = {
static int
dissect_nbap_RadioLinkSetupFailureFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 225 "../../asn1/nbap/nbap.cnf"
+#line 227 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkSetupFailure(FDD) ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_RadioLinkSetupFailureFDD, RadioLinkSetupFailureFDD_sequence);
@@ -38277,7 +38321,7 @@ static const per_sequence_t RadioLinkAdditionRequestFDD_sequence[] = {
static int
dissect_nbap_RadioLinkAdditionRequestFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 274 "../../asn1/nbap/nbap.cnf"
+#line 277 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkAdditionRequest(FDD) ");
@@ -38649,11 +38693,12 @@ static const per_sequence_t RadioLinkAdditionResponseFDD_sequence[] = {
static int
dissect_nbap_RadioLinkAdditionResponseFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 279 "../../asn1/nbap/nbap.cnf"
+#line 282 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkAdditionResponse(FDD) ");
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_RadioLinkAdditionResponseFDD, RadioLinkAdditionResponseFDD_sequence);
@@ -38924,7 +38969,7 @@ static const per_sequence_t RadioLinkAdditionFailureFDD_sequence[] = {
static int
dissect_nbap_RadioLinkAdditionFailureFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 284 "../../asn1/nbap/nbap.cnf"
+#line 288 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkAdditionRequest(FDD) ");
@@ -38933,6 +38978,7 @@ col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkAdditionRequest(FDD) ");
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_RadioLinkAdditionFailureFDD, RadioLinkAdditionFailureFDD_sequence);
@@ -39208,7 +39254,7 @@ static const per_sequence_t RadioLinkReconfigurationPrepareFDD_sequence[] = {
static int
dissect_nbap_RadioLinkReconfigurationPrepareFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 308 "../../asn1/nbap/nbap.cnf"
+#line 315 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationPrepare(FDD) ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
@@ -40831,12 +40877,13 @@ static const per_sequence_t RadioLinkReconfigurationReady_sequence[] = {
static int
dissect_nbap_RadioLinkReconfigurationReady(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 319 "../../asn1/nbap/nbap.cnf"
+#line 326 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationReady ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_RadioLinkReconfigurationReady, RadioLinkReconfigurationReady_sequence);
@@ -40912,12 +40959,13 @@ static const per_sequence_t RadioLinkReconfigurationFailure_sequence[] = {
static int
dissect_nbap_RadioLinkReconfigurationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 325 "../../asn1/nbap/nbap.cnf"
+#line 333 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationFailure ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
+
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationFailure ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
@@ -41020,13 +41068,13 @@ static const per_sequence_t RadioLinkReconfigurationCommit_sequence[] = {
static int
dissect_nbap_RadioLinkReconfigurationCommit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 434 "../../asn1/nbap/nbap.cnf"
+#line 450 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationCommit ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
-#line 2073 "../../asn1/nbap/nbap.cnf"
+#line 2145 "../../asn1/nbap/nbap.cnf"
/*
* Here we need to signal the CFN value, down to FP so
* that lowert layers know when a reconfiguration becomes active
@@ -41050,7 +41098,7 @@ static const per_sequence_t RadioLinkReconfigurationCancel_sequence[] = {
static int
dissect_nbap_RadioLinkReconfigurationCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 440 "../../asn1/nbap/nbap.cnf"
+#line 456 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationCancel ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
@@ -41071,13 +41119,12 @@ static const per_sequence_t RadioLinkReconfigurationRequestFDD_sequence[] = {
static int
dissect_nbap_RadioLinkReconfigurationRequestFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 335 "../../asn1/nbap/nbap.cnf"
+#line 344 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationRequestFDD(FDD) ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
-
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_RadioLinkReconfigurationRequestFDD, RadioLinkReconfigurationRequestFDD_sequence);
@@ -41529,6 +41576,13 @@ static const per_sequence_t RadioLinkReconfigurationResponse_sequence[] = {
static int
dissect_nbap_RadioLinkReconfigurationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 350 "../../asn1/nbap/nbap.cnf"
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationResponse ");
+
+
+
+
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_RadioLinkReconfigurationResponse, RadioLinkReconfigurationResponse_sequence);
@@ -41583,12 +41637,13 @@ static const per_sequence_t RadioLinkDeletionRequest_sequence[] = {
static int
dissect_nbap_RadioLinkDeletionRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 296 "../../asn1/nbap/nbap.cnf"
+#line 301 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkDeletionRequest ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_RadioLinkDeletionRequest, RadioLinkDeletionRequest_sequence);
@@ -41633,12 +41688,13 @@ static const per_sequence_t RadioLinkDeletionResponse_sequence[] = {
static int
dissect_nbap_RadioLinkDeletionResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 302 "../../asn1/nbap/nbap.cnf"
+#line 308 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkDeletionResponse ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_RadioLinkDeletionResponse, RadioLinkDeletionResponse_sequence);
@@ -41654,7 +41710,7 @@ static const per_sequence_t DL_PowerControlRequest_sequence[] = {
static int
dissect_nbap_DL_PowerControlRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 482 "../../asn1/nbap/nbap.cnf"
+#line 504 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"DL-PowerControlRequest ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
@@ -41705,7 +41761,7 @@ static const per_sequence_t DL_PowerTimeslotControlRequest_sequence[] = {
static int
dissect_nbap_DL_PowerTimeslotControlRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 488 "../../asn1/nbap/nbap.cnf"
+#line 510 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"DL-PowerTimeslotControlRequest ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
@@ -41726,7 +41782,7 @@ static const per_sequence_t DedicatedMeasurementInitiationRequest_sequence[] = {
static int
dissect_nbap_DedicatedMeasurementInitiationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 352 "../../asn1/nbap/nbap.cnf"
+#line 366 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementInitiationRequest ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
@@ -41922,12 +41978,13 @@ static const per_sequence_t DedicatedMeasurementInitiationResponse_sequence[] =
static int
dissect_nbap_DedicatedMeasurementInitiationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 358 "../../asn1/nbap/nbap.cnf"
+#line 372 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementInitiationResponse ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_DedicatedMeasurementInitiationResponse, DedicatedMeasurementInitiationResponse_sequence);
@@ -42226,12 +42283,13 @@ static const per_sequence_t DedicatedMeasurementInitiationFailure_sequence[] = {
static int
dissect_nbap_DedicatedMeasurementInitiationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 364 "../../asn1/nbap/nbap.cnf"
+#line 379 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementInitiationFailure ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_DedicatedMeasurementInitiationFailure, DedicatedMeasurementInitiationFailure_sequence);
@@ -42247,12 +42305,13 @@ static const per_sequence_t DedicatedMeasurementReport_sequence[] = {
static int
dissect_nbap_DedicatedMeasurementReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 464 "../../asn1/nbap/nbap.cnf"
+#line 484 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementReport ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_DedicatedMeasurementReport, DedicatedMeasurementReport_sequence);
@@ -42429,7 +42488,7 @@ static const per_sequence_t DedicatedMeasurementTerminationRequest_sequence[] =
static int
dissect_nbap_DedicatedMeasurementTerminationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 470 "../../asn1/nbap/nbap.cnf"
+#line 491 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementTerminationRequest ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
@@ -42450,12 +42509,13 @@ static const per_sequence_t DedicatedMeasurementFailureIndication_sequence[] = {
static int
dissect_nbap_DedicatedMeasurementFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 476 "../../asn1/nbap/nbap.cnf"
+#line 497 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementFailureIndication ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_DedicatedMeasurementFailureIndication, DedicatedMeasurementFailureIndication_sequence);
@@ -42471,12 +42531,13 @@ static const per_sequence_t RadioLinkFailureIndication_sequence[] = {
static int
dissect_nbap_RadioLinkFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 446 "../../asn1/nbap/nbap.cnf"
+#line 462 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkFailureIndication ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_RadioLinkFailureIndication, RadioLinkFailureIndication_sequence);
@@ -42652,12 +42713,13 @@ static const per_sequence_t RadioLinkPreemptionRequiredIndication_sequence[] = {
static int
dissect_nbap_RadioLinkPreemptionRequiredIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 452 "../../asn1/nbap/nbap.cnf"
+#line 469 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkPreemptionRequiredIndication ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_RadioLinkPreemptionRequiredIndication, RadioLinkPreemptionRequiredIndication_sequence);
@@ -42702,12 +42764,14 @@ static const per_sequence_t RadioLinkRestoreIndication_sequence[] = {
static int
dissect_nbap_RadioLinkRestoreIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 458 "../../asn1/nbap/nbap.cnf"
+#line 476 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkRestoreIndication ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
+
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_RadioLinkRestoreIndication, RadioLinkRestoreIndication_sequence);
@@ -42880,7 +42944,7 @@ static const per_sequence_t CompressedModeCommand_sequence[] = {
static int
dissect_nbap_CompressedModeCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 494 "../../asn1/nbap/nbap.cnf"
+#line 516 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"CompressedModeCommand ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
@@ -42901,11 +42965,12 @@ static const per_sequence_t ErrorIndication_sequence[] = {
static int
dissect_nbap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 506 "../../asn1/nbap/nbap.cnf"
+#line 528 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"ErrorIndication ");
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_ErrorIndication, ErrorIndication_sequence);
@@ -42920,11 +42985,10 @@ static const per_sequence_t PrivateMessage_sequence[] = {
static int
dissect_nbap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 514 "../../asn1/nbap/nbap.cnf"
+#line 537 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"PrivateMessage ");
-
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_PrivateMessage, PrivateMessage_sequence);
@@ -42940,7 +43004,7 @@ static const per_sequence_t PhysicalSharedChannelReconfigurationRequestFDD_seque
static int
dissect_nbap_PhysicalSharedChannelReconfigurationRequestFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 370 "../../asn1/nbap/nbap.cnf"
+#line 386 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"PhysicalSharedChannelReconfigurationRequest(FDD) ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
@@ -45408,7 +45472,7 @@ static const per_sequence_t PhysicalSharedChannelReconfigurationResponse_sequenc
static int
dissect_nbap_PhysicalSharedChannelReconfigurationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 376 "../../asn1/nbap/nbap.cnf"
+#line 392 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"PhysicalSharedChannelReconfigurationResponse ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
@@ -45459,7 +45523,7 @@ static const per_sequence_t PhysicalSharedChannelReconfigurationFailure_sequence
static int
dissect_nbap_PhysicalSharedChannelReconfigurationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 382 "../../asn1/nbap/nbap.cnf"
+#line 398 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"PhysicalSharedChannelReconfigurationFailure ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
@@ -46912,6 +46976,12 @@ static const per_sequence_t BearerRearrangementIndication_sequence[] = {
static int
dissect_nbap_BearerRearrangementIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 544 "../../asn1/nbap/nbap.cnf"
+col_set_str(actx->pinfo->cinfo, COL_INFO,"BearerRearrangementIndication ");
+
+
+
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_BearerRearrangementIndication, BearerRearrangementIndication_sequence);
@@ -47208,13 +47278,14 @@ static const per_sequence_t RadioLinkParameterUpdateIndicationFDD_sequence[] = {
static int
dissect_nbap_RadioLinkParameterUpdateIndicationFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 525 "../../asn1/nbap/nbap.cnf"
+#line 552 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkParameterUpdateIndication(FDD) ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_RadioLinkParameterUpdateIndicationFDD, RadioLinkParameterUpdateIndicationFDD_sequence);
@@ -55200,9 +55271,6 @@ static gint nbap_key_cmp(gconstpointer a_ptr, gconstpointer b_ptr, gpointer igno
g_free(key);
}*/
-static void nbap_free_value(gpointer value ){
- g_free(value);
- }
static void nbap_init(void){
guint8 i;
@@ -55216,15 +55284,15 @@ static void nbap_init(void){
/*Initialize*/
com_context_map = g_tree_new_full(nbap_key_cmp,
NULL, /* data pointer, optional */
- NULL,
- nbap_free_value);
+ NULL, /* function to free the memory allocated for the key used when removing the entry */
+ g_free);
/*Initialize structure for muxed flow indication*/
edch_flow_port_map = g_tree_new_full(nbap_key_cmp,
NULL, /* data pointer, optional */
- NULL,
- NULL);
+ NULL, /* function to free the memory allocated for the key used when removing the entry */
+ g_free);
for (i = 0; i < 15; i++) {
lchId_type_table[i+1] = *lch_contents[i];
@@ -68436,7 +68504,7 @@ void proto_register_nbap(void)
NULL, HFILL }},
/*--- End of included file: packet-nbap-hfarr.c ---*/
-#line 489 "../../asn1/nbap/packet-nbap-template.c"
+#line 486 "../../asn1/nbap/packet-nbap-template.c"
};
/* List of subtrees */
@@ -70076,7 +70144,7 @@ void proto_register_nbap(void)
&ett_nbap_Outcome,
/*--- End of included file: packet-nbap-ettarr.c ---*/
-#line 498 "../../asn1/nbap/packet-nbap-template.c"
+#line 495 "../../asn1/nbap/packet-nbap-template.c"
};
/* Register protocol */
@@ -71219,7 +71287,7 @@ proto_reg_handoff_nbap(void)
/*--- End of included file: packet-nbap-dis-tab.c ---*/
-#line 544 "../../asn1/nbap/packet-nbap-template.c"
+#line 541 "../../asn1/nbap/packet-nbap-template.c"
}