aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Zhou <azhou@nicira.com>2014-10-06 18:15:14 -0400
committerDavid S. Miller <davem@davemloft.net>2014-10-07 00:10:49 -0400
commit7c5df8fa1921450d2210db9928f43cf4f414982c (patch)
treec07aad48037b63739a302aaf27604f780809440b
parent0a5d1c55faa5414858857875496f6f6a9926fa51 (diff)
openvswitch: fix a compilation error when CONFIG_INET is not setW!
Fix a openvswitch compilation error when CONFIG_INET is not set: ===================================================== In file included from include/net/geneve.h:4:0, from net/openvswitch/flow_netlink.c:45: include/net/udp_tunnel.h: In function 'udp_tunnel_handle_offloads': >> include/net/udp_tunnel.h:100:2: error: implicit declaration of function 'iptunnel_handle_offloads' [-Werror=implicit-function-declaration] >> return iptunnel_handle_offloads(skb, udp_csum, type); >> ^ >> >> include/net/udp_tunnel.h:100:2: warning: return makes pointer from integer without a cast >> >> cc1: some warnings being treated as errors ===================================================== Reported-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Andy Zhou <azhou@nicira.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/Kconfig1
-rw-r--r--include/net/geneve.h36
-rw-r--r--net/ipv4/Kconfig29
3 files changed, 36 insertions, 30 deletions
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index c6f6f69f8961..4706386b7d34 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -147,7 +147,6 @@ config MACVTAP
147config VXLAN 147config VXLAN
148 tristate "Virtual eXtensible Local Area Network (VXLAN)" 148 tristate "Virtual eXtensible Local Area Network (VXLAN)"
149 depends on INET 149 depends on INET
150 select NET_IP_TUNNEL
151 select NET_UDP_TUNNEL 150 select NET_UDP_TUNNEL
152 ---help--- 151 ---help---
153 This allows one to create vxlan virtual interfaces that provide 152 This allows one to create vxlan virtual interfaces that provide
diff --git a/include/net/geneve.h b/include/net/geneve.h
index ce98865318bf..112132cf8e2e 100644
--- a/include/net/geneve.h
+++ b/include/net/geneve.h
@@ -1,22 +1,10 @@
1#ifndef __NET_GENEVE_H 1#ifndef __NET_GENEVE_H
2#define __NET_GENEVE_H 1 2#define __NET_GENEVE_H 1
3 3
4#ifdef CONFIG_INET
4#include <net/udp_tunnel.h> 5#include <net/udp_tunnel.h>
6#endif
5 7
6struct geneve_sock;
7
8typedef void (geneve_rcv_t)(struct geneve_sock *gs, struct sk_buff *skb);
9
10struct geneve_sock {
11 struct hlist_node hlist;
12 geneve_rcv_t *rcv;
13 void *rcv_data;
14 struct work_struct del_work;
15 struct socket *sock;
16 struct rcu_head rcu;
17 atomic_t refcnt;
18 struct udp_offload udp_offloads;
19};
20 8
21/* Geneve Header: 9/* Geneve Header:
22 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 10 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
@@ -74,6 +62,22 @@ struct genevehdr {
74 struct geneve_opt options[]; 62 struct geneve_opt options[];
75}; 63};
76 64
65#ifdef CONFIG_INET
66struct geneve_sock;
67
68typedef void (geneve_rcv_t)(struct geneve_sock *gs, struct sk_buff *skb);
69
70struct geneve_sock {
71 struct hlist_node hlist;
72 geneve_rcv_t *rcv;
73 void *rcv_data;
74 struct work_struct del_work;
75 struct socket *sock;
76 struct rcu_head rcu;
77 atomic_t refcnt;
78 struct udp_offload udp_offloads;
79};
80
77#define GENEVE_VER 0 81#define GENEVE_VER 0
78#define GENEVE_BASE_HLEN (sizeof(struct udphdr) + sizeof(struct genevehdr)) 82#define GENEVE_BASE_HLEN (sizeof(struct udphdr) + sizeof(struct genevehdr))
79 83
@@ -88,4 +92,6 @@ int geneve_xmit_skb(struct geneve_sock *gs, struct rtable *rt,
88 __u8 ttl, __be16 df, __be16 src_port, __be16 dst_port, 92 __u8 ttl, __be16 df, __be16 src_port, __be16 dst_port,
89 __be16 tun_flags, u8 vni[3], u8 opt_len, u8 *opt, 93 __be16 tun_flags, u8 vni[3], u8 opt_len, u8 *opt,
90 bool xnet); 94 bool xnet);
91#endif 95#endif /*ifdef CONFIG_INET */
96
97#endif /*ifdef__NET_GENEVE_H */
diff --git a/net/ipv4/Kconfig b/net/ipv4/Kconfig
index c2035447e649..e682b48e0709 100644
--- a/net/ipv4/Kconfig
+++ b/net/ipv4/Kconfig
@@ -309,6 +309,7 @@ config NET_IPVTI
309 309
310config NET_UDP_TUNNEL 310config NET_UDP_TUNNEL
311 tristate 311 tristate
312 select NET_IP_TUNNEL
312 default n 313 default n
313 314
314config NET_FOU 315config NET_FOU
@@ -321,6 +322,20 @@ config NET_FOU
321 network mechanisms and optimizations for UDP (such as ECMP 322 network mechanisms and optimizations for UDP (such as ECMP
322 and RSS) can be leveraged to provide better service. 323 and RSS) can be leveraged to provide better service.
323 324
325config GENEVE
326 tristate "Generic Network Virtualization Encapsulation (Geneve)"
327 depends on INET
328 select NET_UDP_TUNNEL
329 ---help---
330 This allows one to create Geneve virtual interfaces that provide
331 Layer 2 Networks over Layer 3 Networks. Geneve is often used
332 to tunnel virtual network infrastructure in virtualized environments.
333 For more information see:
334 http://tools.ietf.org/html/draft-gross-geneve-01
335
336 To compile this driver as a module, choose M here: the module
337
338
324config INET_AH 339config INET_AH
325 tristate "IP: AH transformation" 340 tristate "IP: AH transformation"
326 select XFRM_ALGO 341 select XFRM_ALGO
@@ -453,20 +468,6 @@ config TCP_CONG_BIC
453 increase provides TCP friendliness. 468 increase provides TCP friendliness.
454 See http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/ 469 See http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/
455 470
456config GENEVE
457 tristate "Generic Network Virtualization Encapsulation (Geneve)"
458 depends on INET
459 select NET_IP_TUNNEL
460 select NET_UDP_TUNNEL
461 ---help---
462 This allows one to create Geneve virtual interfaces that provide
463 Layer 2 Networks over Layer 3 Networks. Geneve is often used
464 to tunnel virtual network infrastructure in virtualized environments.
465 For more information see:
466 http://tools.ietf.org/html/draft-gross-geneve-01
467
468 To compile this driver as a module, choose M here: the module
469
470config TCP_CONG_CUBIC 471config TCP_CONG_CUBIC
471 tristate "CUBIC TCP" 472 tristate "CUBIC TCP"
472 default y 473 default y