android_kernel_xiaomi_sm8350/net/ipv4
Herbert Xu 576a30eb64 [NET]: Added GSO header verification
When GSO packets come from an untrusted source (e.g., a Xen guest domain),
we need to verify the header integrity before passing it to the hardware.

Since the first step in GSO is to verify the header, we can reuse that
code by adding a new bit to gso_type: SKB_GSO_DODGY.  Packets with this
bit set can only be fed directly to devices with the corresponding bit
NETIF_F_GSO_ROBUST.  If the device doesn't have that bit, then the skb
is fed to the GSO engine which will allow the packet to be sent to the
hardware if it passes the header check.

This patch changes the sg flag to a full features flag.  The same method
can be used to implement TSO ECN support.  We simply have to mark packets
with CWR set with SKB_GSO_ECN so that only hardware with a corresponding
NETIF_F_TSO_ECN can accept them.  The GSO engine can either fully segment
the packet, or segment the first MTU and pass the rest to the hardware for
further segmentation.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-06-29 16:57:53 -07:00
..
ipvs [PATCH] sem2mutex: misc static one-file mutexes 2006-03-26 08:56:55 -08:00
netfilter [NETFILTER]: ip_queue/nfnetlink_queue: drop bridge port references when dev disappears 2006-06-29 16:57:48 -07:00
af_inet.c [NET]: Added GSO header verification 2006-06-29 16:57:53 -07:00
ah4.c [IPSEC] proto: Move transport mode input path into xfrm_mode_transport 2006-06-17 21:28:41 -07:00
arp.c [IPV4]: Possible cleanups. 2006-04-14 15:00:20 -07:00
datagram.c
devinet.c [IPV4]: Possible cleanups. 2006-04-14 15:00:20 -07:00
esp4.c [IPSEC] proto: Move transport mode input path into xfrm_mode_transport 2006-06-17 21:28:41 -07:00
fib_frontend.c [NET]: Export ip_dev_find() 2006-06-17 20:37:28 -07:00
fib_hash.c
fib_lookup.h
fib_rules.c [IPV4]: Add fib rule netlink notifications 2006-03-23 01:16:06 -08:00
fib_semantics.c
fib_trie.c [FIB_TRIE]: Fix leaf freeing. 2006-04-09 22:25:23 -07:00
icmp.c [IPV4] icmp: Kill local 'ip' arg in icmp_redirect(). 2006-06-17 21:29:41 -07:00
igmp.c [IPV4] igmp: Fixup struct ip_mc_list::multiaddr type 2006-06-17 21:29:37 -07:00
inet_connection_sock.c [INET]: Fix typo in Arnaldo's connection sock compat fixups. 2006-03-20 22:52:32 -08:00
inet_diag.c
inet_hashtables.c [IPV4]: Possible cleanups. 2006-04-14 15:00:20 -07:00
inet_timewait_sock.c
inetpeer.c
ip_forward.c [IPV4]: Increment ipInHdrErrors when TTL expires. 2006-06-12 13:09:59 -07:00
ip_fragment.c [IPV4] ip_fragment: Always compute hash with ipfrag_lock held. 2006-04-09 22:43:55 -07:00
ip_gre.c [INET]: Use port unreachable instead of proto for tunnels 2006-04-09 22:25:29 -07:00
ip_input.c [IPV4]: Remove likely in ip_rcv_finish() 2006-05-06 18:11:39 -07:00
ip_options.c [IPV4]: ip_options_fragment() has no effect on fragmentation 2006-05-09 15:18:50 -07:00
ip_output.c [NET]: Merge TSO/UFO fields in sk_buff 2006-06-23 02:07:29 -07:00
ip_sockglue.c [NET]: Identation & other cleanups related to compat_[gs]etsockopt cset 2006-03-20 22:48:35 -08:00
ipcomp.c [NET]: Clean up skb_linearize 2006-06-17 21:30:16 -07:00
ipconfig.c
ipip.c [INET]: Move no-tunnel ICMP error to tunnel4/tunnel6 2006-04-09 22:25:25 -07:00
ipmr.c [NET]: dev_put/dev_hold cleanup 2006-03-20 22:32:28 -08:00
Kconfig [TCP]: TCP Compound congestion control 2006-06-17 21:29:25 -07:00
Makefile [TCP]: TCP Probe congestion window tracing 2006-06-17 21:29:31 -07:00
multipath_drr.c
multipath_random.c
multipath_rr.c
multipath_wrandom.c
multipath.c
netfilter.c [NETFILTER]: Add address family specific checksum helpers 2006-04-09 22:25:41 -07:00
proc.c [PATCH] for_each_possible_cpu: network codes 2006-04-11 06:18:31 -07:00
protocol.c
raw.c [IPV4]: Right prototype of __raw_v4_lookup() 2006-06-17 21:29:39 -07:00
route.c [PATCH] Define __raw_get_cpu_var and use it 2006-06-25 10:01:01 -07:00
syncookies.c
sysctl_net_ipv4.c [TCP]: Add tcp_slow_start_after_idle sysctl. 2006-06-17 21:30:53 -07:00
tcp_bic.c [TCP]: Minimum congestion window consolidation. 2006-06-17 21:29:29 -07:00
tcp_compound.c [TCP]: Minimum congestion window consolidation. 2006-06-17 21:29:29 -07:00
tcp_cong.c [TCP]: Minimum congestion window consolidation. 2006-06-17 21:29:29 -07:00
tcp_cubic.c [TCP]: Minimum congestion window consolidation. 2006-06-17 21:29:29 -07:00
tcp_diag.c
tcp_highspeed.c [TCP]: Limited slow start for Highspeed TCP 2006-06-17 21:29:33 -07:00
tcp_htcp.c [TCP]: Minimum congestion window consolidation. 2006-06-17 21:29:29 -07:00
tcp_hybla.c
tcp_input.c [NET]: Merge TSO/UFO fields in sk_buff 2006-06-23 02:07:29 -07:00
tcp_ipv4.c [I/OAT]: TCP recv offload to I/OAT 2006-06-17 21:25:56 -07:00
tcp_lp.c [TCP]: TCP Low Priority congestion control 2006-06-17 21:29:21 -07:00
tcp_minisocks.c
tcp_output.c [NET]: Merge TSO/UFO fields in sk_buff 2006-06-23 02:07:29 -07:00
tcp_probe.c [TCP]: Fix compile warning in tcp_probe.c 2006-06-17 21:29:35 -07:00
tcp_scalable.c
tcp_timer.c
tcp_vegas.c
tcp_veno.c [TCP]: Minimum congestion window consolidation. 2006-06-17 21:29:29 -07:00
tcp_westwood.c [TCP] Westwood: reset RTT min after FRTO 2006-06-17 21:30:38 -07:00
tcp.c [NET]: Added GSO header verification 2006-06-29 16:57:53 -07:00
tunnel4.c [INET]: Move no-tunnel ICMP error to tunnel4/tunnel6 2006-04-09 22:25:25 -07:00
udp.c [NET]: Identation & other cleanups related to compat_[gs]etsockopt cset 2006-03-20 22:48:35 -08:00
xfrm4_input.c [IPSEC] xfrm: Abstract out encapsulation modes 2006-06-17 21:28:39 -07:00
xfrm4_mode_transport.c [IPSEC] proto: Move transport mode input path into xfrm_mode_transport 2006-06-17 21:28:41 -07:00
xfrm4_mode_tunnel.c [IPSEC] xfrm: Abstract out encapsulation modes 2006-06-17 21:28:39 -07:00
xfrm4_output.c [IPSEC]: Handle GSO packets 2006-06-23 02:07:38 -07:00
xfrm4_policy.c [IPSEC] xfrm: Undo afinfo lock proliferation 2006-06-17 21:28:37 -07:00
xfrm4_state.c [IPSEC] xfrm: Undo afinfo lock proliferation 2006-06-17 21:28:37 -07:00
xfrm4_tunnel.c [IPSEC]: Kill unused decap state argument 2006-04-01 00:52:46 -08:00