Date: Mon, 9 Feb 2009 03:48:49 +0000 (UTC) From: Pyun YongHyeon <yongari@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/dev/fxp if_fxp.c if_fxpreg.h if_fxpvar.h Message-ID: <200902090349.n193n2CB088410@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
yongari 2009-02-09 03:48:49 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_7)
sys/dev/fxp if_fxp.c if_fxpreg.h if_fxpvar.h
Log:
SVN rev 188374 on 2009-02-09 03:48:49Z by yongari
MFC r185330:
Implement TSO for 82550/82551 controllers.
o Configure controller to use dynamic TBD as TSO requires that
operation mode.
o Add a dummy TBD to tx_cb_u as TSO can access one more TBD in TSO
operation.
o Increase a DMA segment size to 4096 to hold a full IP segment
with link layer header.
o Unlike other TSO capable controllers, 82550/82551 does not
modify the first IP packet in TSO operation so driver should
create an IP packet with proper header. Subsequent IP packets
are generated from the header information in the first IP packet
header. Likewise pseudo checksum also should be computed by
driver for the first packet.
o TSO requires one more TBD to hold total TCP payload. To make
code simple for TSO/non-TSO case, increase the index of the
first available TBD array.
o Remove KASSERT that checks the size of a DMA segment should be
less than or equal to MCLBYTES as it's no longer valid in TSO.
o Tx threshold and number of TBDs field is used to store MSS in
TSO. So don't set the Tx threshold in TSO case.
Revision Changes Path
1.266.2.9 +111 -13 src/sys/dev/fxp/if_fxp.c
1.39.10.2 +1 -1 src/sys/dev/fxp/if_fxpreg.h
1.40.2.4 +6 -0 src/sys/dev/fxp/if_fxpvar.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200902090349.n193n2CB088410>
