diff options
author | Andy Zhou <azhou@nicira.com> | 2014-10-06 18:15:14 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-10-07 00:10:49 -0400 |
commit | 7c5df8fa1921450d2210db9928f43cf4f414982c (patch) | |
tree | c07aad48037b63739a302aaf27604f780809440b | |
parent | 0a5d1c55faa5414858857875496f6f6a9926fa51 (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/Kconfig | 1 | ||||
-rw-r--r-- | include/net/geneve.h | 36 | ||||
-rw-r--r-- | net/ipv4/Kconfig | 29 |
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 | |||
147 | config VXLAN | 147 | config 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 | ||
6 | struct geneve_sock; | ||
7 | |||
8 | typedef void (geneve_rcv_t)(struct geneve_sock *gs, struct sk_buff *skb); | ||
9 | |||
10 | struct 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 | ||
66 | struct geneve_sock; | ||
67 | |||
68 | typedef void (geneve_rcv_t)(struct geneve_sock *gs, struct sk_buff *skb); | ||
69 | |||
70 | struct 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 | ||
310 | config NET_UDP_TUNNEL | 310 | config NET_UDP_TUNNEL |
311 | tristate | 311 | tristate |
312 | select NET_IP_TUNNEL | ||
312 | default n | 313 | default n |
313 | 314 | ||
314 | config NET_FOU | 315 | config 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 | ||
325 | config 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 | |||
324 | config INET_AH | 339 | config 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 | ||
456 | config 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 | |||
470 | config TCP_CONG_CUBIC | 471 | config TCP_CONG_CUBIC |
471 | tristate "CUBIC TCP" | 472 | tristate "CUBIC TCP" |
472 | default y | 473 | default y |