mbox series

[net,0/5,pull,request] Intel Wired LAN Driver Fixes 2019-02-21

Message ID 20190221193319.22318-1-jeffrey.t.kirsher@intel.com
Headers show
Series Intel Wired LAN Driver Fixes 2019-02-21 | expand

Message

Kirsher, Jeffrey T Feb. 21, 2019, 7:33 p.m. UTC
This series contains fixes to ixgbe and i40e.

Majority of the fixes are to resolve XDP issues found in both drivers,
there is only one fix which is not XDP related.  That one fix resolves
an issue seen on older 10GbE devices, where UDP traffic was either being
dropped or being transmitted out of order when the bit to enable L3/L4
filtering for transmit switched packets is enabled on older devices that
did not support this option.

Magnus fixes an XDP issue for both ixgbe and i40e, where receive rings
are created but no buffers are allocated for AF_XDP in zero-copy mode,
so no packets can be received and no interrupts will be generated so
that NAPI poll function that allocates buffers to the rings will never
get executed.

Björn fixes a race in XDP xmit ring cleanup for i40e, where
ndo_xdp_xmit() must be taken into consideration.  Added a
synchronize_rcu() to wait for napi(s) before clearing the queue.

Jan fixes a ixgbe AF_XDP zero-copy transmit issue which can cause a
reset to be triggered, so add a check to ensure that netif carrier is
'ok' before trying to transmit packets.

The following are changes since commit ae3b564179bfd06f32d051b9e5d72ce4b2a07c37:
  missing barriers in some of unix_sock ->addr and ->path accesses
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue 40GbE

Björn Töpel (1):
  i40e: fix XDP_REDIRECT/XDP xmit ring cleanup race

Jan Sokolowski (1):
  ixgbe: don't do any AF_XDP zero-copy transmit if netif is not OK

Jeff Kirsher (1):
  ixgbe: fix older devices that do not support IXGBE_MRQC_L3L4TXSWEN

Magnus Karlsson (2):
  i40e: fix potential RX buffer starvation for AF_XDP
  ixgbe: fix potential RX buffer starvation for AF_XDP

 drivers/net/ethernet/intel/i40e/i40e_main.c   | 27 ++++++++++++++++---
 drivers/net/ethernet/intel/i40e/i40e_txrx.c   |  4 ++-
 drivers/net/ethernet/intel/i40e/i40e_xsk.c    |  5 ++++
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 19 ++++++++++---
 drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c  | 15 ++++++++---
 5 files changed, 60 insertions(+), 10 deletions(-)

Comments

David Miller Feb. 21, 2019, 8:53 p.m. UTC | #1
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 21 Feb 2019 11:33:14 -0800

> This series contains fixes to ixgbe and i40e.
> 
> Majority of the fixes are to resolve XDP issues found in both drivers,
> there is only one fix which is not XDP related.  That one fix resolves
> an issue seen on older 10GbE devices, where UDP traffic was either being
> dropped or being transmitted out of order when the bit to enable L3/L4
> filtering for transmit switched packets is enabled on older devices that
> did not support this option.
> 
> Magnus fixes an XDP issue for both ixgbe and i40e, where receive rings
> are created but no buffers are allocated for AF_XDP in zero-copy mode,
> so no packets can be received and no interrupts will be generated so
> that NAPI poll function that allocates buffers to the rings will never
> get executed.
> 
> Björn fixes a race in XDP xmit ring cleanup for i40e, where
> ndo_xdp_xmit() must be taken into consideration.  Added a
> synchronize_rcu() to wait for napi(s) before clearing the queue.
> 
> Jan fixes a ixgbe AF_XDP zero-copy transmit issue which can cause a
> reset to be triggered, so add a check to ensure that netif carrier is
> 'ok' before trying to transmit packets.

Pulled, thanks Jeff.