freebsd-dev/sys/net
Stephen Hurd 25ac1dd5c7 Don't call tcp_lro_rx() unless hardware verified TCP/UDP csum
It seems that tcp_lro_rx() doesn't verify TCP checksums, so
if there are bad checksums in the packets caused by invalid data, the
invalid data will pass through without errors.

This was noticed with the igb driver and a specific internet host:
fetch http://www.mpfr.org/mpfr-current/mpfr-3.1.6.tar.xz -o test.bin && sha256 test.bin
Would result in a different value sometimes.

This ends up making LRO require RXCSUM to be enabled, and RXCSUM to
support TCP and UDP checksums.

PR:		224346
Reported by:	gjb
Reviewed by:	sbruno
Sponsored by:	Limelight Networks
Differential Revision:	https://reviews.freebsd.org/D13561
2017-12-21 01:22:36 +00:00
..
altq Remove register keyword from sys/ and ANSIfy prototypes 2017-05-17 00:34:34 +00:00
bpf_buffer.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
bpf_buffer.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
bpf_filter.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
bpf_jitter.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
bpf_jitter.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
bpf_zerocopy.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
bpf_zerocopy.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
bpf.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
bpf.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
bpfdesc.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
bridgestp.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
bridgestp.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
dlt.h MFV r313759: license change for a few headers (4 clause BSD to 3 clause BSD). 2017-02-15 07:22:47 +00:00
ethernet.h ethernet: Add ethernet interface attached event and devctl notification. 2017-07-24 03:32:10 +00:00
fddi.h spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
firewire.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee8023ad_lacp.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee8023ad_lacp.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee_oui.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_arc.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_arcsubr.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
if_arp.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_bridge.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_bridgevar.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_clone.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_clone.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_dead.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_debug.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_disc.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_dl.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_edsc.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_enc.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_enc.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_epair.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_ethersubr.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_fddisubr.c Fix build. 2017-11-19 11:21:16 +00:00
if_fwsubr.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_gif.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_gif.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_gre.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_gre.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_ipsec.c Introduce the concept of IPsec security policies scope. 2017-03-07 00:13:53 +00:00
if_ipsec.h Merge projects/ipsec into head/. 2017-02-06 08:49:57 +00:00
if_iso88025subr.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_lagg.c Don't hold the RM lock during lagg_proto_addport() to avoid an LOR. 2017-07-25 14:41:50 +00:00
if_lagg.h Remove some code, dead from the day one. 2017-05-25 23:19:09 +00:00
if_llatbl.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_llatbl.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_llc.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_loop.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_me.c Do not adjust interface MTU automatically. Leave this task to the system 2017-04-11 08:56:18 +00:00
if_media.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_media.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_mib.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
if_mib.h
if_pflog.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_pfsync.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_sppp.h sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
if_spppfr.c
if_spppsubr.c sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
if_stf.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_tap.c Disallow TUN and TAP character device IOCTLs to modify the network device 2017-11-29 09:40:11 +00:00
if_tap.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_tapvar.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_tun.c Disallow TUN and TAP character device IOCTLs to modify the network device 2017-11-29 09:40:11 +00:00
if_tun.h Allow an MTU of 65535 bytes to be set via TUN[SG]IFINFO. This requires 2016-05-24 11:47:14 +00:00
if_types.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_var.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_vlan_var.h Properly define the VLAN_XXX() function macros to avoid miscompilation when 2017-11-30 11:35:22 +00:00
if_vlan.c Allow vlan interfaces to rx through netmap(4). 2017-09-13 00:25:09 +00:00
if_vxlan.c Fix possible memory leak. 2017-12-16 14:36:21 +00:00
if_vxlan.h
if.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if.h Garbage collect IFCAP_POLLING_NOCOUNT. It wasn't used since very 2017-12-06 23:03:34 +00:00
ifdi_if.m Update Matthew Macy contact info 2017-12-19 17:59:00 +00:00
iflib.c Don't call tcp_lro_rx() unless hardware verified TCP/UDP csum 2017-12-21 01:22:36 +00:00
iflib.h Update Matthew Macy contact info 2017-12-19 17:59:00 +00:00
ifq.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
iso88025.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
mp_ring.c Have ifmp_ring_enqueue() abdicate instead of switch to a consumer 2017-09-23 16:46:30 +00:00
mp_ring.h Import the 'iflib' API library for network drivers. From the author: 2016-05-18 04:35:58 +00:00
mppc.h ng_mppc(4): Bring netgraph(3) MPPC compression support. 2016-06-07 15:07:00 +00:00
mppcc.c ng_mppc(4):: basic readability cleanups. 2016-07-09 02:33:45 +00:00
mppcd.c ng_mppc(4):: basic readability cleanups. 2016-07-09 02:33:45 +00:00
netisr_internal.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
netisr.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
netisr.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
netmap_user.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
netmap_virt.h Various fixes for ptnet/ptnetmap (passthrough of netmap ports). In detail: 2016-10-27 09:46:22 +00:00
netmap.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
paravirt.h
pfil.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
pfil.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
pfkeyv2.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
pfvar.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ppp_defs.h
radix_mpath.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
radix_mpath.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
radix.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
radix.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
raw_cb.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
raw_cb.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
raw_usrreq.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
rndis.h rndis: Add LINK_SPEED_CHANGE status 2017-07-24 03:59:50 +00:00
route_var.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
route.c Plug an ifaddr leak when changing a route's src 2017-12-14 20:48:50 +00:00
route.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
rss_config.c rss: Remove never defined UDP_IPV4_EX 2017-10-11 06:08:01 +00:00
rss_config.h rss: Remove never defined UDP_IPV4_EX 2017-10-11 06:08:01 +00:00
rtsock.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
sff8436.h Add SFF-8024 Extended Specification Compliance 2015-12-28 09:26:07 +00:00
sff8472.h ifconfig(8): Display extended compliance code string for SFP transceivers 2017-12-05 18:42:07 +00:00
slcompress.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
slcompress.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
toeplitz.c
toeplitz.h
vnet.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
vnet.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00