M2AP: fix dissection of procedure codes

Change-Id: I6c8f01e65a16561ff78593edc263fb26d99c182b
Reviewed-on: https://code.wireshark.org/review/17552
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
This commit is contained in:
Pascal Quantin 2016-09-07 10:54:08 +02:00
parent 773c71f0bc
commit 859cf86c8d
3 changed files with 39 additions and 38 deletions

View File

@ -52,6 +52,7 @@ ProtocolIE-Field/value ie_field_value
#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
#.FN_PARS ProcedureCode VAL_PTR=&ProcedureCode
#.FN_FTR ProcedureCode
col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s",
val_to_str_ext(ProcedureCode, &m2ap_ProcedureCode_vals_ext,

View File

@ -123,7 +123,7 @@ dissect_m2ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_
proto_tree *m2ap_tree = NULL;
/* make entry in the Protocol column on summary display */
col_set_str(pinfo->cinfo, COL_PROTOCOL, PNAME);
col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
m2ap_item = proto_tree_add_item(tree, proto_m2ap, tvb, 0, -1, ENC_NA);
m2ap_tree = proto_item_add_subtree(m2ap_item, ett_m2ap);

View File

@ -527,9 +527,9 @@ static value_string_ext m2ap_ProcedureCode_vals_ext = VALUE_STRING_EXT_INIT(m2ap
static int
dissect_m2ap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 255U, NULL, FALSE);
0U, 255U, &ProcedureCode, FALSE);
#line 56 "./asn1/m2ap/m2ap.cnf"
#line 57 "./asn1/m2ap/m2ap.cnf"
col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s",
val_to_str_ext(ProcedureCode, &m2ap_ProcedureCode_vals_ext,
"unknown message"));
@ -828,7 +828,7 @@ dissect_m2ap_BitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
0U, G_GUINT64_CONSTANT(10000000000), NULL, FALSE);
#line 103 "./asn1/m2ap/m2ap.cnf"
#line 104 "./asn1/m2ap/m2ap.cnf"
proto_item_append_text(actx->created_item, "bit/s");
@ -959,7 +959,7 @@ dissect_m2ap_Cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, prot
static int
dissect_m2ap_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 74 "./asn1/m2ap/m2ap.cnf"
#line 75 "./asn1/m2ap/m2ap.cnf"
tvbuff_t *parameter_tvb=NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3, 3, FALSE, &parameter_tvb);
@ -1305,7 +1305,7 @@ dissect_m2ap_GTP_TEID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p
static int
dissect_m2ap_IPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 83 "./asn1/m2ap/m2ap.cnf"
#line 84 "./asn1/m2ap/m2ap.cnf"
tvbuff_t *parameter_tvb=NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4, 16, FALSE, &parameter_tvb);
@ -1887,7 +1887,7 @@ static const per_sequence_t SessionStartRequest_sequence[] = {
static int
dissect_m2ap_SessionStartRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 106 "./asn1/m2ap/m2ap.cnf"
#line 107 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Session Start Request");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -1904,7 +1904,7 @@ static const per_sequence_t SessionStartResponse_sequence[] = {
static int
dissect_m2ap_SessionStartResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 108 "./asn1/m2ap/m2ap.cnf"
#line 109 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Session Start Response");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -1921,7 +1921,7 @@ static const per_sequence_t SessionStartFailure_sequence[] = {
static int
dissect_m2ap_SessionStartFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 110 "./asn1/m2ap/m2ap.cnf"
#line 111 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Session Start Failure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -1938,7 +1938,7 @@ static const per_sequence_t SessionStopRequest_sequence[] = {
static int
dissect_m2ap_SessionStopRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 112 "./asn1/m2ap/m2ap.cnf"
#line 113 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Session Stop Request");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -1955,7 +1955,7 @@ static const per_sequence_t SessionStopResponse_sequence[] = {
static int
dissect_m2ap_SessionStopResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 114 "./asn1/m2ap/m2ap.cnf"
#line 115 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Session Stop Response");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -1972,7 +1972,7 @@ static const per_sequence_t SessionUpdateRequest_sequence[] = {
static int
dissect_m2ap_SessionUpdateRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 116 "./asn1/m2ap/m2ap.cnf"
#line 117 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Session Update Request");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -1989,7 +1989,7 @@ static const per_sequence_t SessionUpdateResponse_sequence[] = {
static int
dissect_m2ap_SessionUpdateResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 118 "./asn1/m2ap/m2ap.cnf"
#line 119 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Session Update Response");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -2006,7 +2006,7 @@ static const per_sequence_t SessionUpdateFailure_sequence[] = {
static int
dissect_m2ap_SessionUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 120 "./asn1/m2ap/m2ap.cnf"
#line 121 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Session Update Failure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -2023,7 +2023,7 @@ static const per_sequence_t MbmsSchedulingInformation_sequence[] = {
static int
dissect_m2ap_MbmsSchedulingInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 122 "./asn1/m2ap/m2ap.cnf"
#line 123 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Scheduling Information");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -2128,7 +2128,7 @@ static const per_sequence_t MbmsSchedulingInformationResponse_sequence[] = {
static int
dissect_m2ap_MbmsSchedulingInformationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 124 "./asn1/m2ap/m2ap.cnf"
#line 125 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Scheduling Information Response");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -2145,7 +2145,7 @@ static const per_sequence_t M2SetupRequest_sequence[] = {
static int
dissect_m2ap_M2SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 126 "./asn1/m2ap/m2ap.cnf"
#line 127 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "M2 Setup Request");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -2176,7 +2176,7 @@ static const per_sequence_t M2SetupResponse_sequence[] = {
static int
dissect_m2ap_M2SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 128 "./asn1/m2ap/m2ap.cnf"
#line 129 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "M2 Setup Response");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -2207,7 +2207,7 @@ static const per_sequence_t M2SetupFailure_sequence[] = {
static int
dissect_m2ap_M2SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 130 "./asn1/m2ap/m2ap.cnf"
#line 131 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "M2 Setup Failure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -2224,7 +2224,7 @@ static const per_sequence_t ENBConfigurationUpdate_sequence[] = {
static int
dissect_m2ap_ENBConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 132 "./asn1/m2ap/m2ap.cnf"
#line 133 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "eNB Configuration Update");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -2255,7 +2255,7 @@ static const per_sequence_t ENBConfigurationUpdateAcknowledge_sequence[] = {
static int
dissect_m2ap_ENBConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 134 "./asn1/m2ap/m2ap.cnf"
#line 135 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "eNB Configuration Update Acknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -2272,7 +2272,7 @@ static const per_sequence_t ENBConfigurationUpdateFailure_sequence[] = {
static int
dissect_m2ap_ENBConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 136 "./asn1/m2ap/m2ap.cnf"
#line 137 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "eNB Configuration Update Failure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -2289,7 +2289,7 @@ static const per_sequence_t MCEConfigurationUpdate_sequence[] = {
static int
dissect_m2ap_MCEConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 138 "./asn1/m2ap/m2ap.cnf"
#line 139 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "MCE Configuration Update");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -2306,7 +2306,7 @@ static const per_sequence_t MCEConfigurationUpdateAcknowledge_sequence[] = {
static int
dissect_m2ap_MCEConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 140 "./asn1/m2ap/m2ap.cnf"
#line 141 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "MCE Configuration Update Acknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -2323,7 +2323,7 @@ static const per_sequence_t MCEConfigurationUpdateFailure_sequence[] = {
static int
dissect_m2ap_MCEConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 142 "./asn1/m2ap/m2ap.cnf"
#line 143 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "MCE Configuration Update Failure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -2340,7 +2340,7 @@ static const per_sequence_t ErrorIndication_sequence[] = {
static int
dissect_m2ap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 144 "./asn1/m2ap/m2ap.cnf"
#line 145 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "Error Indication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -2357,7 +2357,7 @@ static const per_sequence_t Reset_sequence[] = {
static int
dissect_m2ap_Reset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 146 "./asn1/m2ap/m2ap.cnf"
#line 147 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "Reset");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -2425,7 +2425,7 @@ static const per_sequence_t ResetAcknowledge_sequence[] = {
static int
dissect_m2ap_ResetAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 148 "./asn1/m2ap/m2ap.cnf"
#line 149 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "Reset Acknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -2456,7 +2456,7 @@ static const per_sequence_t PrivateMessage_sequence[] = {
static int
dissect_m2ap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 150 "./asn1/m2ap/m2ap.cnf"
#line 151 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "Private Message");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -2473,7 +2473,7 @@ static const per_sequence_t MbmsServiceCountingRequest_sequence[] = {
static int
dissect_m2ap_MbmsServiceCountingRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 152 "./asn1/m2ap/m2ap.cnf"
#line 153 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Service Counting Request");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -2519,7 +2519,7 @@ static const per_sequence_t MbmsServiceCountingResponse_sequence[] = {
static int
dissect_m2ap_MbmsServiceCountingResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 154 "./asn1/m2ap/m2ap.cnf"
#line 155 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Service Counting Response");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -2536,7 +2536,7 @@ static const per_sequence_t MbmsServiceCountingFailure_sequence[] = {
static int
dissect_m2ap_MbmsServiceCountingFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 156 "./asn1/m2ap/m2ap.cnf"
#line 157 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Service Counting Failure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -2553,7 +2553,7 @@ static const per_sequence_t MbmsServiceCountingResultsReport_sequence[] = {
static int
dissect_m2ap_MbmsServiceCountingResultsReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 158 "./asn1/m2ap/m2ap.cnf"
#line 159 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Service Counting Results Report");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -2610,7 +2610,7 @@ static const per_sequence_t MbmsOverloadNotification_sequence[] = {
static int
dissect_m2ap_MbmsOverloadNotification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 160 "./asn1/m2ap/m2ap.cnf"
#line 161 "./asn1/m2ap/m2ap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO, "MBMS Overload Notification");
@ -2668,7 +2668,7 @@ dissect_m2ap_Active_MBMS_Session_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
static int
dissect_m2ap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 63 "./asn1/m2ap/m2ap.cnf"
#line 64 "./asn1/m2ap/m2ap.cnf"
message_type = INITIATING_MESSAGE;
@ -2697,7 +2697,7 @@ dissect_m2ap_InitiatingMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_m2ap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 67 "./asn1/m2ap/m2ap.cnf"
#line 68 "./asn1/m2ap/m2ap.cnf"
message_type = SUCCESSFUL_OUTCOME;
@ -2726,7 +2726,7 @@ dissect_m2ap_SuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_m2ap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 71 "./asn1/m2ap/m2ap.cnf"
#line 72 "./asn1/m2ap/m2ap.cnf"
message_type = UNSUCCESSFUL_OUTCOME;
@ -3388,7 +3388,7 @@ dissect_m2ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_
proto_tree *m2ap_tree = NULL;
/* make entry in the Protocol column on summary display */
col_set_str(pinfo->cinfo, COL_PROTOCOL, PNAME);
col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
m2ap_item = proto_tree_add_item(tree, proto_m2ap, tvb, 0, -1, ENC_NA);
m2ap_tree = proto_item_add_subtree(m2ap_item, ett_m2ap);