Ethereal-cvs: [Ethereal-cvs] cvs commit: ethereal packet-eth.c packet-fddi.c packet-isl.c pack
guy 2001/01/21 16:10:23 CST
Modified files:
. packet-eth.c packet-fddi.c packet-isl.c
packet-ppp.c packet-tr.c
Log:
Start removing "{OLD_}CHECK_DISPLAY_AS_DATA()" calls, and code to set
"pinfo->current_proto"; dissectors called only through dissector tables
and handles don't need to do either of those, as the dissector table and
handle code will do it for them. (Dissectors called directly, or
dissectors that can be attached to conversations, still have to do it
themselves.)
Register the PPP Multilink Protocol, PPP Link Control Protocol, and PPP
IP Control Protocol as official protocols, and register them in PPP's
dissector table rather than having PPP handle them specially; change
"dissect_cp()" to take a protocol ID, get the protocol short name
information from it, and use the protocol ID for the top-level protocol
tree item.
Set the Protocol column in the PPP Multilink Protocol dissector, and set
the Info column before extracting anything from the frame, so that if an
exception is thrown, the Info and Protocol columns will reflect that the
packet is supposed to be a PPP Multilink Protocol frame.
Make the "First fragment" and "Last fragment" flags in the PPP Multilink
Protocol header boolean bitfields, and let "proto_tree_add_boolean()" do
all the heavy lifting when displaying them, rather than doing it by
hand.
Don't extract the sequence number in the PPP Multilink Protocol until
you're ready to put it into the tree, just in case the captured packet
includes the flags but not the sequence number.
Clean up the code to check the FCS of PPP frames - extract it with
"tvb_get_letohs()" or "tvb_get_letohl()", don't extract it byte-by-byte
and then put it together yourself.
Revision Changes Path
1.59 +1 -4 ethereal/packet-eth.c
1.48 +1 -4 ethereal/packet-fddi.c
1.23 +1 -5 ethereal/packet-isl.c
1.55 +149 -118 ethereal/packet-ppp.c
1.58 +1 -5 ethereal/packet-tr.c