freebsd-skq/sys/net
Matthew N. Dodd 4af90a4da4 Make sure that the entire header is in the first mbuf before we
attempt to copy the ethernet header forward and otherwise encapsulate
a packet for output.

This fixes the panic when using VLAN devices on hardware that doesn't
do 802.1Q tagging onboard.  (That is to say, all drivers except the Tigon.)

My tests consisted of telnet, ttcp, and a pingflood of packets
between 1 and 1600 (plus headers) bytes.

MFC to follow in 1 week.

Approved by:	jkh
2000-02-03 07:44:39 +00:00
..
bpf_compat.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
bpf_filter.c Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
bpf.c |The hard limit for the BPF buffer size is 32KB, which appears too low 2000-01-15 19:46:12 +00:00
bpf.h |The hard limit for the BPF buffer size is 32KB, which appears too low 2000-01-15 19:46:12 +00:00
bpfdesc.h Implement pseudo_AF_HDRCMPLT, which controls the state of the 'header 1999-10-15 05:07:00 +00:00
bridge.c IPSEC support in the kernel. 1999-12-22 19:13:38 +00:00
bridge.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
bsd_comp.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ethernet.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
fddi.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
hostcache.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
hostcache.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
if_arp.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
if_atm.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
if_atmsubr.c udp IPv6 support, IPv6/IPv4 tunneling support in kernel, 1999-12-07 17:39:16 +00:00
if_disc.c udp IPv6 support, IPv6/IPv4 tunneling support in kernel, 1999-12-07 17:39:16 +00:00
if_dl.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
if_ef.c Allow if_ef driver to be compiled into kernel. 2000-01-23 03:35:11 +00:00
if_ethersubr.c M_PREPEND-related cleanups (unregisterifying struct mbuf *s). 1999-12-19 01:55:37 +00:00
if_faith.c Remove #if NGIF > 0 and #if NFAITH > 0 as config already checks this. 2000-01-29 18:10:39 +00:00
if_fddisubr.c M_PREPEND-related cleanups (unregisterifying struct mbuf *s). 1999-12-19 01:55:37 +00:00
if_gif.c Remove #if NGIF > 0 and #if NFAITH > 0 as config already checks this. 2000-01-29 18:10:39 +00:00
if_gif.h udp IPv6 support, IPv6/IPv4 tunneling support in kernel, 1999-12-07 17:39:16 +00:00
if_iso88025subr.c M_PREPEND-related cleanups (unregisterifying struct mbuf *s). 1999-12-19 01:55:37 +00:00
if_llc.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
if_loop.c Remove some #if NFOO > 0 that are always true because of config rules. 2000-01-29 16:56:24 +00:00
if_media.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
if_media.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
if_mib.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
if_mib.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
if_ppp.c Remove some #if NFOO > 0 that are always true because of config rules. 2000-01-29 16:56:24 +00:00
if_ppp.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
if_pppvar.h Remove some #if NFOO > 0 that are always true because of config rules. 2000-01-29 16:56:24 +00:00
if_sl.c Remove some #if NFOO > 0 that are always true because of config rules. 2000-01-29 16:56:24 +00:00
if_slvar.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
if_sppp.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
if_spppsubr.c udp IPv6 support, IPv6/IPv4 tunneling support in kernel, 1999-12-07 17:39:16 +00:00
if_tun.c Remove unused includes 2000-01-29 01:10:24 +00:00
if_tun.h Implement TUN[GS]IFHEAD ioctls. Passing a non-zero int to TUNSIFHEAD 2000-01-23 01:47:12 +00:00
if_tunvar.h Implement TUN[GS]IFHEAD ioctls. Passing a non-zero int to TUNSIFHEAD 2000-01-23 01:47:12 +00:00
if_types.h KAME related header files additions and merges. 1999-11-05 14:41:39 +00:00
if_var.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
if_vlan_var.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
if_vlan.c Make sure that the entire header is in the first mbuf before we 2000-02-03 07:44:39 +00:00
if.c Add workaround for fxp issue at interface initialization with IPv6. 2000-02-01 15:49:37 +00:00
if.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
intrq.c Fix this so LINT compiles. There is no way this could have worked if 2000-01-29 16:13:08 +00:00
intrq.h Redo the intrq.c idea as 2000-01-27 23:37:39 +00:00
iso88025.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
net_osdep.c KAME netinet6 basic part(no IPsec,no V6 Multicast Forwarding, no UDP/TCP 1999-11-22 02:45:11 +00:00
net_osdep.h KAME netinet6 basic part(no IPsec,no V6 Multicast Forwarding, no UDP/TCP 1999-11-22 02:45:11 +00:00
netisr.h Attempt to fix a problem with receiving packets on USB ethernet interfaces. 2000-01-10 23:12:54 +00:00
pfkeyv2.h cosmetic change: sort function prototypes 2000-01-15 05:06:14 +00:00
ppp_comp.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ppp_deflate.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ppp_defs.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ppp_tty.c Remove some #if NFOO > 0 that are always true because of config rules. 2000-01-29 16:56:24 +00:00
radix.c Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
radix.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
raw_cb.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
raw_cb.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
raw_usrreq.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
route.c Clear ro->ro_rt just after RTFREE(). 2000-01-15 07:27:12 +00:00
route.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
rtsock.c Count AF_INET6 attachement to routing socket. 2000-01-28 20:10:51 +00:00
slcompress.c Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
slcompress.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
slip.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
zlib.c Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
zlib.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00