Add new strings/dissector function for signalling RRC messages that will add
authormartinm <martinm@f5534014-38df-0310-8fa8-9805f1628bb7>
Fri, 18 Jun 2010 07:07:55 +0000 (07:07 +0000)
committermartinm <martinm@f5534014-38df-0310-8fa8-9805f1628bb7>
Fri, 18 Jun 2010 07:07:55 +0000 (07:07 +0000)
lte_rrc root to the protocol tree. Makes filtering on call signalling easier.

TODO: same for other RRC entry points...

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

asn1/lte-rrc/packet-lte-rrc-template.c
epan/dissectors/packet-lte-rrc.c
epan/dissectors/packet-mac-lte.c
epan/dissectors/packet-pdcp-lte.c
epan/dissectors/packet-rlc-lte.c

index ac58462cd0a3aba6c137b01ad402b1ffc62c8baa..bd211011629be637986f6da78b1664264902db92 100644 (file)
@@ -80,9 +80,59 @@ dissect_lte_rrc_DL_CCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
                dissect_DL_CCCH_Message_PDU(tvb, pinfo, lte_rrc_tree);
        }
+}
+
+static void
+dissect_lte_rrc_DL_DCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+       proto_item *ti;
+       proto_tree *lte_rrc_tree;
 
+       col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC DL_DCCH");
+       col_clear(pinfo->cinfo, COL_INFO);
+       if (tree) {
+
+               ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, FALSE);
+               lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+               dissect_DL_DCCH_Message_PDU(tvb, pinfo, lte_rrc_tree);
+       }
 }
 
+
+static void
+dissect_lte_rrc_UL_CCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+       proto_item *ti;
+       proto_tree *lte_rrc_tree;
+
+       col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC UL_CCCH");
+       col_clear(pinfo->cinfo, COL_INFO);
+       if (tree) {
+
+               ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, FALSE);
+               lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+               dissect_UL_CCCH_Message_PDU(tvb, pinfo, lte_rrc_tree);
+       }
+}
+
+static void
+dissect_lte_rrc_UL_DCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+       proto_item *ti;
+       proto_tree *lte_rrc_tree;
+
+       col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC UL_DCCH");
+       col_clear(pinfo->cinfo, COL_INFO);
+       if (tree) {
+
+               ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, FALSE);
+               lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+               dissect_UL_DCCH_Message_PDU(tvb, pinfo, lte_rrc_tree);
+       }
+}
+
+
+
 /*--- proto_register_rrc -------------------------------------------*/
 void proto_register_lte_rrc(void) {
 
@@ -101,7 +151,13 @@ void proto_register_lte_rrc(void) {
 
   /* Register protocol */
   proto_lte_rrc = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+  /* These entry points will first create an lte_rrc root node */
   register_dissector("lte_rrc.dl_ccch", dissect_lte_rrc_DL_CCCH, proto_lte_rrc);
+  register_dissector("lte_rrc.dl_dcch", dissect_lte_rrc_DL_DCCH, proto_lte_rrc);
+  register_dissector("lte_rrc.ul_ccch", dissect_lte_rrc_UL_CCCH, proto_lte_rrc);
+  register_dissector("lte_rrc.ul_dcch", dissect_lte_rrc_UL_DCCH, proto_lte_rrc);
+
   /* Register fields and subtrees */
   proto_register_field_array(proto_lte_rrc, hf, array_length(hf));
   proto_register_subtree_array(ett, array_length(ett));
index ed058389a44edf5ee16429ced4307c853498f008..05f3ebce58c152b630de33cdad78d969538a58a5 100644 (file)
@@ -18326,9 +18326,59 @@ dissect_lte_rrc_DL_CCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
                dissect_DL_CCCH_Message_PDU(tvb, pinfo, lte_rrc_tree);
        }
+}
+
+static void
+dissect_lte_rrc_DL_DCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+       proto_item *ti;
+       proto_tree *lte_rrc_tree;
 
+       col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC DL_DCCH");
+       col_clear(pinfo->cinfo, COL_INFO);
+       if (tree) {
+
+               ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, FALSE);
+               lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+               dissect_DL_DCCH_Message_PDU(tvb, pinfo, lte_rrc_tree);
+       }
 }
 
+
+static void
+dissect_lte_rrc_UL_CCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+       proto_item *ti;
+       proto_tree *lte_rrc_tree;
+
+       col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC UL_CCCH");
+       col_clear(pinfo->cinfo, COL_INFO);
+       if (tree) {
+
+               ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, FALSE);
+               lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+               dissect_UL_CCCH_Message_PDU(tvb, pinfo, lte_rrc_tree);
+       }
+}
+
+static void
+dissect_lte_rrc_UL_DCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+       proto_item *ti;
+       proto_tree *lte_rrc_tree;
+
+       col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC UL_DCCH");
+       col_clear(pinfo->cinfo, COL_INFO);
+       if (tree) {
+
+               ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, FALSE);
+               lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
+               dissect_UL_DCCH_Message_PDU(tvb, pinfo, lte_rrc_tree);
+       }
+}
+
+
+
 /*--- proto_register_rrc -------------------------------------------*/
 void proto_register_lte_rrc(void) {
 
@@ -23240,7 +23290,7 @@ void proto_register_lte_rrc(void) {
         NULL, HFILL }},
 
 /*--- End of included file: packet-lte-rrc-hfarr.c ---*/
