Ethereal-dev: Re: [Ethereal-dev] Initial DLSw dissector

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <gharris@xxxxxxxxx>
Date: Wed, 26 Dec 2001 14:53:58 -0800
On Wed, Dec 26, 2001 at 11:55:59PM +0200, Paul Ionescu wrote:
> I already tried to use token ring dissector, but I think that it is not
> possible because of one small detail:
> In these 35 bytes reserved for NetBIOS DLC header (actualy token ring
> header), the RIF is put as 18 bytes present all the time.
> So, if you have actualy only 2 bytes of RIF in a normal token ring
> frame, on this DLSW frame you will have 18 bytes of RIF (your 2 bytes +
> 16 padding bytes). In this case the token ring dissector will not work
> properly. And usualy the actual RIF is less than 18 bytes.
> Do you have an ideea how to solve this ?

Have two token-ring dissectors, one of which assumes that the link-layer
header has the RIF padded to 18 bytes (they'd probably both call a
common routine, passing it a gboolean indicating whether the RIF is
padded or not), and one of which behaves like the current one.  The
latter would still be registered as "tr"; the new one would be
registered as "tr_dlsw" or something such as that.

The DLSw dissector would call the "tr_dlsw" dissector; everything else
would continue to use the "tr" dissector.