Add channel id to UDP framing protocol and allow to dissect only the header of a signalling PDU (as we do for data PDUs)

svn path=/trunk/; revision=50381
This commit is contained in:
Pascal Quantin 2013-07-04 12:11:54 +00:00
parent 047c252e93
commit df562fe9f5
2 changed files with 11 additions and 0 deletions

View File

@ -942,6 +942,10 @@ static gboolean dissect_pdcp_lte_heur(tvbuff_t *tvb, packet_info *pinfo,
p_pdcp_lte_info->profile = tvb_get_ntohs(tvb, offset);
offset += 2;
break;
case PDCP_LTE_CHANNEL_ID_TAG:
p_pdcp_lte_info->channelId = tvb_get_ntohs(tvb, offset);
offset += 2;
break;
case PDCP_LTE_PAYLOAD_TAG:
/* Have reached data, so get out of loop */
@ -1059,6 +1063,11 @@ static void dissect_pdcp_lte(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
write_pdu_label_and_info(root_ti, pinfo, " sn=%-2u ", seqnum);
offset++;
if (tvb_length_remaining(tvb, offset) == 0) {
/* Only PDCP header was captured, stop dissection here */
return;
}
/* RRC data is all but last 4 bytes.
Call lte-rrc dissector (according to direction and channel type) */
if (global_pdcp_dissect_signalling_plane_as_rrc) {

View File

@ -161,6 +161,8 @@ typedef struct pdcp_lte_info
#define PDCP_LTE_ROHC_PROFILE_TAG 0x0C
/* 2 bytes, network order */
#define PDCP_LTE_CHANNEL_ID_TAG 0x0D
/* 2 bytes, network order */
/* PDCP PDU. Following this tag comes the actual PDCP PDU (there is no length, the PDU
continues until the end of the frame) */