Revert "i40e: remove CONFIG_I40E_VXLAN"
This reverts commit 8fe269991aece394a7ed274f525d96c73f94109a. The case where VXLAN is a module and i40e driver is inbuilt will not be handled properly with this change since i40e will have an undefined symbol vxlan_get_rx_port in it. v2: Add a signed-off-by. Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
b48565f50b
commit
6633d3815c
@ -269,6 +269,17 @@ config I40E
|
|||||||
To compile this driver as a module, choose M here. The module
|
To compile this driver as a module, choose M here. The module
|
||||||
will be called i40e.
|
will be called i40e.
|
||||||
|
|
||||||
|
config I40E_VXLAN
|
||||||
|
bool "Virtual eXtensible Local Area Network Support"
|
||||||
|
default n
|
||||||
|
depends on I40E && VXLAN && !(I40E=y && VXLAN=m)
|
||||||
|
---help---
|
||||||
|
This allows one to create VXLAN virtual interfaces that provide
|
||||||
|
Layer 2 Networks over Layer 3 Networks. VXLAN is often used
|
||||||
|
to tunnel virtual network infrastructure in virtualized environments.
|
||||||
|
Say Y here if you want to use Virtual eXtensible Local Area Network
|
||||||
|
(VXLAN) in the driver.
|
||||||
|
|
||||||
config I40E_DCB
|
config I40E_DCB
|
||||||
bool "Data Center Bridging (DCB) Support"
|
bool "Data Center Bridging (DCB) Support"
|
||||||
default n
|
default n
|
||||||
|
@ -281,7 +281,7 @@ struct i40e_pf {
|
|||||||
u32 fd_atr_cnt;
|
u32 fd_atr_cnt;
|
||||||
u32 fd_tcp_rule;
|
u32 fd_tcp_rule;
|
||||||
|
|
||||||
#if IS_ENABLED(CONFIG_VXLAN)
|
#ifdef CONFIG_I40E_VXLAN
|
||||||
__be16 vxlan_ports[I40E_MAX_PF_UDP_OFFLOAD_PORTS];
|
__be16 vxlan_ports[I40E_MAX_PF_UDP_OFFLOAD_PORTS];
|
||||||
u16 pending_vxlan_bitmap;
|
u16 pending_vxlan_bitmap;
|
||||||
|
|
||||||
@ -322,7 +322,9 @@ struct i40e_pf {
|
|||||||
#define I40E_FLAG_FD_ATR_ENABLED BIT_ULL(22)
|
#define I40E_FLAG_FD_ATR_ENABLED BIT_ULL(22)
|
||||||
#define I40E_FLAG_PTP BIT_ULL(25)
|
#define I40E_FLAG_PTP BIT_ULL(25)
|
||||||
#define I40E_FLAG_MFP_ENABLED BIT_ULL(26)
|
#define I40E_FLAG_MFP_ENABLED BIT_ULL(26)
|
||||||
|
#ifdef CONFIG_I40E_VXLAN
|
||||||
#define I40E_FLAG_VXLAN_FILTER_SYNC BIT_ULL(27)
|
#define I40E_FLAG_VXLAN_FILTER_SYNC BIT_ULL(27)
|
||||||
|
#endif
|
||||||
#define I40E_FLAG_PORT_ID_VALID BIT_ULL(28)
|
#define I40E_FLAG_PORT_ID_VALID BIT_ULL(28)
|
||||||
#define I40E_FLAG_DCB_CAPABLE BIT_ULL(29)
|
#define I40E_FLAG_DCB_CAPABLE BIT_ULL(29)
|
||||||
#define I40E_FLAG_RSS_AQ_CAPABLE BIT_ULL(31)
|
#define I40E_FLAG_RSS_AQ_CAPABLE BIT_ULL(31)
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
/* Local includes */
|
/* Local includes */
|
||||||
#include "i40e.h"
|
#include "i40e.h"
|
||||||
#include "i40e_diag.h"
|
#include "i40e_diag.h"
|
||||||
#if IS_ENABLED(CONFIG_VXLAN)
|
#ifdef CONFIG_I40E_VXLAN
|
||||||
#include <net/vxlan.h>
|
#include <net/vxlan.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -5294,7 +5294,7 @@ int i40e_open(struct net_device *netdev)
|
|||||||
TCP_FLAG_CWR) >> 16);
|
TCP_FLAG_CWR) >> 16);
|
||||||
wr32(&pf->hw, I40E_GLLAN_TSOMSK_L, be32_to_cpu(TCP_FLAG_CWR) >> 16);
|
wr32(&pf->hw, I40E_GLLAN_TSOMSK_L, be32_to_cpu(TCP_FLAG_CWR) >> 16);
|
||||||
|
|
||||||
#if IS_ENABLED(CONFIG_VXLAN)
|
#ifdef CONFIG_I40E_VXLAN
|
||||||
vxlan_get_rx_port(netdev);
|
vxlan_get_rx_port(netdev);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -6990,7 +6990,7 @@ static void i40e_handle_mdd_event(struct i40e_pf *pf)
|
|||||||
i40e_flush(hw);
|
i40e_flush(hw);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if IS_ENABLED(CONFIG_VXLAN)
|
#ifdef CONFIG_I40E_VXLAN
|
||||||
/**
|
/**
|
||||||
* i40e_sync_vxlan_filters_subtask - Sync the VSI filter list with HW
|
* i40e_sync_vxlan_filters_subtask - Sync the VSI filter list with HW
|
||||||
* @pf: board private structure
|
* @pf: board private structure
|
||||||
@ -7057,7 +7057,7 @@ static void i40e_service_task(struct work_struct *work)
|
|||||||
i40e_watchdog_subtask(pf);
|
i40e_watchdog_subtask(pf);
|
||||||
i40e_fdir_reinit_subtask(pf);
|
i40e_fdir_reinit_subtask(pf);
|
||||||
i40e_sync_filters_subtask(pf);
|
i40e_sync_filters_subtask(pf);
|
||||||
#if IS_ENABLED(CONFIG_VXLAN)
|
#ifdef CONFIG_I40E_VXLAN
|
||||||
i40e_sync_vxlan_filters_subtask(pf);
|
i40e_sync_vxlan_filters_subtask(pf);
|
||||||
#endif
|
#endif
|
||||||
i40e_clean_adminq_subtask(pf);
|
i40e_clean_adminq_subtask(pf);
|
||||||
@ -8433,7 +8433,7 @@ static int i40e_set_features(struct net_device *netdev,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if IS_ENABLED(CONFIG_VXLAN)
|
#ifdef CONFIG_I40E_VXLAN
|
||||||
/**
|
/**
|
||||||
* i40e_get_vxlan_port_idx - Lookup a possibly offloaded for Rx UDP port
|
* i40e_get_vxlan_port_idx - Lookup a possibly offloaded for Rx UDP port
|
||||||
* @pf: board private structure
|
* @pf: board private structure
|
||||||
@ -8753,7 +8753,7 @@ static const struct net_device_ops i40e_netdev_ops = {
|
|||||||
.ndo_get_vf_config = i40e_ndo_get_vf_config,
|
.ndo_get_vf_config = i40e_ndo_get_vf_config,
|
||||||
.ndo_set_vf_link_state = i40e_ndo_set_vf_link_state,
|
.ndo_set_vf_link_state = i40e_ndo_set_vf_link_state,
|
||||||
.ndo_set_vf_spoofchk = i40e_ndo_set_vf_spoofchk,
|
.ndo_set_vf_spoofchk = i40e_ndo_set_vf_spoofchk,
|
||||||
#if IS_ENABLED(CONFIG_VXLAN)
|
#ifdef CONFIG_I40E_VXLAN
|
||||||
.ndo_add_vxlan_port = i40e_add_vxlan_port,
|
.ndo_add_vxlan_port = i40e_add_vxlan_port,
|
||||||
.ndo_del_vxlan_port = i40e_del_vxlan_port,
|
.ndo_del_vxlan_port = i40e_del_vxlan_port,
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user