On Tue, Jan 09, 2001 at 11:48:46PM +0200, Paul Ionescu wrote:
> I have made a patch to frame relay dissector to interpret the payload as
> in RFC 2427
> or cisco encapsulation.
> The patch is attached to this email.
> If it is ok, please commit.
Checked in, with some changes - I took the stuff in "packet-llc.c" that
handles SNAP-encapsulated frames and made it a routine by itself
(along the lines of, for example, "dissect_xdlc_control()"); it's called
by the LLC dissector, and also used by the Frame Relay dissector for
SNAP-encapsulated frames.
That way, the Frame Relay dissector will automatically handle all
Ethernet packet types in SNAP-encapsulated frames, as well as some
non-Ethernet packet types.
In addition, the RFC 2427 scheme for putting bridged 802.x/FDDI frames
into Frame Relay frames is similar to the RFC 2684 scheme for doing that
over ATM, so moving the code to handle that into "dissect_snap()" could
allow the ATM dissector to handle that. (I also put in code for bridged
FDDI frames, under the assumption that MAC addresses in those bridged
frames won't be bit-reversed - they'll presumably either always be
bit-reversed or always not be bit-reversed, unlike MAC addresses in raw
FDDI captures which are bit-reversed or not depending on, apparently,
the whims of the FDDI card and the card's driver, sigh.)
I also fixed the Frame Relay dissector so that it calls subdissectors
regardless of whether a full protocol tree dissection is being done or
not; calls to subdissectors should *NOT* be inside "if (tree)", because
subdissectors do important work even when not building a protocol tree
(setting the Protocol and Info columns, building tables of RPC
requests/responses, etc.).