In "dissect_eth()", update "pi.len" and "pi.captured_len" regardless of
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>
Sun, 23 Jan 2000 08:55:37 +0000 (08:55 +0000)
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>
Sun, 23 Jan 2000 08:55:37 +0000 (08:55 +0000)
commit9cb57e6407c1ab93c2775e3da8d4cac20f19e5c3
tree8647292ca380ae9108970a167959b9df1c931ec9
parent02e20af37c3ca0af72d23974424291f760283843
In "dissect_eth()", update "pi.len" and "pi.captured_len" regardless of
whether we're building a protocol tree or not.

Make "dissect_eth()" use "BYTES_ARE_IN_FRAME()" to see if we have a full
Ethernet header - it can be called with a non-zero offset, if Ethernet
frames are encapsulated inside other frames (e.g., ATM LANE).

Make capture routines take an "offset" argument if the corresponding
dissect routine takes one (for symmetry, and for Cisco ISL or any other
protocol that encapsulates Ethernet or Token-Ring frames inside other
frames).

Pass the frame lengths to capture routines via the "pi" structure,
rather than as an in-line argument, so that they can macros such as
"BYTES_ARE_IN_FRAME()" the way the corresponding dissect routines do.

Make capture routines update "pi.len" and "pi.captured_len" the same way
the corresponding diseect routines do, if the capture routines then call
other capture routines.

Make "capture_vlan()" count as "other" frames that are too short, the
way other capture routines do.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@1525 f5534014-38df-0310-8fa8-9805f1628bb7
16 files changed:
capture.c
ethertype.c
packet-clip.c
packet-eth.c
packet-fddi.c
packet-ip.c
packet-ipx.c
packet-llc.c
packet-netbios.c
packet-null.c
packet-ppp.c
packet-raw.c
packet-tr.c
packet-vines.c
packet-vlan.c
packet.h