NR LTE: add dissection of capabilityRequestFilter for EUTRA and EUTRA-NR RATs

Change-Id: I4c21885a43110228379d684aa739817d473506ae
Reviewed-on: https://code.wireshark.org/review/38139
Petri-Dish: Pascal Quantin <pascal@wireshark.org>
Reviewed-by: Pascal Quantin <pascal@wireshark.org>
This commit is contained in:
Pascal Quantin 2020-08-12 11:39:21 +02:00
parent 7c7f5765d3
commit 057d50bfdf
5 changed files with 28 additions and 0 deletions

View File

@ -53,6 +53,7 @@ RLF-Report-v9e0_PDU
RRCConnectionReconfigurationComplete_PDU
SCG-Config-r12_PDU
SCG-ConfigInfo-r12_PDU
UECapabilityEnquiry_PDU
UEPagingCoverageInformation_PDU
UEPagingCoverageInformation-NB_PDU
UERadioPagingInformation_PDU
@ -74,6 +75,7 @@ RRCConnectionReconfiguration @rrc_conn_reconf
RRCConnectionReconfigurationComplete @rrc_conn_reconf_compl
SCG-Config-r12
SCG-ConfigInfo-r12
UECapabilityEnquiry
UEPagingCoverageInformation @ue_paging_coverage_info
UEPagingCoverageInformation-NB @ue_paging_coverage_info.nb
UERadioAccessCapabilityInformation @ue_radio_access_cap_info

View File

@ -912,8 +912,12 @@ T-Reselection DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_capabilityRequestFilter);
switch(nr_priv->rat_type){
case RAT_Type_nr:
case RAT_Type_eutra_nr:
dissect_nr_rrc_UE_CapabilityRequestFilterNR_PDU(cap_req_filter_tvb, actx->pinfo, subtree, NULL);
break;
case RAT_Type_eutra:
dissect_lte_rrc_UECapabilityEnquiry_PDU(cap_req_filter_tvb, actx->pinfo, subtree, NULL);
break;
default:
break;
}

View File

@ -345,6 +345,7 @@ static int hf_lte_rrc_SC_MCCH_Message_r13_PDU = -1; /* SC_MCCH_Message_r13 */
static int hf_lte_rrc_lte_rrc_MeasurementReport_PDU = -1; /* MeasurementReport */
static int hf_lte_rrc_RRCConnectionReconfiguration_PDU = -1; /* RRCConnectionReconfiguration */
static int hf_lte_rrc_lte_rrc_RRCConnectionReconfigurationComplete_PDU = -1; /* RRCConnectionReconfigurationComplete */
static int hf_lte_rrc_lte_rrc_UECapabilityEnquiry_PDU = -1; /* UECapabilityEnquiry */
static int hf_lte_rrc_UECapabilityInformation_PDU = -1; /* UECapabilityInformation */
static int hf_lte_rrc_lte_rrc_RLF_Report_r9_PDU = -1; /* RLF_Report_r9 */
static int hf_lte_rrc_lte_rrc_RLF_Report_v9e0_PDU = -1; /* RLF_Report_v9e0 */
@ -75526,6 +75527,8 @@ static const per_sequence_t UECapabilityEnquiry_sequence[] = {
static int
dissect_lte_rrc_UECapabilityEnquiry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
proto_item_set_hidden(prot_ti);
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UECapabilityEnquiry");
@ -125580,6 +125583,16 @@ int dissect_lte_rrc_RRCConnectionReconfigurationComplete_PDU(tvbuff_t *tvb _U_,
offset += 7; offset >>= 3;
return offset;
}
int dissect_lte_rrc_UECapabilityEnquiry_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
proto_item_set_hidden(prot_ti);
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_lte_rrc_UECapabilityEnquiry(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_UECapabilityEnquiry_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UECapabilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
proto_item_set_hidden(prot_ti);
@ -126559,6 +126572,10 @@ void proto_register_lte_rrc(void) {
{ "RRCConnectionReconfigurationComplete", "lte-rrc.RRCConnectionReconfigurationComplete_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lte_rrc_lte_rrc_UECapabilityEnquiry_PDU,
{ "UECapabilityEnquiry", "lte-rrc.UECapabilityEnquiry_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_lte_rrc_UECapabilityInformation_PDU,
{ "UECapabilityInformation", "lte-rrc.UECapabilityInformation_element",
FT_NONE, BASE_NONE, NULL, 0,

View File

@ -32,6 +32,7 @@ int dissect_lte_rrc_UEPagingCoverageInformation_PDU(tvbuff_t *tvb _U_, packet_in
int dissect_lte_rrc_UERadioPagingInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_lte_rrc_MeasurementReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_lte_rrc_RRCConnectionReconfigurationComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_lte_rrc_UECapabilityEnquiry_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_lte_rrc_RLF_Report_r9_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_lte_rrc_RLF_Report_v9e0_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_lte_rrc_MeasResultSCG_FailureMRDC_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);

View File

@ -19660,8 +19660,12 @@ dissect_nr_rrc_T_capabilityRequestFilter(tvbuff_t *tvb _U_, int offset _U_, asn1
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_capabilityRequestFilter);
switch(nr_priv->rat_type){
case RAT_Type_nr:
case RAT_Type_eutra_nr:
dissect_nr_rrc_UE_CapabilityRequestFilterNR_PDU(cap_req_filter_tvb, actx->pinfo, subtree, NULL);
break;
case RAT_Type_eutra:
dissect_lte_rrc_UECapabilityEnquiry_PDU(cap_req_filter_tvb, actx->pinfo, subtree, NULL);
break;
default:
break;
}