Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7c5df8fa authored by Andy Zhou's avatar Andy Zhou Committed by David S. Miller
Browse files

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: default avatarkbuild test robot <fengguang.wu@intel.com>
Signed-off-by: default avatarAndy Zhou <azhou@nicira.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0a5d1c55
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -147,7 +147,6 @@ config MACVTAP
config VXLAN
       tristate "Virtual eXtensible Local Area Network (VXLAN)"
       depends on INET
       select NET_IP_TUNNEL
       select NET_UDP_TUNNEL
       ---help---
	  This allows one to create vxlan virtual interfaces that provide
+21 −15
Original line number Diff line number Diff line
#ifndef __NET_GENEVE_H
#define __NET_GENEVE_H  1

#ifdef CONFIG_INET
#include <net/udp_tunnel.h>
#endif

struct geneve_sock;

typedef void (geneve_rcv_t)(struct geneve_sock *gs, struct sk_buff *skb);

struct geneve_sock {
	struct hlist_node	hlist;
	geneve_rcv_t		*rcv;
	void			*rcv_data;
	struct work_struct	del_work;
	struct socket		*sock;
	struct rcu_head		rcu;
	atomic_t		refcnt;
	struct udp_offload	udp_offloads;
};

/* Geneve Header:
 *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
@@ -74,6 +62,22 @@ struct genevehdr {
	struct geneve_opt options[];
};

#ifdef CONFIG_INET
struct geneve_sock;

typedef void (geneve_rcv_t)(struct geneve_sock *gs, struct sk_buff *skb);

struct geneve_sock {
	struct hlist_node	hlist;
	geneve_rcv_t		*rcv;
	void			*rcv_data;
	struct work_struct	del_work;
	struct socket		*sock;
	struct rcu_head		rcu;
	atomic_t		refcnt;
	struct udp_offload	udp_offloads;
};

#define GENEVE_VER 0
#define GENEVE_BASE_HLEN (sizeof(struct udphdr) + sizeof(struct genevehdr))

@@ -88,4 +92,6 @@ int geneve_xmit_skb(struct geneve_sock *gs, struct rtable *rt,
		    __u8 ttl, __be16 df, __be16 src_port, __be16 dst_port,
		    __be16 tun_flags, u8 vni[3], u8 opt_len, u8 *opt,
		    bool xnet);
#endif
#endif /*ifdef CONFIG_INET */

#endif /*ifdef__NET_GENEVE_H */
+15 −14
Original line number Diff line number Diff line
@@ -309,6 +309,7 @@ config NET_IPVTI

config NET_UDP_TUNNEL
	tristate
	select NET_IP_TUNNEL
	default n

config NET_FOU
@@ -321,6 +322,20 @@ config NET_FOU
	  network mechanisms and optimizations for UDP (such as ECMP
	  and RSS) can be leveraged to provide better service.

config GENEVE
	tristate "Generic Network Virtualization Encapsulation (Geneve)"
	depends on INET
	select NET_UDP_TUNNEL
	---help---
	This allows one to create Geneve virtual interfaces that provide
	Layer 2 Networks over Layer 3 Networks. Geneve is often used
	to tunnel virtual network infrastructure in virtualized environments.
	For more information see:
	  http://tools.ietf.org/html/draft-gross-geneve-01

	  To compile this driver as a module, choose M here: the module


config INET_AH
	tristate "IP: AH transformation"
	select XFRM_ALGO
@@ -453,20 +468,6 @@ config TCP_CONG_BIC
	increase provides TCP friendliness.
	See http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/

config GENEVE
	tristate "Generic Network Virtualization Encapsulation (Geneve)"
	depends on INET
	select NET_IP_TUNNEL
	select NET_UDP_TUNNEL
	---help---
	This allows one to create Geneve virtual interfaces that provide
	Layer 2 Networks over Layer 3 Networks. Geneve is often used
	to tunnel virtual network infrastructure in virtualized environments.
	For more information see:
	  http://tools.ietf.org/html/draft-gross-geneve-01

	  To compile this driver as a module, choose M here: the module

config TCP_CONG_CUBIC
	tristate "CUBIC TCP"
	default y