Openvswitch uses function from NET_IPGRE_DEMUX module.
Add Kconfig dependency to fix following compilation errors:
http://marc.info/?l=linux-netdev&m=137244035226634

CC: Jesse Gross <je...@nicira.com>
Reported-by: Randy Dunlap <rdun...@infradead.org>
Signed-off-by: Pravin Shelar <pshe...@nicira.com>
---
v2-v3:
 - Added openvswitch gre config option.
 - add INET dependency.
v1-v2:
 - use select to resolve dependency.
---
 net/openvswitch/Kconfig     |   16 ++++++++++++++--
 net/openvswitch/vport-gre.c |    5 +++--
 net/openvswitch/vport.c     |    2 +-
 3 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/net/openvswitch/Kconfig b/net/openvswitch/Kconfig
index 9fbc04a..27ee56b 100644
--- a/net/openvswitch/Kconfig
+++ b/net/openvswitch/Kconfig
@@ -19,8 +19,6 @@ config OPENVSWITCH
          which is able to accept configuration from a variety of sources and
          translate it into packet processing rules.
 
-         Open vSwitch GRE support depends on CONFIG_NET_IPGRE_DEMUX.
-
          See http://openvswitch.org for more information and userspace
          utilities.
 
@@ -28,3 +26,17 @@ config OPENVSWITCH
          called openvswitch.
 
          If unsure, say N.
+
+config OPENVSWITCH_GRE
+       bool "Open vSwitch GRE tunneling support"
+       depends on INET
+       depends on OPENVSWITCH
+       depends on NET_IPGRE_DEMUX && !(OPENVSWITCH=y && NET_IPGRE_DEMUX=m)
+       default y
+       ---help---
+         If you say Y here, then the Open vSwitch will be able create GRE
+         vport.
+
+         Say N to exclude this support and reduce the binary size.
+
+         If unsure, say Y.
diff --git a/net/openvswitch/vport-gre.c b/net/openvswitch/vport-gre.c
index 943e5c4..493e977 100644
--- a/net/openvswitch/vport-gre.c
+++ b/net/openvswitch/vport-gre.c
@@ -16,7 +16,7 @@
  * 02110-1301, USA
  */
 
-#if IS_ENABLED(CONFIG_NET_IPGRE_DEMUX)
+#ifdef CONFIG_OPENVSWITCH_GRE
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 
 #include <linux/if.h>
@@ -271,4 +271,5 @@ const struct vport_ops ovs_gre_vport_ops = {
        .get_name       = gre_get_name,
        .send           = gre_tnl_send,
 };
-#endif
+
+#endif /* OPENVSWITCH_GRE */
diff --git a/net/openvswitch/vport.c b/net/openvswitch/vport.c
index ba81294..d4c7fa0 100644
--- a/net/openvswitch/vport.c
+++ b/net/openvswitch/vport.c
@@ -39,7 +39,7 @@ static const struct vport_ops *vport_ops_list[] = {
        &ovs_netdev_vport_ops,
        &ovs_internal_vport_ops,
 
-#if IS_ENABLED(CONFIG_NET_IPGRE_DEMUX)
+#ifdef CONFIG_OPENVSWITCH_GRE
        &ovs_gre_vport_ops,
 #endif
 };
-- 
1.7.1

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to