aboutsummaryrefslogtreecommitdiffstats
path: root/packet-fr.c
AgeCommit message (Collapse)AuthorFilesLines
2001-06-18From Joerg Mayer: explicitly fill in all members of aGuy Harris1-13/+13
"header_field_info" structure, including the ones that are later set by the routines to register fields. svn path=/trunk/; revision=3561
2001-04-17Move the declaration of "etype_vals[]" from "epan/packet.h" toGuy Harris1-1/+2
"etypes.h". svn path=/trunk/; revision=3314
2001-03-31In various Frame Relay and PPP routines that set the length of theGuy Harris1-11/+12
top-level protocol tree items, use "offset" to set the length, rather than fetching the length of the item - "offset" is the offset from the beginning of the Frame Relay or PPP header just past the last field processed in that header, so it indicates how much of the header we've processed. svn path=/trunk/; revision=3215
2001-03-30Call the encapsulation described in Annex E of Q.933 "Q.933Guy Harris1-4/+10
Encapsulation", not "IETF Encapsulation" - RFC's 1490 and 2427 include stuff from that appendix, but say that Annex E is the authoritative source for that information. Include the second byte of the Cisco HDLC type in the top-level protocol tree item. svn path=/trunk/; revision=3213
2001-03-30NLPID's of 0x08 and 0x09 should be labeled as Q.933 and LMI,Guy Harris1-46/+158
respectively, not Q.931 and Q.2931, in Frame Relay. When dissecting Q.933-style multiprotocol encapsulated Frame Relay frames, use the "osinl" dissector table to check for OSI network layer protocols, include the NLPID in the tvbuff you hand to "dissector_try_port()" with that dissector table, and put the NLPID into the protocol tree as an invisible item - the NLPID is considered part of the PDU for those protocols, so you have to include it in the tvbuff, and the dissector will put it into the protocol tree. Also, make sure the top-level entry for the Frame Relay protocol includes all the bytes preceding the payload, and none of the payload bytes. Export a routine to do Q.933-style dissection, and have the WCP dissector call it, rather than duplicating that code in the WCP dissector. Don't register OSI network layer protocols with the "fr.ietf" dissector table; it's now sufficient to register them with the "osinl" dissector table, as the Frame Relay dissector now checks that. Get rid of unnecessary checks for protocols being enabled (if the dissector is always called through handles or dissector tables, the common code for handles and dissector tables will do the checks for you). Get rid of some unnecessary #includes. svn path=/trunk/; revision=3211
2001-03-29Add WCP to the list of Ethernet types in "etype_vals[]", and addGuy Harris1-2/+2
"compressed" to the list of NLPIDs in "nlpid_vals[]". Use "nlpid_vals" for the Frame Relay NLPID field. svn path=/trunk/; revision=3206
2001-03-23Add a macro to extract the DLCI from the address field.Guy Harris1-21/+12
Extract the DLCI only once. svn path=/trunk/; revision=3178
2001-03-23Pull the NLPID for Wellfleet compression into "nlpid.h".Guy Harris1-3/+1
svn path=/trunk/; revision=3173
2001-03-23Updated the frame relay dissector - dissect-fr.cJeff Foster1-27/+109
Added the LMI dissector for frame relay - dissect-lmi.c Added Wellfleet compression dissector - dissect-wcp.c svn path=/trunk/; revision=3168
2001-03-15Add a new Wiretap encapsulation type for Cisco HDLC. Map the NetBSDGuy Harris1-14/+15
DLT_HDLC to it. Make a separate dissector for Cisco HDLC, and add a dissector for Cisco SLARP. Have the PPP dissector call the Cisco HDLC dissector if the address field is the Cisco HDLC unicast or multicast address. Use the Cisco HDLC dissector for the Cisco HDLC Wiretap encapsulation type. Add a new dissector table "chdlctype", for Cisco HDLC packet types (they're *almost* the same as Ethernet types, but 0x8035 is SLARP, not Reverse ARP, and 0x2000 is the Cisco Discovery protocol, for example), replacing "fr.chdlc". Have a "chdlctype()" routine, similar to "ethertype()", used both by the Cisco HDLC and Frame Relay dissectors. Have a "chdlc_vals[]" "value_string" table for Cisco HDLC types and protocol names. Split the packet type field in the Frame Relay dissector into separate SNAP and Cisco HDLC fields, and give them the Ethernet type and Cisco HDLC type "value_string" tables, respectively. svn path=/trunk/; revision=3133
2001-01-25Remove more "CHECK_DISPLAY_AS_DATA()" calls and "pinfo->current_proto ="Guy Harris1-4/+1
statements. Move the setting of the Protocol column in various dissectors before anything is fetched from the packet, and also clear the Info column at that point in those and some other dissectors, so that if an exception is thrown, the columns don't reflect the previous protocol. "Tvbuffify" the Mobile IP dissector (it took old-style arguments, and then converted them into tvbuff arguments, so there wasn't much to do, other than to fix references to "fd" to refer to "pinfo->fd"). In the SCTP dissector, refer to the port type and source and destination ports through "pinfo" rather than through the global "pi", as it's a tvbuffified dissector. In the SMTP and Time Protocol dissectors, use "pinfo->match_port" rather than "TCP_PORT_SMTP" when checking whether the packet is a request or reply, just in case somebody makes a non-standard port be dissected as SMTP or Time. (Also, remove a bogus comment from the Time dissector; it was probably cut-and-pasted from the TFTP dissector.) svn path=/trunk/; revision=2938
2001-01-13Make GRE use a dissector table for its protocol types, and registerGuy Harris1-5/+4
dissectors for protcools that can be encapsulated inside GRE in that table. Fix a bug in the handling of WCCPv2 IP encapsulation (it was constructing the next tvbuff before, rather than after, advancing the offset past the redirection header). svn path=/trunk/; revision=2893
2001-01-10Make the stuff to handle SNAP frames (OUI, PID, payload) a routine ofGuy Harris1-44/+126
its own; it's used not only by LLC, but by Frame Relay with RFC 2427 and ATM with RFC 2684. Support for RFC 2427-encapsulation Frame Relay packets, from Paul Ionescu. Get rid of the CISCO_IP PPP protocol type - Cisco HDLC uses, in most cases, Ethernet packet types, so use ETHERTYPE_IP instead (they're both 0x0800). svn path=/trunk/; revision=2854
2001-01-09Register the IPX dissector, make it static, and call it through aGuy Harris1-3/+12
handle. Call the IP dissector through a handle in the Frame Relay dissector. svn path=/trunk/; revision=2851
2001-01-09Add an additional "protocol index" argument to "{old_}dissector_add()",Guy Harris1-3/+3
"{old_}heur_dissector_add()", "{old_}conv_dissector_add()", and "register_dissector()", so that an entry in those tables has associated with it the protocol index of the protocol the dissector handles (or -1, if there is no protocol index for it). This is for future use in a number of places. (Arguably, "proto_register_protocol()" should take a dissector pointer as an argument, but 1) it'd have to handle both regular and heuristic dissectors; 2) making it take either a "dissector_t" or a union of that and a "heur_dissector_t" introduces some painful header-file interdependencies so I'm punting on that for now. As with other Ethereal internal APIs, these APIs are subject to change in the future, at least until Ethereal 1.0 comes out....) svn path=/trunk/; revision=2849
2001-01-08Code to handle Frame Relay Sniffer captures, from Jeff Foster.Guy Harris1-1/+6
Code to register the Frame Relay dissector to handle Frame Relay captures, from Paul Ionescu. svn path=/trunk/; revision=2845
2001-01-07Fix the Frame Relay dissector to call subdissectors regardless ofGuy Harris1-17/+16
whether a full protocol tree dissection is being done or not. svn path=/trunk/; revision=2843
2001-01-07Frame Relay and Frame-Relay-over-GRE support, from Paul Ionescu.Guy Harris1-0/+146
Fix the GRE dissector to call subdissectors regardless of whether a full protocol tree dissection is being done or not. svn path=/trunk/; revision=2842