diff options
author | yongari <yongari@FreeBSD.org> | 2009-06-29 05:12:21 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2009-06-29 05:12:21 +0000 |
commit | f21ccb87b0cf52a3b28209bafc711edcab4d274e (patch) | |
tree | 75d300e835ec18ff4fa1d4071b82dedaf50cb7b1 /sys/dev/ale | |
parent | a3faeb1b4110d52bf2e7fe7d46368df8a3b74ff2 (diff) | |
download | FreeBSD-src-f21ccb87b0cf52a3b28209bafc711edcab4d274e.zip FreeBSD-src-f21ccb87b0cf52a3b28209bafc711edcab4d274e.tar.gz |
Disable Rx checksum offload until I find more clue why it breaks
under certain environments. However give users chance to override
it when he/she surely knows his/her hardware works with Rx checksum
offload.
Reported by: Ulrich Spoerlein ( uqs <> spoerlein dot net )
MFC after: 1 week
Approved by: re (kensmith)
Diffstat (limited to 'sys/dev/ale')
-rw-r--r-- | sys/dev/ale/if_ale.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/dev/ale/if_ale.c b/sys/dev/ale/if_ale.c index f5ecb6a..65e068f 100644 --- a/sys/dev/ale/if_ale.c +++ b/sys/dev/ale/if_ale.c @@ -620,6 +620,14 @@ ale_attach(device_t dev) ifp->if_capabilities |= IFCAP_VLAN_MTU; ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_HWCSUM; ifp->if_capenable = ifp->if_capabilities; + /* + * Even though controllers supported by ale(3) have Rx checksum + * offload bug the workaround for fragmented frames seemed to + * work so far. However it seems Rx checksum offload does not + * work under certain conditions. So disable Rx checksum offload + * until I find more clue about it but allow users to override it. + */ + ifp->if_capenable &= ~IFCAP_RXCSUM; /* Tell the upper layer(s) we support long frames. */ ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header); |