From Pradip Biswas, bug 6127 - Added Decode for RRC BCCH (BCH and DL_SCH) messages...
authormartinm <martinm@f5534014-38df-0310-8fa8-9805f1628bb7>
Tue, 19 Jul 2011 16:41:56 +0000 (16:41 +0000)
committermartinm <martinm@f5534014-38df-0310-8fa8-9805f1628bb7>
Tue, 19 Jul 2011 16:41:56 +0000 (16:41 +0000)
Add separate codes/cases for BCH-over-BCH and BCH-over-DLSCH.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@38115 f5534014-38df-0310-8fa8-9805f1628bb7

epan/dissectors/packet-rlc-lte.c
epan/dissectors/packet-rlc-lte.h
gtk/rlc_lte_stat_dlg.c
tap-rlcltestat.c

index 4e575a5af003bf945d29224b3e1229fc368da5eb..55d36e8aec91f6d6432208b422485161fa792bee 100644 (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;
index ab85d6cdc8660e18ebe1c9caec43acf2e7327856..e79301a7a58e94c7229168072f2c5b30b9c89d80 100644 (file)
 
 /* 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
index 1ed140233effa9471b2e7b6e78de3ea06b442b8e..c34101940707350a0d63faca9448d5ee2e368fbb 100644 (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;
index e9e291c327ca13f50dec4b7daffd996aa597d7f8..a64c2d9024b3ef4e96382fe6d0cdf80197cc9c34 100644 (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;