]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
TSO engine of L1 requires a separate DMA descriptor for TCP
authorPyun YongHyeon <yongari@FreeBSD.org>
Tue, 30 Oct 2012 07:55:03 +0000 (07:55 +0000)
committerPyun YongHyeon <yongari@FreeBSD.org>
Tue, 30 Oct 2012 07:55:03 +0000 (07:55 +0000)
commit9bdff6fffa57473402bcfd3af81af92b766add9d
treeb805417a375a645c28d4599b1d15d0944f9d035d
parent3631682eab81776353a97923cac7bca9f951c396
TSO engine of L1 requires a separate DMA descriptor for TCP
payload.  This means driver has to split a TX buffer into two
pieces of TX buffers when the TX buffer contains both
ethernet/IP/TCP header and partial TCP payload.  The controller
does not require all header should be in a TX buffer but driver
forced it to compute IP/TCP header size/offset which is required
parameter to configure DMA descriptor for TSO.
While here, slightly reorder DMA descriptor setup to enhance
readability and remove unnecessary code for TSO(upper stack never
requests TSO when the frame length is less than or equal to MTU).

Reported by: Yamagi Burmeister <lists <> yamagi dot org>
Tested by: Yamagi Burmeister <lists <> yamagi dot org>
MFC After: 1 week
sys/dev/age/if_age.c