]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
Revert "i40e: remove CONFIG_I40E_VXLAN"
authorSinghai, Anjali <anjali.singhai@intel.com>
Fri, 4 Dec 2015 07:49:31 +0000 (23:49 -0800)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 10 Mar 2016 16:36:34 +0000 (08:36 -0800)
Orabug: 22342532

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>
(cherry picked from commit 6633d3815c099a0aaf28e4853f7a8994331b8c05)
Signed-off-by: Brian Maly <brian.maly@oracle.com>
drivers/net/ethernet/intel/Kconfig
drivers/net/ethernet/intel/i40e/i40e.h
drivers/net/ethernet/intel/i40e/i40e_main.c

index 01b9eeefd26863627bdfc3bf8097a3a03877862f..f4ff465584a082d76618be172ed05d559a0950de 100644 (file)
@@ -271,6 +271,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
index 9dadeaa0120d1627331a937be39e8832e939c316..ce163df6cbca334699934d6469a21acac704f089 100644 (file)
@@ -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)
index f7fedcc6197d613e3f21c7a28dc149fb13deb3a1..5205af6d7db224f7b72478c2bfb19a5e8f40211b 100644 (file)
@@ -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
 
@@ -5265,7 +5265,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
 
@@ -6945,7 +6945,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
@@ -7012,7 +7012,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);
@@ -8387,7 +8387,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
@@ -8707,7 +8707,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