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 13:30:53 -0800
On Tue, Dec 25, 2001 at 07:46:36PM +0200, Paul Ionescu wrote:
> I just made a initial dissector of DLSw (RFC 1434, RFC 1795, RFC 2166)
> and I attached it to this e-mail with some demo capture of dlsw packets.
> If it is ok, please comit it to the ethereal.

Checked in, with some changes.  Nothing used "dlsw_dissector_add()", and
there was no "dlsw.port" dissector table created, so I removed that
routine, and make "dlsw_handle" local to "proto_reg_handoff_dlsw()" and
used "create_dissector_handle()" to initialize it.

I infer from RFC 1434 that NetBIOS control messages should be handed to
the token ring dissector.  RFC 1434 says

   The DLC Header Length is set to zero for SNA and is set to x'23' for 
   NetBIOS datagrams, indicating a length of 35 bytes.  This includes
   the Access Control (AC) field, the Frame Control (FC) field, 
   Destination MAC Address (DA), the Source MAC Address (SA), the
   Routing Information (RI) field (padded to 18 bytes), the Destination
   link SAP (DSAP), the Source link SAP (SSAP), and the LLC control
   field (UI).

and those fields sound like token ring header fields; it later says

   For the exchange of NetBIOS control messages, the entire DLC header
   is carried as part of the message unit.  This includes the MAC
   header, with the routing information field padded to 18 bytes, and
   the LLC header.  The following message types are affected:
   NETBIOS_NQ, NETBIOS_NR, NETBIOS_ANQ, NETBIOS_ANR, and DATAFRAME when
   being used by NetBIOS systems.  ...

so those are presumably the frame types to be handed to the token ring
dissector.