Thank you, it helped.
But I want to check for llc.dsap, llc.ssap and llc.control and I can
specify only one value when adding a dissector. How can I either set a more
complex way of registering a dissector or check thses values in my dissector
Thanks
Alex V. Boreskoff
----- Original Message -----
From: "Guy Harris" <gharris@xxxxxxxxx>
To: "Alex V. Boreskoff" <alexboreskoff@xxxxxxxxxx>
Cc: <ethereal-dev@xxxxxxxxxxxx>
Sent: Friday, July 26, 2002 11:06 AM
Subject: Re: [Ethereal-dev] 802.3
> On Fri, Jul 26, 2002 at 10:55:26AM +0400, Alex V. Boreskoff wrote:
> > How to register dissector for 802.3.
>
> What do you mean by "dissector for 802.3"?
>
> If you mean a dissector for the IEEE 802.3 protocol, the Ethernet
> dissector that already exists dissects 802.3 frames, with either a type
> or a length field; there's no mechanism in Ethereal for a dissector that
> *replaces* another dissector, so there's no mechanism in Ethereal to
> register your own dissector for 802.3 frames.
>
> If you mean a dissector for a protocol that runs directly on top of
> 802.3 packets with a type field, you'd have your dissector, in its
> "reg_handoff" routine, do
>
> dissector_add("ethertype", {type field value}, {handle});
>
> where "{type field value}" is the Ethernet type field value for your
> protocol, and "{handle}" is a handle for your dissector, constructed
> with "create_dissector_handle()" or, if you've registered your dissector
> by name in its "register" routine, found with "find_dissector()".
>
> If you mean a dissector for a protcol that runs on top of 802.2 on top
> of 802.3 packets with a length field, your protocol would have a SAP
> value; you'd have your dissector, in its "reg_handoff" routine, do
>
> dissector_add("llc.dsap", {SAP value}, {handle});
>
> where "{SAP value} is the SAP value for your protocol and "{handle}" is
> as described above.
>