All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] Revert "i40e: remove CONFIG_I40E_VXLAN"
@ 2015-12-04  7:49 Anjali Singhai Jain
  2015-12-05 22:50 ` David Miller
  0 siblings, 1 reply; 4+ messages in thread
From: Anjali Singhai Jain @ 2015-12-04  7:49 UTC (permalink / raw)
  To: netdev; +Cc: Anjali Singhai Jain

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>
---
 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, 20 insertions(+), 7 deletions(-)

diff --git a/drivers/net/ethernet/intel/Kconfig b/drivers/net/ethernet/intel/Kconfig
index 061e4e0..4163b16 100644
--- a/drivers/net/ethernet/intel/Kconfig
+++ b/drivers/net/ethernet/intel/Kconfig
@@ -269,6 +269,17 @@ 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 23b4580..bd6d9c0 100644
--- a/drivers/net/ethernet/intel/i40e/i40e.h
+++ b/drivers/net/ethernet/intel/i40e/i40e.h
@@ -281,7 +281,7 @@ struct i40e_pf {
 	u32 fd_atr_cnt;
 	u32 fd_tcp_rule;
 
-#if IS_ENABLED(CONFIG_VXLAN)
+#ifdef CONFIG_I40E_VXLAN
 	__be16  vxlan_ports[I40E_MAX_PF_UDP_OFFLOAD_PORTS];
 	u16 pending_vxlan_bitmap;
 
@@ -322,7 +322,9 @@ 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 8cd395d..2b1b655 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"
-#if IS_ENABLED(CONFIG_VXLAN)
+#ifdef CONFIG_I40E_VXLAN
 #include <net/vxlan.h>
 #endif
 
@@ -5294,7 +5294,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);
 
-#if IS_ENABLED(CONFIG_VXLAN)
+#ifdef CONFIG_I40E_VXLAN
 	vxlan_get_rx_port(netdev);
 #endif
 
@@ -6990,7 +6990,7 @@ static void i40e_handle_mdd_event(struct i40e_pf *pf)
 	i40e_flush(hw);
 }
 
-#if IS_ENABLED(CONFIG_VXLAN)
+#ifdef CONFIG_I40E_VXLAN
 /**
  * i40e_sync_vxlan_filters_subtask - Sync the VSI filter list with HW
  * @pf: board private structure
@@ -7057,7 +7057,7 @@ static void i40e_service_task(struct work_struct *work)
 	i40e_watchdog_subtask(pf);
 	i40e_fdir_reinit_subtask(pf);
 	i40e_sync_filters_subtask(pf);
-#if IS_ENABLED(CONFIG_VXLAN)
+#ifdef CONFIG_I40E_VXLAN
 	i40e_sync_vxlan_filters_subtask(pf);
 #endif
 	i40e_clean_adminq_subtask(pf);
@@ -8433,7 +8433,7 @@ static int i40e_set_features(struct net_device *netdev,
 	return 0;
 }
 
-#if IS_ENABLED(CONFIG_VXLAN)
+#ifdef CONFIG_I40E_VXLAN
 /**
  * i40e_get_vxlan_port_idx - Lookup a possibly offloaded for Rx UDP port
  * @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_set_vf_link_state	= i40e_ndo_set_vf_link_state,
 	.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_del_vxlan_port	= i40e_del_vxlan_port,
 #endif
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] Revert "i40e: remove CONFIG_I40E_VXLAN"
  2015-12-04  7:49 [PATCH v2] Revert "i40e: remove CONFIG_I40E_VXLAN" Anjali Singhai Jain
@ 2015-12-05 22:50 ` David Miller
  2015-12-06  7:13   ` Jeff Kirsher
  0 siblings, 1 reply; 4+ messages in thread
From: David Miller @ 2015-12-05 22:50 UTC (permalink / raw)
  To: anjali.singhai; +Cc: netdev

From: Anjali Singhai Jain <anjali.singhai@intel.com>
Date: Thu,  3 Dec 2015 23:49:31 -0800

> 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>

Why isn't this going via Jeff Kirsher?  And why isn't he even
CC:'d?

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] Revert "i40e: remove CONFIG_I40E_VXLAN"
  2015-12-05 22:50 ` David Miller
@ 2015-12-06  7:13   ` Jeff Kirsher
  2015-12-06 16:23     ` David Miller
  0 siblings, 1 reply; 4+ messages in thread
From: Jeff Kirsher @ 2015-12-06  7:13 UTC (permalink / raw)
  To: David Miller; +Cc: anjali.singhai, netdev

On Sat, Dec 5, 2015 at 2:50 PM, David Miller <davem@davemloft.net> wrote:
> From: Anjali Singhai Jain <anjali.singhai@intel.com>
> Date: Thu,  3 Dec 2015 23:49:31 -0800
>
>> 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>
>
> Why isn't this going via Jeff Kirsher?  And why isn't he even
> CC:'d?

Not sure why either... but for what it is worth, the revert has my blessing.

Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] Revert "i40e: remove CONFIG_I40E_VXLAN"
  2015-12-06  7:13   ` Jeff Kirsher
@ 2015-12-06 16:23     ` David Miller
  0 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2015-12-06 16:23 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: anjali.singhai, netdev

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Sat, 5 Dec 2015 23:13:31 -0800

> On Sat, Dec 5, 2015 at 2:50 PM, David Miller <davem@davemloft.net> wrote:
>> From: Anjali Singhai Jain <anjali.singhai@intel.com>
>> Date: Thu,  3 Dec 2015 23:49:31 -0800
>>
>>> 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>
>>
>> Why isn't this going via Jeff Kirsher?  And why isn't he even
>> CC:'d?
> 
> Not sure why either... but for what it is worth, the revert has my blessing.
> 
> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>

Applied.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-12-06 16:23 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-04  7:49 [PATCH v2] Revert "i40e: remove CONFIG_I40E_VXLAN" Anjali Singhai Jain
2015-12-05 22:50 ` David Miller
2015-12-06  7:13   ` Jeff Kirsher
2015-12-06 16:23     ` David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.