Ethereal-dev: RE: [Ethereal-dev] question RE:conversations

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

From: Jeff Foster <jfoste@xxxxxxxxxxxx>
Date: Mon, 29 Jan 2001 12:52:05 -0600
From: Guy Harris [mailto:gharris@xxxxxxxxxxxx]
Sent: Saturday, January 27, 2001 2:25 PM

> On Fri, Jan 26, 2001 at 02:48:13PM -0600, Jeff Foster wrote:
> > But how does the child know the parent protocol when registering 
> > its self as the conversation dissector?
> 
> In the case of a dissector becoming the conversation dissector as a
> result of a port match, that wouldn't be done by the child dissector,
> it'd be done by "dissector_try_port()" (or "dissector_try_selector()"). 
> Either "dissector_try_port()" would take the protocol ID as an argument,
> or "register_dissector_table()" would.  (Obliging dissectors to register
> themselves with the conversation requires too much work from the
> dissectors.)

I don't follow, this is what we do today. The child dissector sets
the conversation dissector if it is needed. Are you saying that we
replace this with a system that creates a conversation for anything
that uses dissector_try_port?

Can we add a field to packet_info to hold the protocol id of the
calling (parent) dissector.  Then the called (child) dissector can
use this value in the conversation_set_dissector call.  This would
replace the ptype value with the parent dissector id.

Jeff Foster
jfoste@xxxxxxxxxxxx.