aboutsummaryrefslogtreecommitdiffstats
path: root/packet-ip.h
Commit message (Collapse)AuthorAgeFilesLines
* Move dissectors to epan/dissectors directory.Gilbert Ramirez2004-07-181-48/+0
| | | | | | | | | | Also move ncp222.py, x11-fields, process-x11-fields.pl, make-reg-dotc, and make-reg-dotc.py. Adjust #include lines in files that include packet-*.h files. svn path=/trunk/; revision=11410
* Set the svn:eol-style property on all text files to "native", so thatGuy Harris2004-07-181-1/+1
| | | | | | | | | they have LF at the end of the line on UN*X and CR/LF on Windows; hopefully this means that if a CR/LF version is checked in on Windows, the CRs will be stripped so that they show up only when checked out on Windows, not on UN*X. svn path=/trunk/; revision=11400
* New feature. Statistics/EndpointTalkjers can now present a sortable table ↵Ronnie Sahlberg2003-08-231-3/+3
| | | | | | | | | | | | | | with a list of all seen conversations of a certain type. Supported types are Ethernet/TokenRing/IP/UDP and TCP. Will add FibreChannel soon. The framework for this feature needs to be enhanced in the future so that by selecting one entry and click the right mousebutton, this will bring up a menu with Prepare/Match options with suboptions for AnyDirection, ForwardOnly or ReverseOnly which updates the display filter accordingly. Had to update some of the taps as well to change them to use a proper address structure for the address fields. We should now be able to to these stats correctly even for ip tunneled over ip tunnelled over ip ... svn path=/trunk/; revision=8222
* Add a routine "dissect_ipv6_options()" that works likeGuy Harris2003-07-111-23/+1
| | | | | | | | | | | | | | | | "dissect_ip_tcp_options()" but for options that are like IPv6 options (i.e., the length byte has a value that doesn't include the option code or length byte). Add an "ip_opts.h" header to declare it, and move the declaration of stuff used by it and "dissect_ip_tcp_options()", and the declaration of "dissect_ip_tcp_options()", to that header. Use "dissect_ipv6_options()" for Mobile IPv6 options. Get rid of the unused "mip6_opt_types[]" array in "packet-mip6.h". svn path=/trunk/; revision=8015
* Don't export "ip_dissector_table" explicitly; now that we haveGuy Harris2003-04-291-4/+1
| | | | | | | "find_dissector_table()", have the IPv6 and IPSEC dissectors fetch the IP dissector table by name. svn path=/trunk/; revision=7600
* Patch for packet-ip to make it TAPableRonnie Sahlberg2003-01-221-1/+15
| | | | svn path=/trunk/; revision=6969
* Removed trailing whitespaces from .h and .c files using theJörg Mayer2002-08-281-4/+4
| | | | | | | winapi_cleanup tool written by Patrik Stridvall for the wine project. svn path=/trunk/; revision=6117
* Replace the types from sys/types.h and netinet/in.h by their glib.hJörg Mayer2002-08-021-2/+2
| | | | | | | | equivalents for the toplevel directory. The removal of winsock2.h will hopefully not cause any problems under MSVC++, as those files using struct timeval still include wtap.h, which still includes winsock2.h. svn path=/trunk/; revision=5932
* Make "dscp_vals[]" a "const" array again.Guy Harris2001-12-291-2/+2
| | | | svn path=/trunk/; revision=4460
* Changes to RSVP:Ashok Narayanan2001-12-291-1/+4
| | | | | | | | | - Cleaned up TSpec and Flowspec support to handle multiple parameters - Added support for Compression Hint (RFC3006) - Added support for DCLASS (RFC2996) - Corrected some bugs in support for Null Service (RFC2997) svn path=/trunk/; revision=4459
* Move the pointer to the "column_info" structure in the "frame_data"Guy Harris2001-12-101-3/+3
| | | | | | | | | | | | | | | structure to the "packet_info" structure; only stuff that's permanently stored with each frame should be in the "frame_data" structure, and the "column_info" structure is not guaranteed to hold the column values for that frame at all times - it was only in the "frame_data" structure so that it could be passed to dissectors, and, as all dissectors are now passed a pointer to a "packet_info" structure, it could just as well be put in the "packet_info" structure. That saves memory, by shrinking the "frame_data" structure (there's one of those per frame), and also lets us clean up the code a bit. svn path=/trunk/; revision=4370
* Make the capture routines take an additional argument giving the amountGuy Harris2001-11-201-3/+2
| | | | | | | | | | | of packet data captured. Make the "BYTES_ARE_IN_FRAME()" macro take a "captured length of the packet" argument. Add some length checks to capture routines. svn path=/trunk/; revision=4235
* Move the declarations of IP protocol numbers to "ipproto.h" fromGuy Harris2001-04-231-36/+2
| | | | | | | | "packet-ip.h". Fix Gerald's address in some files while we're at it. svn path=/trunk/; revision=3366
* Move the definition of IP_PROTO_IGRP to "packet-ip.h", and put an entryGuy Harris2001-03-051-1/+2
| | | | | | | | | | for IGRP in the table in "ipproto.c". Get rid of a duplicate entry for TCP in the same table, and also get rid of the entry for IP_PROTO_IPV4 right after IP_PROTO_IPIP, as IP_PROTO_IPIP and IP_PROTO_IPV4 are both 4. svn path=/trunk/; revision=3106
* Remove more "CHECK_DISPLAY_AS_DATA()" calls and "pinfo->current_proto ="Guy Harris2001-01-221-2/+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. Make the IP dissector static, as it's called only via dissector tables or dissector handles. Also make the "dissect the TOS field as the DiffServ DS field" flag static, as it's not referred to outside of "packet-ip.c". In the NCP dissector, refer to the port type through "pinfo" rather than through the global "pi", as it's a tvbuffified dissector. svn path=/trunk/; revision=2929
* Add a "col_clear()" routine, to clear a column; it appears (and itGuy Harris2000-12-041-3/+4
| | | | | | | | | | | | | | | | | | | | | | doesn't just seem to be a profiling artifact) that, at least on FreeBSD 3.4, it's significantly more efficient to clear out a column by stuffing a '\0' into the first byte of the column data than to do so by copying a null string (I guess when copying one byte, the fixed overhead of the procedure call and of "strcpy()" is significant). Have the TCP dissector set the Protocol column, and clear the Info column, before doing anything that might cause an exception to be thrown, so that if we *do* get an exception thrown, the frame at least shows up as TCP. Instead of, in the TCP dissector, constructing a string and then stuffing it into the Info column, just append to the Info column, which avoids one string copy. Pass a "frame_data" pointer to dissectors for TCP and IP (and PPP) options, so they can use it to append to the Info column. svn path=/trunk/; revision=2744
* Tvbuffify the IP, ICMP, TCP, UDP, OSI CLNP, OSI COTP, OSI CLTP, and OSIGuy Harris2000-11-181-4/+4
| | | | | | | | | | | | | | | | | | | | | | ESIS dissectors. Register the IP dissector and have dissectors that call it directly (rather than through a port table) call it through a handle. Add a routine "tvb_set_reported_length()" which a dissector can use if it was handed a tvbuff that contains more data than is actually in its part of the packet - for example, handing a padded Ethernet frame to IP; the routine sets the reported length of the tvbuff (and also adjusts the actual length, as appropriate). Then use it in IP. Given that, "ethertype()" can determine how much of the Ethernet frame was actually part of an IP datagram (and can do the same for other protocols under Ethernet that use "tvb_set_reported_length()"; have it return the actual length, and have "dissect_eth()" and "dissect_vlan()" use that to mark trailer data in Ethernet II frames as well as in 802.3 frames. svn path=/trunk/; revision=2658
* Initial SCTP support (showing it by name from "ipprotostr()") fromGuy Harris2000-05-261-1/+2
| | | | | | Michael Tuexen. svn path=/trunk/; revision=2011
* Fixed declaration of ip_dissector_table and clarified bitwidth doco.Gilbert Ramirez2000-04-251-2/+2
| | | | | | Patch from Ben Fowler <wapdev@leedsnet.com> svn path=/trunk/; revision=1888
* Have the IPv6 dissector use the same dissector table as the IPv4Guy Harris2000-04-201-1/+4
| | | | | | | | | dissector. Don't dissect the payload of any fragmented IPv6 packet unless it's the initial fragment (that's what we do for IPv4). svn path=/trunk/; revision=1882
* Create a header file for every packet-*.c file. Prune the packet.h file.Gilbert Ramirez2000-02-151-1/+4
| | | | | | | | | | | | | This change allows you to add a new packet-*.c file and not cause a recompilation of everything that #include's packet.h Add the plugin_api.[ch] files ot the plugins/Makefile.am packaging list. Add #define YY_NO_UNPUT 1 to the lex source so that the yyunput symbol is not defined, squelching a compiler complaint when compiling the generated C file. svn path=/trunk/; revision=1637
* Joerg Mayer's updates to the VINES dissector and to protocol layersGuy Harris2000-01-201-2/+3
| | | | | | above VINES. svn path=/trunk/; revision=1514
* Added Heikki Vatiainen's <hessu@cs.tut.fi> VRRP dissector.Gilbert Ramirez1999-11-211-1/+2
| | | | svn path=/trunk/; revision=1083
* Replace the ETT_ "enum" members, declared in "packet.h", withGuy Harris1999-11-161-3/+3
| | | | | | | | | | | | | | | | | dynamically-assigned "ett_" integer values, assigned by "proto_register_subtree_array()"; this: obviates the need to update "packet.h" whenever you add a new subtree type - you only have to add a call to "proto_register_subtree_array()" to a "register" routine and an array of pointers to "ett_", if they're not already there, and add a pointer to the new "ett_" variable to the array, if they are there; would allow run-time-loaded dissectors to allocate subtree types when they're loaded. svn path=/trunk/; revision=1043
* Don Lafontaine's IGRP/EIGRP dissector.Guy Harris1999-10-301-7/+2
| | | | svn path=/trunk/; revision=949
* IPComp (RFC2393) decoding.Jun-ichiro itojun Hagino1999-10-151-1/+2
| | | | svn path=/trunk/; revision=838
* PPP options in LCP, IPCP, etc. are like IP and TCP options - one octetGuy Harris1999-08-281-5/+6
| | | | | | | | | | | | | | | | | | | of option code, one octet of length (which includes the two option code and length bytes), followed by 0 or more octets of option data, with some options being fixed-length and some being variable-length. Put some stuff from the PPP control protocol option parsing code into the IP-and-TCP option parsing code, and use the latter instead of the former. (That code might also be usable for CDP as well, with some stuff added to it.) Shuffle the arguments to "dissect_ip_tcp_options()" to resemble those of various other dissectors (i.e., with the "proto_tree *" at the end). Add in code to dissect a pile of PPP options documented in various RFCs. svn path=/trunk/; revision=601
* Added RSVP protocol dissector.Gilbert Ramirez1999-06-111-1/+2
| | | | svn path=/trunk/; revision=304
* Added PPPoE, PPTP, GRE, and ISAKMP dissectors.Gilbert Ramirez1999-06-111-1/+2
| | | | svn path=/trunk/; revision=303
* Jun-ichiro's IPv6 patch is merged in with ethereal and now uses the newGilbert Ramirez1999-03-281-1/+27
| | | | | | | | | | | proto*() functions. The configure script tries to use ipv6 name resolution if it knows the type of ipv6 stack the user has (this can be avoided with the --disable-ipv6 switch) Additionally, the configure script now deals with wiretap better. If the user doesn't want to compile wiretap, the wiretap is never visited. A few unnecessary #includes were removed from some wiretap files, and a CPP macro was moved from bpf.c to wtap.h. svn path=/trunk/; revision=229
* Removed all references to gtk objects from packet*.[ch] files. They nowGilbert Ramirez1999-03-231-0/+56
reference the protocol tree with struct proto_tree and struct proto_item objects. That way, the packet decoding source code file can be used with non-gtk packet decoders, like a curses-based ethereal, e.g. I also re-arranged some of the information in packet.h to more appropriate places (like other packet-*.[ch] files). svn path=/trunk/; revision=223