linux_dsm_epyc7002/net
Veaceslav Falico 1d486bfb66 net: add NETDEV_PRECHANGEMTU to notify before mtu change happens
Currently, if a device changes its mtu, first the change happens (invloving
all the side effects), and after that the NETDEV_CHANGEMTU is sent so that
other devices can catch up with the new mtu. However, if they return
NOTIFY_BAD, then the change is reverted and error returned.

This is a really long and costy operation (sometimes). To fix this, add
NETDEV_PRECHANGEMTU notification which is called prior to any change
actually happening, and if any callee returns NOTIFY_BAD - the change is
aborted. This way we're skipping all the playing with apply/revert the mtu.

CC: "David S. Miller" <davem@davemloft.net>
CC: Jiri Pirko <jiri@resnulli.us>
CC: Eric Dumazet <edumazet@google.com>
CC: Nicolas Dichtel <nicolas.dichtel@6wind.com>
CC: Cong Wang <amwang@redhat.com>
Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
Acked-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-01-16 17:15:41 -08:00
..
9p
802 neigh: use NEIGH_VAR_INIT in ndo_neigh_setup functions. 2014-01-16 11:31:58 -08:00
8021q
appletalk
atm
ax25
batman-adv Revert "batman-adv: drop dependency against CRC16" 2014-01-15 16:54:14 -08:00
bluetooth net: move 6lowpan compression code to separate module 2014-01-15 15:36:38 -08:00
bridge bridge: move br_net_exit() to br.c 2014-01-13 23:42:39 -08:00
caif caif: __dev_get_by_index instead of dev_get_by_index to find interface 2014-01-14 18:50:47 -08:00
can can: use __dev_get_by_index instead of dev_get_by_index to find interface 2014-01-14 18:50:47 -08:00
ceph
core net: add NETDEV_PRECHANGEMTU to notify before mtu change happens 2014-01-16 17:15:41 -08:00
dcb dcb: use __dev_get_by_name instead of dev_get_by_name to find interface 2014-01-14 18:50:46 -08:00
dccp ipv4: introduce hardened ip_no_pmtu_disc mode 2014-01-13 11:22:55 -08:00
decnet decnet: use __dev_get_by_index instead of dev_get_by_index to find interface 2014-01-14 18:50:46 -08:00
dns_resolver
dsa
ethernet net: eth_type_trans() should use skb_header_pointer() 2014-01-16 15:30:31 -08:00
hsr
ieee802154 net: move 6lowpan compression code to separate module 2014-01-15 15:36:38 -08:00
ipv4 net/ipv4: don't use module_init in non-modular gre_offload 2014-01-16 16:08:27 -08:00
ipv6 ipv6 addrconf: don't cleanup prefix route for IFA_F_NOPREFIXROUTE 2014-01-15 17:00:40 -08:00
ipx
irda
iucv
key
l2tp l2tp: make local functions static 2014-01-13 12:00:16 -08:00
lapb
llc
mac80211 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-01-14 14:42:42 -08:00
mac802154
mpls
netfilter Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nftables 2014-01-16 11:44:54 -08:00
netlabel
netlink
netrom
nfc net: Spelling s/transmition/transmission/ 2014-01-14 17:11:26 -08:00
openvswitch net: replace macros net_random and net_srandom with direct calls to prandom 2014-01-14 15:15:25 -08:00
packet packet: use percpu mmap tx frame pending refcount 2014-01-16 16:17:12 -08:00
phonet
rds net: replace macros net_random and net_srandom with direct calls to prandom 2014-01-14 15:15:25 -08:00
rfkill
rose
rxrpc
sched net: replace macros net_random and net_srandom with direct calls to prandom 2014-01-14 15:15:25 -08:00
sctp sctp: create helper function to enable|disable sackdelay 2014-01-15 16:47:48 -08:00
sunrpc net: replace macros net_random and net_srandom with direct calls to prandom 2014-01-14 15:15:25 -08:00
tipc tipc: spelling fixes 2014-01-14 18:18:22 -08:00
unix
vmw_vsock
wimax
wireless net: nl80211: __dev_get_by_index instead of dev_get_by_index to find interface 2014-01-14 18:50:47 -08:00
x25
xfrm net: replace macros net_random and net_srandom with direct calls to prandom 2014-01-14 15:15:25 -08:00
compat.c
Kconfig
Makefile net: move 6lowpan compression code to separate module 2014-01-15 15:36:38 -08:00
nonet.c
socket.c
sysctl_net.c