freebsd-src/sys/netpfil/pf
Kristof Provost fc1c98645b MFC r289316:
pf: Fix TSO issues

In certain configurations (mostly but not exclusively as a VM on Xen) pf
produced packets with an invalid TCP checksum.

The problem was that pf could only handle packets with a full checksum. The
FreeBSD IP stack produces TCP packets with a pseudo-header checksum (only
addresses, length and protocol).
Certain network interfaces expect to see the pseudo-header checksum, so they
end up producing packets with invalid checksums.

To fix this stop calculating the full checksum and teach pf to only update TCP
checksums if TSO is disabled or the change affects the pseudo-header checksum.

PR:             154428, 193579, 198868
Relnotes:       yes
Sponsored by:   RootBSD
2015-10-21 15:32:21 +00:00
..
if_pflog.c Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
if_pfsync.c MFC r263710, r273377, r273378, r273423 and r273455: 2014-10-27 14:38:00 +00:00
in4_cksum.c
pf_altq.h Bulk sync of pf changes from head, in attempt to fixup broken build I 2014-03-12 10:45:58 +00:00
pf_if.c MFC r287119: 2015-08-27 14:07:28 +00:00
pf_ioctl.c MFC r289316: 2015-10-21 15:32:21 +00:00
pf_lb.c Merge r270023 from head: 2014-08-25 15:51:07 +00:00
pf_mtag.h Merge r278843, r278858 2015-06-18 20:34:39 +00:00
pf_norm.c MFC r289316: 2015-10-21 15:32:21 +00:00
pf_osfp.c In netpfil/pf: 2012-12-28 09:19:49 +00:00
pf_ruleset.c In netpfil/pf: 2012-12-28 09:19:49 +00:00
pf_table.c Merge r272358 from head: 2014-10-16 20:43:12 +00:00
pf.c MFC r289316: 2015-10-21 15:32:21 +00:00
pf.h Merge r278843, r278858 2015-06-18 20:34:39 +00:00