• Jeff Kirsher's avatar
    ixgbe/ixgbevf: fix XFRM_ALGO dependency · 48e01e00
    Jeff Kirsher authored
    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: eda0333a ("ixgbe: add VF IPsec management")
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
    48e01e00
ixgbe_main.c 312 KB