From Pradip Biswas, bug 6127 - Added Decode for RRC BCCH (BCH and DL_SCH) messages on RLC-over-UDP.

Add separate codes/cases for BCH-over-BCH and BCH-over-DLSCH.

svn path=/trunk/; revision=38115
This commit is contained in:
Martin Mathieson 2011-07-19 16:41:56 +00:00
parent e7fce8ccb8
commit 049643cf28
4 changed files with 18 additions and 12 deletions

View File

@ -200,11 +200,12 @@ static const value_string rlc_mode_vals[] =
static const value_string rlc_channel_type_vals[] =
{
{ CHANNEL_TYPE_CCCH, "CCCH"},
{ CHANNEL_TYPE_BCCH, "BCCH"},
{ CHANNEL_TYPE_PCCH, "PCCH"},
{ CHANNEL_TYPE_SRB, "SRB"},
{ CHANNEL_TYPE_DRB, "DRB"},
{ CHANNEL_TYPE_CCCH, "CCCH"},
{ CHANNEL_TYPE_BCCH_BCH, "BCCH_BCH"},
{ CHANNEL_TYPE_PCCH, "PCCH"},
{ CHANNEL_TYPE_SRB, "SRB"},
{ CHANNEL_TYPE_DRB, "DRB"},
{ CHANNEL_TYPE_BCCH_DL_SCH, "BCCH_DL_SCH"},
{ 0, NULL }
};
@ -1386,10 +1387,12 @@ static void dissect_rlc_lte_tm(tvbuff_t *tvb, packet_info *pinfo,
}
break;
case CHANNEL_TYPE_BCCH:
/* TODO: Problem is don't know which transport channel... */
return;
case CHANNEL_TYPE_BCCH_BCH:
protocol_handle = find_dissector("lte_rrc.bcch.bch");
break;
case CHANNEL_TYPE_BCCH_DL_SCH:
protocol_handle = find_dissector("lte_rrc.bcch.dl.sch");
break;
case CHANNEL_TYPE_PCCH:
protocol_handle = find_dissector("lte-rrc.pcch");
break;

View File

@ -36,10 +36,11 @@
/* channelType */
#define CHANNEL_TYPE_CCCH 1
#define CHANNEL_TYPE_BCCH 2
#define CHANNEL_TYPE_BCCH_BCH 2
#define CHANNEL_TYPE_PCCH 3
#define CHANNEL_TYPE_SRB 4
#define CHANNEL_TYPE_DRB 5
#define CHANNEL_TYPE_BCCH_DL_SCH 6
/* UMSequenceNumberLength */
#define UM_SN_LENGTH_5_BITS 5

View File

@ -391,7 +391,8 @@ rlc_lte_stat_packet(void *phs, packet_info *pinfo, epan_dissect_t *edt _U_,
/* Common channel stats */
switch (si->channelType) {
case CHANNEL_TYPE_BCCH:
case CHANNEL_TYPE_BCCH_BCH:
case CHANNEL_TYPE_BCCH_DL_SCH:
hs->common_stats.bcch_frames++;
hs->common_stats.bcch_bytes += si->pduLength;
return 1;

View File

@ -187,7 +187,8 @@ rlc_lte_stat_packet(void *phs, packet_info *pinfo, epan_dissect_t *edt _U_,
/* Common channel stats */
switch (si->channelType) {
case CHANNEL_TYPE_BCCH:
case CHANNEL_TYPE_BCCH_BCH:
case CHANNEL_TYPE_BCCH_DL_SCH:
hs->common_stats.bcch_frames++;
hs->common_stats.bcch_bytes += si->pduLength;
return 1;