1
0
Fork 0
alistair23-linux/drivers/net/ethernet/intel/i40e
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
..
Makefile net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e.h i40e: Fix multiple issues with UDP tunnel offload filter configuration 2018-04-30 09:21:42 -07:00
i40e_adminq.c net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_adminq.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_adminq_cmd.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_alloc.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_client.c i40e/i40evf: cleanup incorrect function doxygen comments 2018-04-30 09:09:04 -07:00
i40e_client.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_common.c i40e/i40evf: cleanup incorrect function doxygen comments 2018-04-30 09:09:04 -07:00
i40e_dcb.c i40e: fix reading LLDP configuration 2018-04-30 09:12:33 -07:00
i40e_dcb.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_dcb_nl.c i40e/i40evf: cleanup incorrect function doxygen comments 2018-04-30 09:09:04 -07:00
i40e_debugfs.c i40e/i40evf: cleanup incorrect function doxygen comments 2018-04-30 09:09:04 -07:00
i40e_devids.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_diag.c net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_diag.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_ethtool.c i40e: Add advertising 10G LR mode 2018-04-30 09:16:58 -07:00
i40e_hmc.c i40e/i40evf: cleanup incorrect function doxygen comments 2018-04-30 09:09:04 -07:00
i40e_hmc.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_lan_hmc.c net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_lan_hmc.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_main.c i40e: Fix multiple issues with UDP tunnel offload filter configuration 2018-04-30 09:21:42 -07:00
i40e_nvm.c i40e/i40evf: cleanup incorrect function doxygen comments 2018-04-30 09:09:04 -07:00
i40e_osdep.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_prototype.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_ptp.c i40e/i40evf: cleanup incorrect function doxygen comments 2018-04-30 09:09:04 -07:00
i40e_register.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_status.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_trace.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_txrx.c i40e/i40evf: cleanup incorrect function doxygen comments 2018-04-30 09:09:04 -07:00
i40e_txrx.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_type.h i40e: fix reading LLDP configuration 2018-04-30 09:12:33 -07:00
i40e_virtchnl_pf.c i40e/i40evf: cleanup incorrect function doxygen comments 2018-04-30 09:09:04 -07:00
i40e_virtchnl_pf.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00