[Intel-wired-lan] [next PATCH S21 10/14] i40e: remove CONFIG_I40E_VXLAN

Singhai, Anjali anjali.singhai at intel.com
Wed Nov 11 00:24:50 UTC 2015


Please revert this patch, since it breaks the build when I40E is in built in the kernel and VXLAN is a module due to the fact the vxlan_get_rx_port is not defined.


The GENEVE/VXLAN patch series takes care of this issue by generalizing the call to udp_offload_get_port which is always defiend.

Anjali

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of Joshua Hay
> Sent: Friday, November 06, 2015 3:26 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [next PATCH S21 10/14] i40e: remove
> CONFIG_I40E_VXLAN
> 
> From: Jesse Brandeburg <jesse.brandeburg at intel.com>
> 
> Instead of having our own custom symbol, we can just rely on whether or
> not the kernel has the feature enabled.
> 
> In this case use IS_ENABLED(CONFIG_VXLAN) in order to handle built-in or
> module in the current BKM way.
> 
> Signed-off-by: Jesse Brandeburg <jesse.brandeburg at intel.com>
> Change-ID: I5890fbb518ff8ed6bb07c3362fb0a8a829f9b241
> ---
>  drivers/net/ethernet/intel/Kconfig          | 11 -----------
>  drivers/net/ethernet/intel/i40e/i40e.h      |  4 +---
>  drivers/net/ethernet/intel/i40e/i40e_main.c | 12 ++++++------
>  3 files changed, 7 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/Kconfig
> b/drivers/net/ethernet/intel/Kconfig
> index 4163b16..061e4e0 100644
> --- a/drivers/net/ethernet/intel/Kconfig
> +++ b/drivers/net/ethernet/intel/Kconfig
> @@ -269,17 +269,6 @@ config I40E
>  	  To compile this driver as a module, choose M here. The module
>  	  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
>  	bool "Data Center Bridging (DCB) Support"
>  	default n
> diff --git a/drivers/net/ethernet/intel/i40e/i40e.h
> b/drivers/net/ethernet/intel/i40e/i40e.h
> index 050fc0f..adfc450 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e.h
> +++ b/drivers/net/ethernet/intel/i40e/i40e.h
> @@ -282,7 +282,7 @@ struct i40e_pf {
>  	u32 fd_atr_cnt;
>  	u32 fd_tcp_rule;
> 
> -#ifdef CONFIG_I40E_VXLAN
> +#if IS_ENABLED(CONFIG_VXLAN)
>  	__be16  vxlan_ports[I40E_MAX_PF_UDP_OFFLOAD_PORTS];
>  	u16 pending_vxlan_bitmap;
> 
> @@ -323,9 +323,7 @@ struct i40e_pf {
>  #define I40E_FLAG_FD_ATR_ENABLED		BIT_ULL(22)
>  #define I40E_FLAG_PTP				BIT_ULL(25)
>  #define I40E_FLAG_MFP_ENABLED			BIT_ULL(26)
> -#ifdef CONFIG_I40E_VXLAN
>  #define I40E_FLAG_VXLAN_FILTER_SYNC		BIT_ULL(27)
> -#endif
>  #define I40E_FLAG_PORT_ID_VALID			BIT_ULL(28)
>  #define I40E_FLAG_DCB_CAPABLE			BIT_ULL(29)
>  #define I40E_FLAG_RSS_AQ_CAPABLE		BIT_ULL(31)
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c
> b/drivers/net/ethernet/intel/i40e/i40e_main.c
> index c6d4da4..4db7966 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_main.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
> @@ -27,7 +27,7 @@
>  /* Local includes */
>  #include "i40e.h"
>  #include "i40e_diag.h"
> -#ifdef CONFIG_I40E_VXLAN
> +#if IS_ENABLED(CONFIG_VXLAN)
>  #include <net/vxlan.h>
>  #endif
> 
> @@ -5357,7 +5357,7 @@ int i40e_open(struct net_device *netdev)
>  						       TCP_FLAG_CWR) >> 16);
>  	wr32(&pf->hw, I40E_GLLAN_TSOMSK_L,
> be32_to_cpu(TCP_FLAG_CWR) >> 16);
> 
> -#ifdef CONFIG_I40E_VXLAN
> +#if IS_ENABLED(CONFIG_VXLAN)
>  	vxlan_get_rx_port(netdev);
>  #endif
> 
> @@ -7053,7 +7053,7 @@ static void i40e_handle_mdd_event(struct i40e_pf
> *pf)
>  	i40e_flush(hw);
>  }
> 
> -#ifdef CONFIG_I40E_VXLAN
> +#if IS_ENABLED(CONFIG_VXLAN)
>  /**
>   * i40e_sync_vxlan_filters_subtask - Sync the VSI filter list with HW
>   * @pf: board private structure
> @@ -7120,7 +7120,7 @@ static void i40e_service_task(struct work_struct
> *work)
>  	i40e_watchdog_subtask(pf);
>  	i40e_fdir_reinit_subtask(pf);
>  	i40e_sync_filters_subtask(pf);
> -#ifdef CONFIG_I40E_VXLAN
> +#if IS_ENABLED(CONFIG_VXLAN)
>  	i40e_sync_vxlan_filters_subtask(pf);
>  #endif
>  	i40e_clean_adminq_subtask(pf);
> @@ -8496,7 +8496,7 @@ static int i40e_set_features(struct net_device
> *netdev,
>  	return 0;
>  }
> 
> -#ifdef CONFIG_I40E_VXLAN
> +#if IS_ENABLED(CONFIG_VXLAN)
>  /**
>   * i40e_get_vxlan_port_idx - Lookup a possibly offloaded for Rx UDP port
>   * @pf: board private structure
> @@ -8816,7 +8816,7 @@ static const struct net_device_ops
> i40e_netdev_ops = {
>  	.ndo_get_vf_config	= i40e_ndo_get_vf_config,
>  	.ndo_set_vf_link_state	= i40e_ndo_set_vf_link_state,
>  	.ndo_set_vf_spoofchk	= i40e_ndo_set_vf_spoofchk,
> -#ifdef CONFIG_I40E_VXLAN
> +#if IS_ENABLED(CONFIG_VXLAN)
>  	.ndo_add_vxlan_port	= i40e_add_vxlan_port,
>  	.ndo_del_vxlan_port	= i40e_del_vxlan_port,
>  #endif
> --
> 2.1.0
> 
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan at lists.osuosl.org
> http://lists.osuosl.org/mailman/listinfo/intel-wired-lan


More information about the Intel-wired-lan mailing list