On 09.11.2012 00:32, Adrian Chadd wrote:
On 8 November 2012 06:34, Andre Oppermann <an...@freebsd.org> wrote:
TCP/UDP doesn't (want to) generate any fragments at all and tries
to avoid it at almost all cost. We want to send very large packets
and have the NIC fragment/segment it (TSO/UDP frag offload).
What about if it's a router and the frames don't have DF set?
At the risk of repeating myself: when a routed packet is fragmented
the payload (layer 4, eg. TCP/UDP/SCTP) is NOT recalculated or changed
or anything else. It remains as originally calculated by the sender
unchanged in the first fragment L4 header. Only the IPv4 header
checksum, which DOES NOT include any payload data, has to be calculated
for every fragment. The IPv4 header checksum is offloaded with CSUM_IP
and continues to work as expected. :)
Not that it should happen often, however..
--
Andre
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"