-#line 93 "packet-lte-rrc-template.c"
+#line 143 "packet-lte-rrc-template.c"
   };
 
   /* List of subtrees */
@@ -23886,13 +23936,19 @@ void proto_register_lte_rrc(void) {
     &ett_lte_rrc_RRM_Config,
 
 /*--- End of included file: packet-lte-rrc-ettarr.c ---*/
-#line 99 "packet-lte-rrc-template.c"
+#line 149 "packet-lte-rrc-template.c"
   };
 
 
   /* Register protocol */
   proto_lte_rrc = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+  /* These entry points will first create an lte_rrc root node */
   register_dissector("lte_rrc.dl_ccch", dissect_lte_rrc_DL_CCCH, proto_lte_rrc);
+  register_dissector("lte_rrc.dl_dcch", dissect_lte_rrc_DL_DCCH, proto_lte_rrc);
+  register_dissector("lte_rrc.ul_ccch", dissect_lte_rrc_UL_CCCH, proto_lte_rrc);
+  register_dissector("lte_rrc.ul_dcch", dissect_lte_rrc_UL_DCCH, proto_lte_rrc);
+
   /* Register fields and subtrees */
   proto_register_field_array(proto_lte_rrc, hf, array_length(hf));
   proto_register_subtree_array(ett, array_length(ett));
@@ -23914,7 +23970,7 @@ void proto_register_lte_rrc(void) {
 
 
 /*--- End of included file: packet-lte-rrc-dis-reg.c ---*/
-#line 111 "packet-lte-rrc-template.c"
+#line 167 "packet-lte-rrc-template.c"
 
 }
 
index ca11fb5d42a3128df8d25b7b4496f62624625a4b..2b7b55d914f4e56125711f180d79c874d7b1ec78 100644 (file)
@@ -2644,10 +2644,10 @@ static void dissect_ulsch_or_dlsch(tvbuff_t *tvb, packet_info *pinfo, proto_tree
             /* Get appropriate dissector handle */
             volatile dissector_handle_t protocol_handle = 0;
             if (p_mac_lte_info->direction == DIRECTION_UPLINK) {
-                protocol_handle = find_dissector("lte-rrc.ul.ccch");
+                protocol_handle = find_dissector("lte_rrc.ul_ccch");
             }
             else {
-                protocol_handle = find_dissector("lte-rrc.dl.ccch");
+                protocol_handle = find_dissector("lte_rrc.dl_ccch");
             }
 
             /* Hide raw view of bytes */
index 895aead41979eb106c551deebb909ebb1dcb52d0..c3c248130eadbda2fa906c62d00dc4eae3e46301 100644 (file)
@@ -1327,10 +1327,10 @@ static dissector_handle_t lookup_rrc_dissector_handle(struct pdcp_lte_info  *p_p
     {
         case Channel_CCCH:
             if (p_pdcp_info->direction == DIRECTION_UPLINK) {
-                rrc_handle = find_dissector("lte-rrc.ul.ccch");
+                rrc_handle = find_dissector("lte_rrc.ul_ccch");
             }
             else {
-                rrc_handle = find_dissector("lte-rrc.dl.ccch");
+                rrc_handle = find_dissector("lte_rrc.dl_ccch");
             }
             break;
         case Channel_PCCH:
@@ -1348,10 +1348,10 @@ static dissector_handle_t lookup_rrc_dissector_handle(struct pdcp_lte_info  *p_p
             break;
         case Channel_DCCH:
             if (p_pdcp_info->direction == DIRECTION_UPLINK) {
-                rrc_handle = find_dissector("lte-rrc.ul.dcch");
+                rrc_handle = find_dissector("lte_rrc.ul_dcch");
             }
             else {
-                rrc_handle = find_dissector("lte-rrc.dl.dcch");
+                rrc_handle = find_dissector("lte_rrc.dl_dcch");
             }
             break;
 
index 23584f299d4ea429aa02aa3dd533a59b8780af09..c14e79af1fb1617cf69a2a00f152ad33bf1f291d 100644 (file)
@@ -1098,10 +1098,10 @@ static void dissect_rlc_lte_tm(tvbuff_t *tvb, packet_info *pinfo,
         switch (p_rlc_lte_info->channelType) {
             case CHANNEL_TYPE_CCCH:
                 if (p_rlc_lte_info->direction == DIRECTION_UPLINK) {
-                    protocol_handle = find_dissector("lte-rrc.ul.ccch");
+                    protocol_handle = find_dissector("lte_rrc.ul_ccch");
                 }
                 else {
-                    protocol_handle = find_dissector("lte-rrc.dl.ccch");
+                    protocol_handle = find_dissector("lte_rrc.dl_ccch");
                 }
                 break;