Ethereal-dev: Re: [Ethereal-dev] RT-Net plugin bug fix

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

From: Erwin Rol <mailinglists@xxxxxxxxxxxx>
Date: Sun, 17 Aug 2003 06:07:30 +0200
On Sun, 2003-08-17 at 03:08, Guy Harris wrote:
> On Sat, Aug 16, 2003 at 11:03:07AM +0200, Erwin Rol wrote:
> > the attached patch has a bug fix for the RT-Net plugin.
> 
> Checked in.

OK thanx,

> 
> > To fix the problem I changed the ARP dissector so one can use
> > find_dissector("arp").
> 
> Perhaps, instead, the RT-Net dissector should register a dissector table
> to be used with RTNET_TYPE_ values, and the IP and ARP dissectors should
> register themselves in that table.
> 

Isn't that the wrong way around, cause IP/ARP don't know they are
encapsulated in RTNET (or what ever ) ? Or am i miss understanding
something here. 

> This would mean we'd have to make sure that a dissector registering
> itself in a non-existent table doesn't cause a crash - of course, that
> would then mean that a dissector registering itself in a table that
> doesn't exist because there's a typo in the table name, rather than
> because the table is from a plugin and that plugin isn't getting loaded,
> would silently fail, with no indication of the error.
> 

This brings up a interesting question , what is the advantage of plugins
compared to static build in dissectors ? I used plugins cause i wasn't
sure if stuff would be accepted into Ethereal, and than a plugin would
be easier to distribute. 

> It'd also mean that the table of RTNET_TYPE_ values would have to be in
> a header file in the main Ethereal directory, or a non-plugin dissector
> would have to include a header from a plugin dissector, or the IP and
> ARP dissectors would have to use raw numbers rather than RTNET_TYPE_
> #defines to register themselves.

- Erwin