1
0
Fork 0
alistair23-linux/drivers/net
Alexander Duyck 5305d0fe2f i40e: Fix multiple issues with UDP tunnel offload filter configuration
This fixes at least 2 issues I have found with the UDP tunnel filter
configuration.

The first issue is the fact that the tunnels didn't have any sort of mutual
exclusion in place to prevent an update from racing with a user request to
add/remove a port. As such you could request to add and remove a port
before the port update code had a chance to respond which would result in a
very confusing result. To address it I have added 2 changes. First I added
the RTNL mutex wrapper around our updating of the pending, port, and
filter_index bits. Second I added logic so that we cannot use a port that
has a pending deletion since we need to free the space in hardware before
we can allow software to reuse it.

The second issue addressed is the fact that we were not recording the
actual filter index provided to us by the admin queue. As a result we were
deleting filters that were not associated with the actual filter we wanted
to delete. To fix that I added a filter_index member to the UDP port
tracking structure.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2018-04-30 09:21:42 -07:00
..
appletalk
arcnet
bonding bonding: do not set slave_dev npinfo before slave_enable_netpoll in bond_enslave 2018-04-23 11:52:35 -04:00
caif drivers/net: Use octal not symbolic permissions 2018-03-26 12:07:49 -04:00
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-04-03 14:04:18 -07:00
dsa net: dsa: mv88e6xxx: remove Global 2 setup 2018-04-29 20:36:49 -04:00
ethernet i40e: Fix multiple issues with UDP tunnel offload filter configuration 2018-04-30 09:21:42 -07:00
fddi
fjes
hamradio mkiss: remove redundant check for len > 0 2018-04-25 14:12:06 -04:00
hippi
hyperv hv_netvsc: simplify receive side calling arguments 2018-04-27 14:46:26 -04:00
ieee802154 Merge branch 'ieee802154-for-davem-2018-03-29' of git://git.kernel.org/pub/scm/linux/kernel/git/sschmidt/wpan-next 2018-03-30 13:00:11 -04:00
ipvlan net: Drop pernet_operations::async 2018-03-27 13:18:09 -04:00
netdevsim devlink: convert occ_get op to separate registration 2018-04-08 12:45:57 -04:00
phy net: phy: Fix modular PHYLIB build 2018-04-28 16:48:04 -04:00
plip
ppp pppoe: check sockaddr length in pppoe_connect() 2018-04-23 21:12:15 -04:00
slip slip: Check if rstate is initialized before uncompressing 2018-04-11 10:33:46 -04:00
team Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-04-24 23:59:11 -04:00
usb lan78xx: Modify error messages 2018-04-29 21:41:01 -04:00
vmxnet3 vmxnet3: fix incorrect dereference when rxvlan is disabled 2018-04-19 13:59:05 -04:00
wan hdlc_ppp: carrier detect ok, don't turn off negotiation 2018-02-26 14:38:12 -05:00
wimax net: drivers/net: Remove unnecessary skb_copy_expand OOM messages 2018-03-15 14:28:03 -04:00
wireless mac80211_hwsim: use DEFINE_IDA 2018-04-11 10:28:39 -07:00
xen-netback drivers/net: Use octal not symbolic permissions 2018-03-26 12:07:49 -04:00
Kconfig geneve: fix build with modular IPV6 2018-04-27 13:52:09 -04:00
LICENSE.SRC
Makefile net: remove cris etrax ethernet driver 2018-03-26 15:56:24 +02:00
Space.c net/mac89x0: Convert to platform_driver 2018-03-01 21:21:36 -05:00
dummy.c net: Do not take net_rwsem in __rtnl_link_unregister() 2018-03-31 22:24:58 -04:00
eql.c
geneve.c geneve: configure MTU based on a lower device 2018-04-20 11:20:05 -04:00
gtp.c net: Drop pernet_operations::async 2018-03-27 13:18:09 -04:00
ifb.c net: Do not take net_rwsem in __rtnl_link_unregister() 2018-03-31 22:24:58 -04:00
loopback.c net: Drop pernet_operations::async 2018-03-27 13:18:09 -04:00
macsec.c Revert "macsec: missing dev_put() on error in macsec_newlink()" 2018-04-16 10:01:12 -04:00
macvlan.c macvlan: Use software path for offloaded local, broadcast, and multicast traffic 2018-04-25 08:26:19 -07:00
macvtap.c
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
sungem_phy.c
tap.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
thunderbolt.c net: thunderbolt: Run disconnect flow asynchronously when logout is received 2018-02-12 12:03:04 -05:00
tun.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-04-21 16:32:48 -04:00
veth.c
virtio_net.c bpf: fix virtio-net's length calc for XDP_PASS 2018-04-23 11:28:34 +02:00
vrf.c vrf: Move fib6_table into net_vrf 2018-04-17 23:41:15 -04:00
vsockmon.c
vxlan.c vxlan: add ttl inherit support 2018-04-17 13:53:13 -04:00
xen-netfront.c drivers/net: Use octal not symbolic permissions 2018-03-26 12:07:49 -04:00