Ethereal-dev: Re: [Ethereal-dev] dealing with 2 dissectors on the same port

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

From: Michael Tuexen <Michael.Tuexen@xxxxxxxxxxxxxxxxx>
Date: Thu, 20 Jun 2002 22:43:46 +0200
Jeff,

I sent the previous mail too early. Looking at IANA
the port number 3565 is assigned to M2PA.

Best regards
Michael

On Thursday, June 20, 2002, at 10:27 PM, Michael Tuexen wrote:

Jeff,

the easiest way is to use a compliant M2?A implementation. Isn't
this a possibility to change the code to provide the SCTP stack
with the correct PPI?

On the other hand it is not OK to register the m2pa dissector
under the M2UA port number. There is no reason to do it: The
number is not mentioned in the ID, nor at IANA.
So the registration should be removed. It only brings up
problems once IANA has assigned a number.

For the port based ULP selection the SCTP dissector uses the
provided infrastrukture: It calls:

gboolean
dissector_try_port(dissector_table_t sub_dissectors, guint32 port,
    tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)

from epan/packet.c

It simply uses a hash table. So this stuff would have to be modified
to support a list of dissectors and return the first one which is
not activated. That would be the way to provide the feature. Gerald
is the author of that file, so you may ask him if this could be changed.
But the problem is due to a bug in the M2PA dissector, because it registers
for it port which is not assigned to that protocol. So I'm not sure
what Gerald thinks.

Best regards
Michael


On Thursday, June 20, 2002, at 09:20 PM, Jeff Morriss wrote:


Michael,

SCTP tries first to find the ULP by looking at the Payload
Protocol Identifier. Only if that does not work the port is
used.
M2UA uses PPI = 2 and M2PA uses PPI = 5.
This means if you use the correct PPI in your M2UA, M2PA
implementation ethereal will find always the correct ULP.
Yo do not need to disable a protocol. By using this you
can also transport M2UA and M2PA over the same assoc and
ethereal will dissect it correctly.

Oops, I forgot to mention that these captures are from an older M2PA implementation which didn't set the PPI... (In fact I also have to use version 1.1 of "packet-m2pa.c".) SCTP has code to look at the ports if the PPI doesn't find a sub-dissector, but then we run into the problem that M2UA and M2PA have the same port...

Regards,
-Jeff

-- Jeff Morriss
Senior Support Engineer
Ulticom, Inc.
Helpdesk: +1-856-787-2765
Fax: +1-856-222-9947



Michael.Tuexen@xxxxxxxxxxxxxxxxx


_______________________________________________
Ethereal-dev mailing list
Ethereal-dev@xxxxxxxxxxxx
http://www.ethereal.com/mailman/listinfo/ethereal-dev