diff options
| author | itojun <itojun@NetBSD.org> | 2003-08-15 07:29:34 +0000 |
|---|---|---|
| committer | itojun <itojun@NetBSD.org> | 2003-08-15 07:29:34 +0000 |
| commit | f80fd2c5ea4b0efa1f5d0cac2ff29ecf84bd61fa (patch) | |
| tree | 5c0c07f5e46b54cd37736cbb5de544497acb2528 /sys/dev | |
| parent | c2ab035d779cbbd0cd042409c006032dd5376a92 (diff) | |
accept 1518-byte frames (needed for vlan). Valtteri Vuorikoski
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/pci/if_sip.c | 12 | ||||
| -rw-r--r-- | sys/dev/pci/if_sipreg.h | 4 |
2 files changed, 12 insertions, 4 deletions
diff --git a/sys/dev/pci/if_sip.c b/sys/dev/pci/if_sip.c index da3a8312ff8..ab085ef6d3e 100644 --- a/sys/dev/pci/if_sip.c +++ b/sys/dev/pci/if_sip.c @@ -1,4 +1,4 @@ -/* $NetBSD: if_sip.c,v 1.78 2003/03/23 00:56:15 thorpej Exp $ */ +/* $NetBSD: if_sip.c,v 1.79 2003/08/15 07:29:34 itojun Exp $ */ /*- * Copyright (c) 2001, 2002 The NetBSD Foundation, Inc. @@ -80,7 +80,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_sip.c,v 1.78 2003/03/23 00:56:15 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_sip.c,v 1.79 2003/08/15 07:29:34 itojun Exp $"); #include "bpfilter.h" #include "rnd.h" @@ -2314,6 +2314,14 @@ SIP_DECL(init)(struct ifnet *ifp) * Initialize the prototype RXCFG register. */ sc->sc_rxcfg |= (sc->sc_rx_drain_thresh << RXCFG_DRTH_SHIFT); +#ifndef DP83820 + /* + * Accept packets >1518 bytes (including FCS) so we can handle + * 802.1q-tagged frames properly. + */ + if (sc->sc_ethercom.ec_capenable & ETHERCAP_VLAN_MTU) + sc->sc_rxcfg |= RXCFG_ALP; +#endif bus_space_write_4(st, sh, SIP_RXCFG, sc->sc_rxcfg); #ifdef DP83820 diff --git a/sys/dev/pci/if_sipreg.h b/sys/dev/pci/if_sipreg.h index a1e372d282a..35d200d06d4 100644 --- a/sys/dev/pci/if_sipreg.h +++ b/sys/dev/pci/if_sipreg.h @@ -1,4 +1,4 @@ -/* $NetBSD: if_sipreg.h,v 1.11 2002/06/30 18:04:12 thorpej Exp $ */ +/* $NetBSD: if_sipreg.h,v 1.12 2003/08/15 07:29:35 itojun Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -450,7 +450,7 @@ struct sip_desc { #define RXCFG_STRIPCRC 0x20000000 /* strip CRC */ #endif /* DP83820 */ #define RXCFG_ATX 0x10000000 /* accept transmit packets */ -#define RXCFG_AJAB 0x08000000 /* accept jabber packets */ +#define RXCFG_ALP 0x08000000 /* accept long packets */ #ifdef DP83820 #define RXCFG_AIRL 0x04000000 /* accept in-range length err packets */ #define RXCFG_MXDMA 0x00700000 /* max DMA burst size */ |
