Wireshark-dev: Re: [Wireshark-dev] wireshark crashes after adding preference codeto my

From: Martin Mathieson <martin.r.mathieson@xxxxxxxxxxxxxx>
Date: Thu, 27 Jan 2011 16:31:05 +0000
Hi Yosi

On Thu, Jan 27, 2011 at 3:37 PM, Yosi Saggi <yosis@xxxxxxxxxxxxxxxxxxxxx> wrote:

When I call the “mac-lte” dissector I get this message:

"Can't dissect LTE MAC frame because no per-frame info was attached!"

 

You need to create a struct of type mac_lte_info (see packet-mac-lte.h), fill in at least some of the details, and attach it to the frame using p_add_proto_data.

There are 2 examples of this:
- attach_mac_lte_info() in packet-catapult-dct2000.c (which I guess you're not using)
- dissect_mac_lte_heur() in packet-mac-lte.c.  This is enabled by turning on a preference "Try heurisitc LTE-MAC over UDP framing".  See the wiki page for a link to an example program that sends these frames
 

I don’t know what info do I need to add to the “pinfo” so it would work.

If you can help me in this point I will be very grateful.

 

I tried to send to the “mac-lte” dissector the buffer that contains only the MAC data (including the headers of course and all that comes with it (RLC, PDCP and finally IP data).

 


The dissector needs the context that comes from the mac_lte_info struct to decode the frame properly.  Some of the parameters are optional but useful for troubleshooting.  By setting preferences appropriately you can decode all the way up to RRC or IP, and there are stats (from the Telephony menu) for MAC and RLC which I use almost every day.

If you have the fields that go into mac_lte_info in a different format (from the existing heuristic header), you could write a simple dissector that just parsed out the header, filled in the struct and called the mac_lte dissector with the payload.
 
Best regards,
Martin

Any help will be great.

 

Yosi

 

From: wireshark-dev-bounces@xxxxxxxxxxxxx [mailto:wireshark-dev-bounces@xxxxxxxxxxxxx] On Behalf Of Martin Mathieson
Sent: Wednesday, January 26, 2011 12:44 PM


To: Developer support list for Wireshark
Subject: Re: [Wireshark-dev] wireshark crashes after adding preference codeto my

 

I can't see anything immediately wrong with this.  I assume your prefs variables (global_dan_lte_sdk_dissect_MAC and global_dan_lte_sdk_dissect_RLC) are gbooleans with file scope?



I'm wondering why the existing LTE MAC dissector isn't suitable, or can't be made to work with your frames?

Regards,
Martin

On Wed, Jan 26, 2011 at 10:07 AM, Yosi Saggi <yosis@xxxxxxxxxxxxxxxxxxxxx> wrote:

Hi

I wanted to add some options in the preference window for my dissector. This is the code I have added to the “proto_register” function:

 

module_t *dan_lte_sdk_module;

 

proto_dan_lte_sdk = proto_register_protocol ("DAN LTE SDK Protocol", "Dan LTE SDK", "dan_lte_sdk");

 

register_init_routine(dan_defragment_init);

 

proto_register_field_array (proto_dan_lte_sdk, hf, array_length (hf));

proto_register_subtree_array (ett, array_length (ett));

register_dissector("dan_lte_sdk", dissect_dan_lte_sdk, proto_dan_lte_sdk);

 

dan_lte_sdk_module = prefs_register_protocol(proto_dan_lte_sdk, NULL);

 

prefs_register_bool_preference(dan_lte_sdk_module, "Dissect_MAC_Payload",

                               "Dissect MAC Layer from Data Payload",

                               "In Uplink and Downlink data packets, dissect MAC heaser layer "

                               "Disabling MAC dissection will disable RLC dissection automaticly",

                               &global_dan_lte_sdk_dissect_MAC);

 

prefs_register_bool_preference(dan_lte_sdk_module, "Dissect_RLC_Payload",

                               "Dissect RLC Layer from Data Payload",

                               "In Uplink and Downlink data packets, dissect RLC heaser layer ",

                               &global_dan_lte_sdk_dissect_RLC);

 

It works fine until I add those two (even one of them)  "prefs_register_bool_preference" functions. What did I do wrong?

I get a "Runtime Error!" for wireshark.exe Removing those function fixes  it back.

 

Thanks

      Yosi


___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
            mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe

 


___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
            mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe