Wireshark-dev: Re: [Wireshark-dev] About conflict dissectors decode order
From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Fri, 17 Jul 2009 10:40:43 -0700

On Jul 17, 2009, at 5:15 AM, Sean wrote:

I have a question regarding the dissectors loading order,
Suppose several dissectors registered with the same UDP port or Ethernet type to wireshark,
Which one would be the default decoder?

Currently, whichever one happens to be registered last and hasn't been disabled.

Wireshark specifies neither the order in which dissectors get registered nor whether the one that "sticks" is the one that's registered first, the one that's registered last, or some other dissector.

Is there anyway to specify one dissector as the default decoder?

	1) Disable all the other ones.

2) Arrange that only the one you want as the default register with a port number, and have all the others register using dissector_add_handle(), so you can use Decode As to force that dissector to be used for the UDP port number or Ethernet type in question.

3) Make them heuristic dissectors, so they can figure out which of them should handle the traffic in question. That would work only for UDP; in any case where two protocols are using the same Ethernet type, the IEEE Police need to go after whichever of them didn't get that Ethernet type assigned to them by the IEEE, and crack their skull a bit.