diff options
author | yar <yar@FreeBSD.org> | 2004-01-21 23:32:50 +0000 |
---|---|---|
committer | yar <yar@FreeBSD.org> | 2004-01-21 23:32:50 +0000 |
commit | 7e2d68f5cbc94810cf3c6290b6b33ca0fda77729 (patch) | |
tree | 972023c6b6f719ca8cfc8c1ad8b30be805faa1fb /share/man/man9/mbuf.9 | |
parent | 5690dee266aafd27e9ccb89abe63e0400b055263 (diff) | |
download | FreeBSD-src-7e2d68f5cbc94810cf3c6290b6b33ca0fda77729.zip FreeBSD-src-7e2d68f5cbc94810cf3c6290b6b33ca0fda77729.tar.gz |
As I've been pointed out by Andrew Gallatin, there are some
network interface cards smart (or twisted?) enough to be able
to calculate a TCP/UDP checksum for a packet fragmented by the
host CPU. Therefore the paragraph on the case has been revised.
Diffstat (limited to 'share/man/man9/mbuf.9')
-rw-r--r-- | share/man/man9/mbuf.9 | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/share/man/man9/mbuf.9 b/share/man/man9/mbuf.9 index de2519a..0ab55b1 100644 --- a/share/man/man9/mbuf.9 +++ b/share/man/man9/mbuf.9 @@ -857,11 +857,19 @@ of fragments contained in its field. .El .Pp -It is obvious that computing the TCP or UDP checksum cannot -be offloaded for a packet fragmented by the host CPU. -Consequently, there is no ambiguity in the meaning of +The last rule for fragmented packets takes precedence over the one +for a TCP or UDP checksum. +Nevertheless, offloading a TCP or UDP checksum is possible for a +fragmented packet if the flag +.Dv CSUM_IP_FRAGS +is set in the field +.Va ifnet.if_data.ifi_hwassist +associated with the network interface. +However, in this case the interface is expected to figure out +the location of the checksum field within the sequence of fragments +by itself because .Va csum_data -for an outgoing packet. +contains a fragment count instead of a checksum offset value. .Pp On input, an interface indicates the actions it has performed on a packet by setting one or more of the following flags in |