aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/nfe/if_nfe.c
diff options
context:
space:
mode:
authorPyun YongHyeon <yongari@FreeBSD.org>2010-04-19 22:10:40 +0000
committerPyun YongHyeon <yongari@FreeBSD.org>2010-04-19 22:10:40 +0000
commit6da6d0a9e3f608feb5ca67cf633670359157549b (patch)
tree4e38df74b4ad94becb3a95f35a704d97f0681706 /sys/dev/nfe/if_nfe.c
parent696dd8f41c7b9f593573e772b3a7b693b21c7cec (diff)
Notes
Diffstat (limited to 'sys/dev/nfe/if_nfe.c')
-rw-r--r--sys/dev/nfe/if_nfe.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/sys/dev/nfe/if_nfe.c b/sys/dev/nfe/if_nfe.c
index 5d0bfd268f63..7d77754b90c3 100644
--- a/sys/dev/nfe/if_nfe.c
+++ b/sys/dev/nfe/if_nfe.c
@@ -2366,7 +2366,12 @@ nfe_encap(struct nfe_softc *sc, struct mbuf **m_head)
m = *m_head;
cflags = flags = 0;
tso_segsz = 0;
- if ((m->m_pkthdr.csum_flags & NFE_CSUM_FEATURES) != 0) {
+ if ((m->m_pkthdr.csum_flags & CSUM_TSO) != 0) {
+ tso_segsz = (uint32_t)m->m_pkthdr.tso_segsz <<
+ NFE_TX_TSO_SHIFT;
+ cflags &= ~(NFE_TX_IP_CSUM | NFE_TX_TCP_UDP_CSUM);
+ cflags |= NFE_TX_TSO;
+ } else if ((m->m_pkthdr.csum_flags & NFE_CSUM_FEATURES) != 0) {
if ((m->m_pkthdr.csum_flags & CSUM_IP) != 0)
cflags |= NFE_TX_IP_CSUM;
if ((m->m_pkthdr.csum_flags & CSUM_TCP) != 0)
@@ -2374,12 +2379,6 @@ nfe_encap(struct nfe_softc *sc, struct mbuf **m_head)
if ((m->m_pkthdr.csum_flags & CSUM_UDP) != 0)
cflags |= NFE_TX_TCP_UDP_CSUM;
}
- if ((m->m_pkthdr.csum_flags & CSUM_TSO) != 0) {
- tso_segsz = (uint32_t)m->m_pkthdr.tso_segsz <<
- NFE_TX_TSO_SHIFT;
- cflags &= ~(NFE_TX_IP_CSUM | NFE_TX_TCP_UDP_CSUM);
- cflags |= NFE_TX_TSO;
- }
for (i = 0; i < nsegs; i++) {
if (sc->nfe_flags & NFE_40BIT_ADDR) {