diff options
author | Daniel Hellstrom <daniel@gaisler.com> | 2013-10-22 12:09:26 +0200 |
---|---|---|
committer | Daniel Hellstrom <daniel@gaisler.com> | 2013-10-22 12:09:26 +0200 |
commit | 646a3b8ccec627d7080c1100a3efd00b2d0e87fe (patch) | |
tree | 0c3520b2462cf485f7088b9b9f1ac1da05095197 | |
parent | b69c0d53e9abd5ef848003ae42ecd327e0e97204 (diff) |
GRETH: avoid hw generated UDP/TCP cksum generationrcc-v1.2.12
Hardware generated checksum UDP packets does not work for
IP fragmented UDP packets. It seems as if the BSD stack never
signals to the GRETH driver to generate or not to generate
TCP/UDP checksum for different cases. The GRETH driver never
tells the BSD stack about it capabilities either so there is
no point generating the cksums in HW when its done in SW any
way.
This patch disables hardware generated UDP and TCP checksums.
-rw-r--r-- | c/src/libchip/network/greth.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/c/src/libchip/network/greth.c b/c/src/libchip/network/greth.c index 6cd5bd198f..d3405579ca 100644 --- a/c/src/libchip/network/greth.c +++ b/c/src/libchip/network/greth.c @@ -812,9 +812,9 @@ sendpacket_gbit (struct ifnet *ifp, struct mbuf *m) /* Wrap around? */ if (dp->tx_ptr < dp->txbufs-1) { - ctrl = GRETH_TXD_ENABLE | GRETH_TXD_CS; + ctrl = GRETH_TXD_ENABLE; }else{ - ctrl = GRETH_TXD_ENABLE | GRETH_TXD_CS | GRETH_TXD_WRAP; + ctrl = GRETH_TXD_ENABLE | GRETH_TXD_WRAP; } /* Enable Descriptor */ |