David.Kaatz@xxxxxxxxxxxx wrote:
A question on an issue I have been struggling with.
I am adding a dissector for a propietary protocol that is 'packaged'
within a 802.1Q VLAN packet. I cannot find the right way to register my
dissector. I have been trying to do things like:
dissector_add("802.1Q Virtual LAN.etype", 0x875b, PROTOCOL_handle);
Or
dissector_add("vlan.etype", 0x875b, PROTOCOL_handle);
Or
dissector_add("VLAN.etype", 0x875b, PROTOCOL_handle);
I also have tried with "etype" changed to "Type".
All of which fail because the name (1st parameter) is not found in the
dissector_table. I assumed that I could do some operation like this,
I.e., you assumed that Ethereal distinguishes between Ethernet types
used in an 802.1Q VLAN header and Ethernet types used elsewhere, e.g. in
the Ethernet header, and has separate dissector tables for those fields.
It doesn't. 802.1Q speaks of the field after the tag header as an
Ethernet protocol type, so Ethereal uses the same dissector table for
that field that it uses for the Ethernet protocol type field and the
protocol ID field in SNAP frames with an OID of 00:00:00.
Thus, you would register with
dissector_add("ethertype", 0x875b, PROTOCOL_handle);