forked from osmocom/wireshark
From Pascal Quantin:
the dissection of the UE capabilities when the RAT type is set to geran-cs (the value part of Classmark 2 starts at the third byte). Moreover it adds a subtree to enhance the display of Mobile Station Classmark 2 and 3 and MS Radio Access Capability IEs. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5867 svn path=/trunk/; revision=36943
This commit is contained in:
parent
94afa45fbf
commit
e0c80c4138
|
@ -96,6 +96,9 @@ VarMeasReport
|
|||
%(DEFAULT_BODY)s
|
||||
|
||||
if(ue_eutra_cap_tvb){
|
||||
guint32 length;
|
||||
proto_item *item;
|
||||
proto_tree *subtree;
|
||||
switch(lte_rrc_rat_type_value){
|
||||
case 0:
|
||||
/* eutra */
|
||||
|
@ -107,12 +110,23 @@ if(ue_eutra_cap_tvb){
|
|||
break;
|
||||
case 2:
|
||||
/* geran-cs */
|
||||
de_ms_cm_2(ue_eutra_cap_tvb, tree, actx->pinfo, 0, 5, NULL, 0);
|
||||
de_ms_cm_3(ue_eutra_cap_tvb, tree, actx->pinfo, 5, tvb_length(ue_eutra_cap_tvb)-5, NULL, 0);
|
||||
/* Mobile Station Classmark 2 is formatted as TLV with the two first bytes set to 0x33 0x03 */
|
||||
item = proto_tree_add_text(tree, ue_eutra_cap_tvb, 0, 5, "Mobile Station Classmark 2");
|
||||
subtree = proto_item_add_subtree(item, ett_lte_rrc_UE_CapabilityRAT_Container);
|
||||
de_ms_cm_2(ue_eutra_cap_tvb, subtree, actx->pinfo, 2, 3, NULL, 0);
|
||||
/* Mobile Station Classmark 3 is formatted as V */
|
||||
length = tvb_length(ue_eutra_cap_tvb)-5;
|
||||
item = proto_tree_add_text(tree, ue_eutra_cap_tvb, 5, length, "Mobile Station Classmark 3");
|
||||
subtree = proto_item_add_subtree(item, ett_lte_rrc_UE_CapabilityRAT_Container);
|
||||
de_ms_cm_3(ue_eutra_cap_tvb, subtree, actx->pinfo, 5, length, NULL, 0);
|
||||
break;
|
||||
case 3:
|
||||
/* geran-ps */
|
||||
de_gmm_ms_radio_acc_cap(ue_eutra_cap_tvb, tree, actx->pinfo, 0, tvb_length(ue_eutra_cap_tvb), NULL, 0);
|
||||
/* MS Radio Access Capability is formatted as V */
|
||||
length = tvb_length(ue_eutra_cap_tvb);
|
||||
item = proto_tree_add_text(tree, ue_eutra_cap_tvb, 0, length, "MS Radio Access Capability");
|
||||
subtree = proto_item_add_subtree(item, ett_lte_rrc_UE_CapabilityRAT_Container);
|
||||
de_gmm_ms_radio_acc_cap(ue_eutra_cap_tvb, subtree, actx->pinfo, 0, length, NULL, 0);
|
||||
break;
|
||||
case 4:
|
||||
/* cdma2000-1XRTT */
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
/* Input file: packet-lte-rrc-template.c */
|
||||
|
||||
#line 1 "packet-lte-rrc-template.c"
|
||||
#line 1 "../../asn1/lte-rrc/packet-lte-rrc-template.c"
|
||||
/* packet-lte-rrc-template.c
|
||||
* Routines for Evolved Universal Terrestrial Radio Access (E-UTRA);
|
||||
* Radio Resource Control (RRC) protocol specification
|
||||
|
@ -58,7 +58,7 @@ static guint32 lte_rrc_rat_type_value = -1;
|
|||
/* Include constants */
|
||||
|
||||
/*--- Included file: packet-lte-rrc-val.h ---*/
|
||||
#line 1 "packet-lte-rrc-val.h"
|
||||
#line 1 "../../asn1/lte-rrc/packet-lte-rrc-val.h"
|
||||
#define maxBands 64
|
||||
#define maxCDMA_BandClass 32
|
||||
#define maxCellBlack 16
|
||||
|
@ -93,14 +93,14 @@ static guint32 lte_rrc_rat_type_value = -1;
|
|||
#define maxReestabInfo 32
|
||||
|
||||
/*--- End of included file: packet-lte-rrc-val.h ---*/
|
||||
#line 52 "packet-lte-rrc-template.c"
|
||||
#line 52 "../../asn1/lte-rrc/packet-lte-rrc-template.c"
|
||||
|
||||
/* Initialize the protocol and registered fields */
|
||||
static int proto_lte_rrc = -1;
|
||||
|
||||
|
||||
/*--- Included file: packet-lte-rrc-hf.c ---*/
|
||||
#line 1 "packet-lte-rrc-hf.c"
|
||||
#line 1 "../../asn1/lte-rrc/packet-lte-rrc-hf.c"
|
||||
static int hf_lte_rrc_BCCH_BCH_Message_PDU = -1; /* BCCH_BCH_Message */
|
||||
static int hf_lte_rrc_BCCH_DL_SCH_Message_PDU = -1; /* BCCH_DL_SCH_Message */
|
||||
static int hf_lte_rrc_MCCH_Message_PDU = -1; /* MCCH_Message */
|
||||
|
@ -1368,7 +1368,7 @@ static int hf_lte_rrc_key_eNodeB_Star = -1; /* Key_eNodeB_Star */
|
|||
static int hf_lte_rrc_ue_InactiveTime = -1; /* T_ue_InactiveTime */
|
||||
|
||||
/*--- End of included file: packet-lte-rrc-hf.c ---*/
|
||||
#line 57 "packet-lte-rrc-template.c"
|
||||
#line 57 "../../asn1/lte-rrc/packet-lte-rrc-template.c"
|
||||
|
||||
static int hf_lte_rrc_eutra_cap_feat_group_ind_1 = -1;
|
||||
static int hf_lte_rrc_eutra_cap_feat_group_ind_2 = -1;
|
||||
|
@ -1408,7 +1408,7 @@ static int ett_lte_rrc = -1;
|
|||
|
||||
|
||||
/*--- Included file: packet-lte-rrc-ett.c ---*/
|
||||
#line 1 "packet-lte-rrc-ett.c"
|
||||
#line 1 "../../asn1/lte-rrc/packet-lte-rrc-ett.c"
|
||||
static gint ett_lte_rrc_BCCH_BCH_Message = -1;
|
||||
static gint ett_lte_rrc_BCCH_DL_SCH_Message = -1;
|
||||
static gint ett_lte_rrc_BCCH_DL_SCH_MessageType = -1;
|
||||
|
@ -2079,7 +2079,7 @@ static gint ett_lte_rrc_AdditionalReestabInfo = -1;
|
|||
static gint ett_lte_rrc_RRM_Config = -1;
|
||||
|
||||
/*--- End of included file: packet-lte-rrc-ett.c ---*/
|
||||
#line 95 "packet-lte-rrc-template.c"
|
||||
#line 95 "../../asn1/lte-rrc/packet-lte-rrc-template.c"
|
||||
|
||||
static gint ett_lte_rrc_featureGroupIndicators = -1;
|
||||
|
||||
|
@ -2218,7 +2218,7 @@ static const true_false_string lte_rrc_eutra_cap_feat_group_ind_32_val = {
|
|||
};
|
||||
|
||||
/*--- Included file: packet-lte-rrc-fn.c ---*/
|
||||
#line 1 "packet-lte-rrc-fn.c"
|
||||
#line 1 "../../asn1/lte-rrc/packet-lte-rrc-fn.c"
|
||||
/*--- PDUs declarations ---*/
|
||||
static int dissect_SystemInformationBlockType1_v890_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
|
||||
|
||||
|
@ -16171,6 +16171,9 @@ dissect_lte_rrc_T_ueCapabilityRAT_Container(tvbuff_t *tvb _U_, int offset _U_, a
|
|||
|
||||
|
||||
if(ue_eutra_cap_tvb){
|
||||
guint32 length;
|
||||
proto_item *item;
|
||||
proto_tree *subtree;
|
||||
switch(lte_rrc_rat_type_value){
|
||||
case 0:
|
||||
/* eutra */
|
||||
|
@ -16182,12 +16185,23 @@ if(ue_eutra_cap_tvb){
|
|||
break;
|
||||
case 2:
|
||||
/* geran-cs */
|
||||
de_ms_cm_2(ue_eutra_cap_tvb, tree, actx->pinfo, 0, 5, NULL, 0);
|
||||
de_ms_cm_3(ue_eutra_cap_tvb, tree, actx->pinfo, 5, tvb_length(ue_eutra_cap_tvb)-5, NULL, 0);
|
||||
/* Mobile Station Classmark 2 is formatted as TLV with the two first bytes set to 0x33 0x03 */
|
||||
item = proto_tree_add_text(tree, ue_eutra_cap_tvb, 0, 5, "Mobile Station Classmark 2");
|
||||
subtree = proto_item_add_subtree(item, ett_lte_rrc_UE_CapabilityRAT_Container);
|
||||
de_ms_cm_2(ue_eutra_cap_tvb, subtree, actx->pinfo, 2, 3, NULL, 0);
|
||||
/* Mobile Station Classmark 3 is formatted as V */
|
||||
length = tvb_length(ue_eutra_cap_tvb)-5;
|
||||
item = proto_tree_add_text(tree, ue_eutra_cap_tvb, 5, length, "Mobile Station Classmark 3");
|
||||
subtree = proto_item_add_subtree(item, ett_lte_rrc_UE_CapabilityRAT_Container);
|
||||
de_ms_cm_3(ue_eutra_cap_tvb, subtree, actx->pinfo, 5, length, NULL, 0);
|
||||
break;
|
||||
case 3:
|
||||
/* geran-ps */
|
||||
de_gmm_ms_radio_acc_cap(ue_eutra_cap_tvb, tree, actx->pinfo, 0, tvb_length(ue_eutra_cap_tvb), NULL, 0);
|
||||
/* MS Radio Access Capability is formatted as V */
|
||||
length = tvb_length(ue_eutra_cap_tvb);
|
||||
item = proto_tree_add_text(tree, ue_eutra_cap_tvb, 0, length, "MS Radio Access Capability");
|
||||
subtree = proto_item_add_subtree(item, ett_lte_rrc_UE_CapabilityRAT_Container);
|
||||
de_gmm_ms_radio_acc_cap(ue_eutra_cap_tvb, subtree, actx->pinfo, 0, length, NULL, 0);
|
||||
break;
|
||||
case 4:
|
||||
/* cdma2000-1XRTT */
|
||||
|
@ -19289,7 +19303,7 @@ static int dissect_SystemInformationBlockType1_v890_IEs_PDU(tvbuff_t *tvb _U_, p
|
|||
|
||||
|
||||
/*--- End of included file: packet-lte-rrc-fn.c ---*/
|
||||
#line 232 "packet-lte-rrc-template.c"
|
||||
#line 232 "../../asn1/lte-rrc/packet-lte-rrc-template.c"
|
||||
|
||||
static void
|
||||
dissect_lte_rrc_DL_CCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
||||
|
@ -19366,7 +19380,7 @@ void proto_register_lte_rrc(void) {
|
|||
|
||||
|
||||
/*--- Included file: packet-lte-rrc-hfarr.c ---*/
|
||||
#line 1 "packet-lte-rrc-hfarr.c"
|
||||
#line 1 "../../asn1/lte-rrc/packet-lte-rrc-hfarr.c"
|
||||
{ &hf_lte_rrc_BCCH_BCH_Message_PDU,
|
||||
{ "BCCH-BCH-Message", "lte-rrc.BCCH_BCH_Message",
|
||||
FT_NONE, BASE_NONE, NULL, 0,
|
||||
|
@ -24429,7 +24443,7 @@ void proto_register_lte_rrc(void) {
|
|||
NULL, HFILL }},
|
||||
|
||||
/*--- End of included file: packet-lte-rrc-hfarr.c ---*/
|
||||
#line 307 "packet-lte-rrc-template.c"
|
||||
#line 307 "../../asn1/lte-rrc/packet-lte-rrc-template.c"
|
||||
|
||||
{ &hf_lte_rrc_eutra_cap_feat_group_ind_1,
|
||||
{ "Indicator 1", "lte-rrc.eutra_cap_feat_group_ind_1",
|
||||
|
@ -24566,7 +24580,7 @@ void proto_register_lte_rrc(void) {
|
|||
&ett_lte_rrc,
|
||||
|
||||
/*--- Included file: packet-lte-rrc-ettarr.c ---*/
|
||||
#line 1 "packet-lte-rrc-ettarr.c"
|
||||
#line 1 "../../asn1/lte-rrc/packet-lte-rrc-ettarr.c"
|
||||
&ett_lte_rrc_BCCH_BCH_Message,
|
||||
&ett_lte_rrc_BCCH_DL_SCH_Message,
|
||||
&ett_lte_rrc_BCCH_DL_SCH_MessageType,
|
||||
|
@ -25237,7 +25251,7 @@ void proto_register_lte_rrc(void) {
|
|||
&ett_lte_rrc_RRM_Config,
|
||||
|
||||
/*--- End of included file: packet-lte-rrc-ettarr.c ---*/
|
||||
#line 442 "packet-lte-rrc-template.c"
|
||||
#line 442 "../../asn1/lte-rrc/packet-lte-rrc-template.c"
|
||||
|
||||
&ett_lte_rrc_featureGroupIndicators,
|
||||
};
|
||||
|
@ -25259,7 +25273,7 @@ void proto_register_lte_rrc(void) {
|
|||
/* Register the dissectors defined in lte-rrc.conf */
|
||||
|
||||
/*--- Included file: packet-lte-rrc-dis-reg.c ---*/
|
||||
#line 1 "packet-lte-rrc-dis-reg.c"
|
||||
#line 1 "../../asn1/lte-rrc/packet-lte-rrc-dis-reg.c"
|
||||
new_register_dissector("lte-rrc.bcch.bch", dissect_BCCH_BCH_Message_PDU, proto_lte_rrc);
|
||||
new_register_dissector("lte-rrc.bcch.dl.sch", dissect_BCCH_DL_SCH_Message_PDU, proto_lte_rrc);
|
||||
new_register_dissector("lte-rrc.mcch", dissect_MCCH_Message_PDU, proto_lte_rrc);
|
||||
|
@ -25273,7 +25287,7 @@ void proto_register_lte_rrc(void) {
|
|||
|
||||
|
||||
/*--- End of included file: packet-lte-rrc-dis-reg.c ---*/
|
||||
#line 462 "packet-lte-rrc-template.c"
|
||||
#line 462 "../../asn1/lte-rrc/packet-lte-rrc-template.c"
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
/* Input file: packet-lte-rrc-template.h */
|
||||
|
||||
#line 1 "packet-lte-rrc-template.h"
|
||||
#line 1 "../../asn1/lte-rrc/packet-lte-rrc-template.h"
|
||||
/* packet-llc-rrc-template.h
|
||||
* Copyright 2009, Anders Broman <anders.broman@ericsson.com>
|
||||
*
|
||||
|
@ -35,7 +35,7 @@
|
|||
|
||||
|
||||
/*--- Included file: packet-lte-rrc-exp.h ---*/
|
||||
#line 1 "packet-lte-rrc-exp.h"
|
||||
#line 1 "../../asn1/lte-rrc/packet-lte-rrc-exp.h"
|
||||
int dissect_lte_rrc_UE_EUTRA_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
|
||||
int dissect_lte_rrc_HandoverCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
|
||||
int dissect_lte_rrc_HandoverPreparationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
|
||||
|
@ -46,6 +46,6 @@ int dissect_lte_rrc_HandoverPreparationInformation_PDU(tvbuff_t *tvb _U_, packet
|
|||
int dissect_lte_rrc_UERadioAccessCapabilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
|
||||
|
||||
/*--- End of included file: packet-lte-rrc-exp.h ---*/
|
||||
#line 29 "packet-lte-rrc-template.h"
|
||||
#line 29 "../../asn1/lte-rrc/packet-lte-rrc-template.h"
|
||||
|
||||
#endif /* PACKET_LTE_RRC_H */
|
||||
|
|
Loading…
Reference in New Issue