Wireshark mailing list archives
Re: Passing further information between dissections
From: Alan Bowman <alan.michael.bowman () gmail com>
Date: Mon, 26 Jul 2010 13:13:44 +0100
Perfect, that's exactly what I was after. Thanks very much. Alan On 26 July 2010 09:07, Tarjei Knapstad <tarjei.knapstad () gmail com> wrote:
On 23 July 2010 13:49, Alan Bowman <alan.michael.bowman () gmail com> wrote:I have written two dissectors for some protocols I am using, one of which is wrapped inside the other. Protocol B is used if a particular byte (A6, below) in protocol A is a particular value. I have registered A using register_dissector_table(). I can create a subset tvb and use dissector_try_port() to get protocol B dissector to be called and to have the data (B0..BN) passed to it. However, B's dissection also depends on knowing whether A was sent as a broadcast packet or as a direct response to a request, which is stored in A's header (A2). (Not my design!). Can anyone suggest how I should pass this information to B? Should I tack it onto the start of the tvb as a composite buffer, or is there some way of attaching metadata to it? Is there a similar protocol I should look at? A0 A1 A2 A3 A4 A5 A6 B0 B1 B2 ... BN Thanks in advanceAlan, I think this is usually achieved by passing the data along in the packet_info->private_data field. In your case I guess it would suffice to just pass along a boolean. Hopefully someone will correct me if I'm wrong here, but I think the standard procedure is along these lines: void* saved_private_data = pinfo->private_data; gboolean isBroadcastPacket = check_if_broadcast_packet(/*...*/); pinfo->private_data = &isBroadcastPacket; dissector_try_port(/*...*/); pinfo->private_data = saved_private_data; Regards, Tarjei ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev () wireshark org> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-request () wireshark org?subject=unsubscribe
___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev () wireshark org> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-request () wireshark org?subject=unsubscribe
Current thread:
- Passing further information between dissections Alan Bowman (Jul 23)
- Re: Passing further information between dissections Tarjei Knapstad (Jul 26)
- Re: Passing further information between dissections Anders Broman (Jul 26)
- Re: Passing further information between dissections Alan Bowman (Jul 26)
- Re: Passing further information between dissections Tarjei Knapstad (Jul 26)