ixgbe: disallow IPsec Tx offload when in SR-IOV mode
There seems to be a problem in the x540's internal switch wherein if SR-IOV mode is enabled and an offloaded IPsec packet is sent to a local VF, the packet is silently dropped. This might never be a problem as it is somewhat a corner case, but if someone happens to be using IPsec offload from the PF to a VF that just happens to get migrated to the local box, communication will mysteriously fail. Not good. A simple way to protect from this is to simply not allow any IPsec offloads for outgoing packets when num_vfs != 0. This doesn't help any offloads that were created before SR-IOV was enabled, but we'll get to that later. 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>
This commit is contained in:
parent
7f68d43067
commit
47b6f50077
|
@ -693,6 +693,9 @@ static int ixgbe_ipsec_add_sa(struct xfrm_state *xs)
|
|||
} else {
|
||||
struct tx_sa tsa;
|
||||
|
||||
if (adapter->num_vfs)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
/* find the first unused index */
|
||||
ret = ixgbe_ipsec_find_empty_idx(ipsec, false);
|
||||
if (ret < 0) {
|
||||
|
|
Loading…
Reference in New Issue