diff options
author | 2009-06-04 04:09:02 +0000 | |
---|---|---|
committer | 2009-06-04 04:09:02 +0000 | |
commit | 8eb45a7163d98f1b408760c9a67ff60d192be638 (patch) | |
tree | 5c30ad15da95ed1f8d9af5b1efa405496c834df3 | |
parent | "make ksh vi mode handle werase more like vi. It's really irritating to (diff) | |
download | wireguard-openbsd-8eb45a7163d98f1b408760c9a67ff60d192be638.tar.xz wireguard-openbsd-8eb45a7163d98f1b408760c9a67ff60d192be638.zip |
enable IPv6 receive TCP/UDP checksum offload for the 5755 and later chips;
from Brad
-rw-r--r-- | share/man/man4/bge.4 | 14 | ||||
-rw-r--r-- | sys/dev/pci/if_bge.c | 10 |
2 files changed, 15 insertions, 9 deletions
diff --git a/share/man/man4/bge.4 b/share/man/man4/bge.4 index 873bf168137..d71996b022a 100644 --- a/share/man/man4/bge.4 +++ b/share/man/man4/bge.4 @@ -1,4 +1,4 @@ -.\" $OpenBSD: bge.4,v 1.45 2009/06/01 14:17:38 jmc Exp $ +.\" $OpenBSD: bge.4,v 1.46 2009/06/04 04:09:02 naddy Exp $ .\" Copyright (c) 2001 Wind River Systems .\" Copyright (c) 1997, 1998, 1999, 2000, 2001 .\" Bill Paul <wpaul@windriver.com>. All rights reserved. @@ -30,7 +30,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF .\" THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd $Mdocdate: June 1 2009 $ +.Dd $Mdocdate: June 4 2009 $ .Dt BGE 4 .Os .Sh NAME @@ -112,11 +112,11 @@ SysKonnect SK-9D41 (1000baseSX) .Pp The .Nm -driver supports -IP, TCP, and UDP checksum offload for receive, -IP checksum offload for transmit, -VLAN tag insertion and stripping, as well as a 256-bit multicast hash -filter. +driver supports IPv4 IP, TCP, and UDP checksum offload for receive, +IP checksum offload for transmit, VLAN tag insertion and stripping, +as well as a 256-bit multicast hash filter. +The BCM5754, BCM5755, BCM5761, BCM5784, BCM5785, BCM5787 and BCM577x0 +chips also support IPv6 receive TCP/UDP checksum offload. .Pp The BCM5700, BCM5701, BCM5703 and BCM5704 chips are capable of supporting Jumbo frames, which can be configured via the diff --git a/sys/dev/pci/if_bge.c b/sys/dev/pci/if_bge.c index 0668231d164..8a55d9e9ad9 100644 --- a/sys/dev/pci/if_bge.c +++ b/sys/dev/pci/if_bge.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_bge.c,v 1.270 2009/06/04 00:59:21 naddy Exp $ */ +/* $OpenBSD: if_bge.c,v 1.271 2009/06/04 04:09:02 naddy Exp $ */ /* * Copyright (c) 2001 Wind River Systems @@ -3102,6 +3102,7 @@ bge_init(void *xsc) struct bge_softc *sc = xsc; struct ifnet *ifp; u_int16_t *m; + u_int32_t rxmode; int s; s = splnet(); @@ -3187,8 +3188,13 @@ bge_init(void *xsc) /* Turn on transmitter */ BGE_SETBIT(sc, BGE_TX_MODE, BGE_TXMODE_ENABLE); + rxmode = BGE_RXMODE_ENABLE; + + if (BGE_IS_5755_PLUS(sc)) + rxmode |= BGE_RXMODE_RX_IPV6_CSUM_ENABLE; + /* Turn on receiver */ - BGE_SETBIT(sc, BGE_RX_MODE, BGE_RXMODE_ENABLE); + BGE_SETBIT(sc, BGE_RX_MODE, rxmode); CSR_WRITE_4(sc, BGE_MAX_RX_FRAME_LOWAT, 2); |