GTPv2: Add dissect of F-Container in Configuration Transfer Tunnel

This commit is contained in:
Joakim Karlsson 2021-04-16 10:47:17 +02:00 committed by Wireshark GitLab Utility
parent 1d623fd541
commit 6d72eb7a30
4 changed files with 218 additions and 198 deletions

View File

@ -31,6 +31,7 @@ LastVisitedEUTRANCellInformation_PDU
LastVisitedGERANCellInformation_PDU
MDTMode_PDU
SourceeNB-ToTargeteNB-TransparentContainer_PDU
SONConfigurationTransfer_PDU
SONtransferApplicationIdentity_PDU
SONtransferRequestContainer_PDU
SONtransferRequestContainer
@ -51,6 +52,7 @@ LastVisitedGERANCellInformation
MDTMode
S1AP-PDU
SourceeNB-ToTargeteNB-TransparentContainer
SONConfigurationTransfer
SONtransferApplicationIdentity
SONtransferRequestContainer
SONtransferResponseContainer

View File

@ -937,6 +937,7 @@ static expert_field ei_gtpv2_apn_too_long = EI_INIT;
#define GTPV2_FORWARD_CTX_ACKNOWLEDGE 138
#define GTPV2_RELOCATION_CANCEL_REQUEST 139
#define GTPV2_RELOCATION_CANCEL_RESPONSE 140
#define GTPV2_CONFIGURATION_TRANSFER_TUNNEL 141
#define GTPV2_RAN_INFORMATION_RELAY 152
#define GTPV2_DL_DATA_NOTIF_ACK 177
@ -5257,6 +5258,22 @@ dissect_gtpv2_F_container(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, p
break;
}
}
if (message_type == GTPV2_CONFIGURATION_TRANSFER_TUNNEL) {
/* 7.3.18 Configuration Transfer Tunnel */
switch (container_type) {
case 3:
/* SON Configuration Transfer
* This IE shall be included to contain the "SON Configuration Transfer" as specified in 3GPP TS 36.413 [10].
* The Container Type shall be set to 3.
*/
sub_tree = proto_tree_add_subtree(tree, tvb, offset, length, ett_gtpv2_eutran_con, NULL, "SON Configuration Transfer");
new_tvb = tvb_new_subset_length(tvb, offset, length);
dissect_s1ap_SONConfigurationTransfer_PDU(new_tvb, pinfo, sub_tree, NULL);
return;
default:
break;
}
}
proto_tree_add_expert(tree, pinfo, &ei_gtpv2_ie_data_not_dissected, tvb, offset, length);
}

File diff suppressed because it is too large Load Diff

View File

@ -54,6 +54,7 @@ int dissect_s1ap_ImmediateMDT_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pro
int dissect_s1ap_LastVisitedEUTRANCellInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_s1ap_LastVisitedGERANCellInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_s1ap_MDTMode_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_s1ap_SONConfigurationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_s1ap_SourceeNB_ToTargeteNB_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_s1ap_TargeteNB_ToSourceeNB_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_s1ap_UE_HistoryInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);