Update setup_udp_tunnel_sock() to handle ipv6 sockets. Signed-off-by: Pravin B Shelar <pshe...@ovn.org> Acked-by: Jesse Gross <je...@kernel.org> --- datapath/linux/compat/include/net/udp_tunnel.h | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/datapath/linux/compat/include/net/udp_tunnel.h b/datapath/linux/compat/include/net/udp_tunnel.h index 7befd2d..08921e1 100644 --- a/datapath/linux/compat/include/net/udp_tunnel.h +++ b/datapath/linux/compat/include/net/udp_tunnel.h @@ -4,6 +4,7 @@ #include <linux/version.h> #include <linux/kconfig.h> +#include <net/addrconf.h> #include <net/dst_metadata.h> #include <linux/netdev_features.h> @@ -99,7 +100,20 @@ int rpl_udp_tunnel_xmit_skb(struct rtable *rt, #define udp_tunnel_sock_release rpl_udp_tunnel_sock_release void rpl_udp_tunnel_sock_release(struct socket *sock); -#define udp_tunnel_encap_enable(sock) udp_encap_enable() +#define udp_tunnel_encap_enable rpl_udp_tunnel_encap_enable +static inline void udp_tunnel_encap_enable(struct socket *sock) +{ +#if IS_ENABLED(CONFIG_IPV6) + if (sock->sk->sk_family == PF_INET6) +#ifdef HAVE_IPV6_STUB + ipv6_stub->udpv6_encap_enable(); +#else + udpv6_encap_enable(); +#endif + else +#endif + udp_encap_enable(); +} #if IS_ENABLED(CONFIG_IPV6) #define udp_tunnel6_xmit_skb rpl_udp_tunnel6_xmit_skb -- 1.9.1 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev