diff options
author | Jason Wright <jason@cvs.openbsd.org> | 2000-10-19 16:33:53 +0000 |
---|---|---|
committer | Jason Wright <jason@cvs.openbsd.org> | 2000-10-19 16:33:53 +0000 |
commit | 7dd406bf70d90b2b6d43e25d3704f8bf6b4cb3d4 (patch) | |
tree | ed187eb2bc9032b0ac6f3846693d594cf07fedba /sys | |
parent | 3df9bf117b870db00290081b9d6e7459701b4a56 (diff) |
if vlans are in use, then set the 3c905b to accept frames of size 1518.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/ic/xl.c | 9 | ||||
-rw-r--r-- | sys/dev/ic/xlreg.h | 3 |
2 files changed, 10 insertions, 2 deletions
diff --git a/sys/dev/ic/xl.c b/sys/dev/ic/xl.c index 822edcf219d..e8c5d625342 100644 --- a/sys/dev/ic/xl.c +++ b/sys/dev/ic/xl.c @@ -1,4 +1,4 @@ -/* $OpenBSD: xl.c,v 1.16 2000/10/16 17:08:07 aaron Exp $ */ +/* $OpenBSD: xl.c,v 1.17 2000/10/19 16:33:51 jason Exp $ */ /* * Copyright (c) 1997, 1998, 1999 @@ -106,6 +106,7 @@ */ #include "bpfilter.h" +#include "vlan.h" #include <sys/param.h> #include <sys/systm.h> @@ -2027,6 +2028,12 @@ void xl_init(xsc) else CSR_WRITE_2(sc, XL_COMMAND, XL_CMD_COAX_STOP); +#if NVLAN > 0 + /* Set max packet size to handle VLAN frames, only on 3c905B */ + if (sc->xl_type == XL_TYPE_905B) + CSR_WRITE_2(sc, XL_W3_MAX_PKT_SIZE, 1514 + 4); +#endif + /* Clear out the stats counters. */ CSR_WRITE_2(sc, XL_COMMAND, XL_CMD_STATS_DISABLE); sc->xl_stats_no_timeout = 1; diff --git a/sys/dev/ic/xlreg.h b/sys/dev/ic/xlreg.h index 822a3fcb6b3..7d0f7c3aaa0 100644 --- a/sys/dev/ic/xlreg.h +++ b/sys/dev/ic/xlreg.h @@ -1,4 +1,4 @@ -/* $OpenBSD: xlreg.h,v 1.6 2000/09/29 05:28:29 aaron Exp $ */ +/* $OpenBSD: xlreg.h,v 1.7 2000/10/19 16:33:52 jason Exp $ */ /* * Copyright (c) 1997, 1998 @@ -254,6 +254,7 @@ * Window 3 (fifo management) */ #define XL_W3_INTERNAL_CFG 0x00 +#define XL_W3_MAX_PKT_SIZE 0x04 /* 3C905B only */ #define XL_W3_RESET_OPT 0x08 #define XL_W3_FREE_TX 0x0C #define XL_W3_FREE_RX 0x0A |