ixgbe/ixgbevf: fix XFRM_ALGO dependency
Based on the original work from Arnd Bergmann.
When XFRM_ALGO is not enabled, the new ixgbe IPsec code produces a
link error:
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.o: In function `ixgbe_ipsec_vf_add_sa':
ixgbe_ipsec.c:(.text+0x1266): undefined reference to `xfrm_aead_get_byname'
Simply selecting XFRM_ALGO from here causes circular dependencies, so
to fix it, we probably want this slightly more complex solution that is
similar to what other drivers with XFRM offload do:
A separate Kconfig symbol now controls whether we include the IPsec
offload code. To keep the old behavior, this is left as 'default y'. The
dependency in XFRM_OFFLOAD still causes a circular dependency but is
not actually needed because this symbol is not user visible, so removing
that dependency on top makes it all work.
CC: Arnd Bergmann <arnd@arndb.de>
CC: Shannon Nelson <shannon.nelson@oracle.com>
Fixes: eda0333ac2
("ixgbe: add VF IPsec management")
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
This commit is contained in:
@@ -8694,7 +8694,7 @@ netdev_tx_t ixgbe_xmit_frame_ring(struct sk_buff *skb,
|
||||
|
||||
#endif /* IXGBE_FCOE */
|
||||
|
||||
#ifdef CONFIG_XFRM_OFFLOAD
|
||||
#ifdef CONFIG_IXGBE_IPSEC
|
||||
if (skb->sp && !ixgbe_ipsec_tx(tx_ring, first, &ipsec_tx))
|
||||
goto out_drop;
|
||||
#endif
|
||||
@@ -10190,7 +10190,7 @@ ixgbe_features_check(struct sk_buff *skb, struct net_device *dev,
|
||||
* the TSO, so it's the exception.
|
||||
*/
|
||||
if (skb->encapsulation && !(features & NETIF_F_TSO_MANGLEID)) {
|
||||
#ifdef CONFIG_XFRM_OFFLOAD
|
||||
#ifdef CONFIG_IXGBE_IPSEC
|
||||
if (!skb->sp)
|
||||
#endif
|
||||
features &= ~NETIF_F_TSO;
|
||||
@@ -10883,7 +10883,7 @@ skip_sriov:
|
||||
if (hw->mac.type >= ixgbe_mac_82599EB)
|
||||
netdev->features |= NETIF_F_SCTP_CRC;
|
||||
|
||||
#ifdef CONFIG_XFRM_OFFLOAD
|
||||
#ifdef CONFIG_IXGBE_IPSEC
|
||||
#define IXGBE_ESP_FEATURES (NETIF_F_HW_ESP | \
|
||||
NETIF_F_HW_ESP_TX_CSUM | \
|
||||
NETIF_F_GSO_ESP)
|
||||
|
Reference in New Issue
Block a user