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