mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 10:31:46 +09:00
ixgbe: allow IPsec Tx offload in VEPA mode
[ Upstream commit7fa57ca443] When it's possible that the PF might end up trying to send a packet to one of its own VFs, we have to forbid IPsec offload because the device drops the packets into a black hole. See commit47b6f50077("ixgbe: disallow IPsec Tx offload when in SR-IOV mode") for more info. This really is only necessary when the device is in the default VEB mode. If instead the device is running in VEPA mode, the packets will go through the encryption engine and out the MAC/PHY as normal, and get "hairpinned" as needed by the switch. So let's not block IPsec offload when in VEPA mode. To get there with the ixgbe device, use the handy 'bridge' command: bridge link set dev eth1 hwmode vepa Signed-off-by: Shannon Nelson <shannon.nelson@oracle.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
bd240b1182
commit
3dc1bc575e
@@ -4,6 +4,7 @@
|
||||
#include "ixgbe.h"
|
||||
#include <net/xfrm.h>
|
||||
#include <crypto/aead.h>
|
||||
#include <linux/if_bridge.h>
|
||||
|
||||
/**
|
||||
* ixgbe_ipsec_set_tx_sa - set the Tx SA registers
|
||||
@@ -676,7 +677,8 @@ static int ixgbe_ipsec_add_sa(struct xfrm_state *xs)
|
||||
} else {
|
||||
struct tx_sa tsa;
|
||||
|
||||
if (adapter->num_vfs)
|
||||
if (adapter->num_vfs &&
|
||||
adapter->bridge_mode != BRIDGE_MODE_VEPA)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
/* find the first unused index */
|
||||
|
||||
Reference in New Issue
Block a user