Support ETHERCAP_VLAN_MTU by ignoring the EX_UPD_ERROR and EX_UPD_OVERSIZED
status bits. Tested with a 3c905-TX.
This commit is contained in:
parent
5cc13a273b
commit
f87b1573c3
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: elinkxl.c,v 1.42 2000/10/11 16:57:45 thorpej Exp $ */
|
||||
/* $NetBSD: elinkxl.c,v 1.43 2000/10/17 16:16:52 bouyer Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1998 The NetBSD Foundation, Inc.
|
||||
|
@ -434,6 +434,11 @@ ex_config(sc)
|
|||
ifp->if_flags =
|
||||
IFF_BROADCAST | IFF_SIMPLEX | IFF_NOTRAILERS | IFF_MULTICAST;
|
||||
|
||||
/*
|
||||
* We can support 802.1Q VLAN-sized frames.
|
||||
*/
|
||||
sc->sc_ethercom.ec_capabilities |= ETHERCAP_VLAN_MTU;
|
||||
|
||||
if_attach(ifp);
|
||||
ether_ifattach(ifp, macaddr);
|
||||
|
||||
|
@ -1206,7 +1211,10 @@ ex_intr(arg)
|
|||
if (ex_add_rxbuf(sc, rxd) == 0) {
|
||||
u_int16_t total_len;
|
||||
|
||||
if (pktstat & EX_UPD_ERR) {
|
||||
if (pktstat &
|
||||
((sc->sc_ethercom.ec_capenable &
|
||||
ETHERCAP_VLAN_MTU) ?
|
||||
EX_UPD_ERR_VLAN : EX_UPD_ERR)) {
|
||||
ifp->if_ierrors++;
|
||||
m_freem(m);
|
||||
goto rcvloop;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: elinkxlreg.h,v 1.3 2000/09/19 01:15:28 fvdl Exp $ */
|
||||
/* $NetBSD: elinkxlreg.h,v 1.4 2000/10/17 16:16:52 bouyer Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1998 The NetBSD Foundation, Inc.
|
||||
|
@ -320,3 +320,4 @@ struct ex_txdesc {
|
|||
#define EX_UPD_UDPCKSUMERR 0x08000000 /* UDP cksum error (90xB) */
|
||||
|
||||
#define EX_UPD_ERR 0x001f4000 /* Errors we check for */
|
||||
#define EX_UPD_ERR_VLAN 0x000f0000 /* same for 802.1q */
|
||||
|
|
Loading…
Reference in New Issue