linux-hardened/net
Lance Richardson 9ee6c5dc81 ipv4: allow local fragmentation in ip_finish_output_gso()
Some configurations (e.g. geneve interface with default
MTU of 1500 over an ethernet interface with 1500 MTU) result
in the transmission of packets that exceed the configured MTU.
While this should be considered to be a "bad" configuration,
it is still allowed and should not result in the sending
of packets that exceed the configured MTU.

Fix by dropping the assumption in ip_finish_output_gso() that
locally originated gso packets will never need fragmentation.
Basic testing using iperf (observing CPU usage and bandwidth)
have shown no measurable performance impact for traffic not
requiring fragmentation.

Fixes: c7ba65d7b6 ("net: ip: push gso skb forwarding handling down the stack")
Reported-by: Jan Tluka <jtluka@redhat.com>
Signed-off-by: Lance Richardson <lrichard@redhat.com>
Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-11-03 16:10:26 -04:00
..
6lowpan
9p
802
8021q net: add recursion limit to GRO 2016-10-20 14:32:22 -04:00
appletalk
atm
ax25
batman-adv batman-adv: fix splat on disabling an interface 2016-10-21 14:47:02 +02:00
bluetooth Bluetooth: Fix append max 11 bytes of name to scan rsp data 2016-10-19 18:42:37 +02:00
bridge bridge: multicast: restore perm router ports on multicast enable 2016-10-18 13:52:13 -04:00
caif
can can: bcm: fix warning in bcm_connect/proc_register 2016-10-31 20:48:19 +01:00
ceph
core net: mangle zero checksum in skb_checksum_help() 2016-10-31 15:29:11 -04:00
dcb
dccp
decnet
dns_resolver
dsa
ethernet net: add recursion limit to GRO 2016-10-20 14:32:22 -04:00
hsr
ieee802154
ipv4 ipv4: allow local fragmentation in ip_finish_output_gso() 2016-11-03 16:10:26 -04:00
ipv6 ip6_udp_tunnel: remove unused IPCB related codes 2016-11-02 15:18:36 -04:00
ipx
irda
iucv
kcm
key
l2tp udp: must lock the socket in udp_disconnect() 2016-10-20 14:45:52 -04:00
l3mdev
lapb
llc
mac80211
mac802154
mpls
ncsi net/ncsi: Improve HNCDSC AEN handler 2016-10-20 11:23:08 -04:00
netfilter netfilter: fix nf_queue handling 2016-10-20 19:59:59 +02:00
netlabel
netlink
netrom
nfc
openvswitch
packet packet: on direct_xmit, limit tso and csum to supported devices 2016-10-29 15:02:15 -04:00
phonet
qrtr
rds rds: debug messages are enabled by default 2016-10-29 15:55:57 -04:00
rfkill
rose
rxrpc
sched net_sched actions: use nla_parse_nested() 2016-10-29 15:01:01 -04:00
sctp sctp: hold transport instead of assoc when lookup assoc in rx path 2016-10-31 16:20:33 -04:00
strparser
sunrpc
switchdev
tipc tipc: fix broadcast link synchronization problem 2016-10-29 17:21:09 -04:00
unix unix: escape all null bytes in abstract unix domain socket 2016-11-01 12:15:13 -04:00
vmw_vsock
wimax
wireless cfg80211: process events caused by suspend before suspending 2016-10-26 07:59:52 +02:00
x25
xfrm
compat.c
Kconfig
Makefile
socket.c
sysctl_net.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2016-10-06 09:52:23 -07:00