diff options
| author | Pyun YongHyeon <yongari@FreeBSD.org> | 2010-04-19 22:10:40 +0000 |
|---|---|---|
| committer | Pyun YongHyeon <yongari@FreeBSD.org> | 2010-04-19 22:10:40 +0000 |
| commit | 6da6d0a9e3f608feb5ca67cf633670359157549b (patch) | |
| tree | 4e38df74b4ad94becb3a95f35a704d97f0681706 /sys/dev/nfe/if_nfe.c | |
| parent | 696dd8f41c7b9f593573e772b3a7b693b21c7cec (diff) | |
Notes
Diffstat (limited to 'sys/dev/nfe/if_nfe.c')
| -rw-r--r-- | sys/dev/nfe/if_nfe.c | 13 |
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) { |
