Hi, Thanks for your reply. But I think you understood my question only partly. See, I have to call a certain higher layer dissector based on a field value of this COOL protocol. Now (according to my understanding) for that I have to make certain modifications to those higher layer dissectors as well (so that they can be called when field value of COOL protocol points at these protocols).
For that I tried to even register my protocol (as plugin) in "register.c" file as well, which contains list of all dissectors of wireshark. But this file fails to identify location of this COOL protocol's dissector during compilation by "make install". And shows "undefined reference to protoo_reg_handoff_COOL" error when compiling. Remember, The dissector written by me works fine if I don't have to pass the data to upper layer protocol. But when I have to pass data to upper layer protocol, its only then that the problem occurs. I hope you understand it better, and would be able to help me out here. Regards, Hammad Kabir On Sun, Aug 12, 2012 at 2:57 PM, Martin Kaiser <[email protected]> wrote: > Hi Hammad, > > Thus wrote hammad kabir ([email protected]): > > > I have recently implemented a wireshark dissector of a relatively > > simple protocol (lets call the protocol as COOL) for a project of > > mine. This dissector gets the data from IP layer and then parses it > > according to protocol definition of COOL protocol. (so far its good). > > But, next step involves passing the data from COOL protocol ( which is > > a plugin dissector in my case) to TCP protocol for further dissection > > of packet. However, I am having a difficult time in getting this > > (later) task done. > > a while ago, I added dissection of DVB-CI messages that contain a tcp or > udp part. Have a look at epan/dissectors/packet-dvbci.c. When the > connection is opened, I call store_lsc_msg_dissector() and try to find > the matching dissector for the selected tcp (or udp) port. > Later in dissect_dvbci_payload_lsc(), case > T_COMMS_SEND_LAST..., I call the tcp dissector using call_dissector() > and pass the message tvb as a parameter. > > Is this similar to your task? > > Regards, > > Martin > ___________________________________________________________________________ > Sent via: Wireshark-dev mailing list <[email protected]> > Archives: http://www.wireshark.org/lists/wireshark-dev > Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev > mailto:[email protected] > ?subject=unsubscribe >
___________________________________________________________________________ Sent via: Wireshark-dev mailing list <[email protected]> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:[email protected]?subject=unsubscribe
