[ovs-dev] [PATCH v3 2/9] datapath: Account for "udp-tunnel: Add a few more UDP tunnel APIs"
Pravin Shelar
pshelar at nicira.com
Fri Feb 20 21:53:09 UTC 2015
On Fri, Feb 20, 2015 at 10:50 AM, Jesse Gross <jesse at nicira.com> wrote:
> Upstream commit:
> udp-tunnel: Add a few more UDP tunnel APIs
>
> Added a few more UDP tunnel APIs that can be shared by UDP based
> tunnel protocol implementation. The main ones are highlighted below.
>
> setup_udp_tunnel_sock() configures UDP listener socket for
> receiving UDP encapsulated packets.
>
> udp_tunnel_xmit_skb() and upd_tunnel6_xmit_skb() transmit skb
> using UDP encapsulation.
>
> udp_tunnel_sock_release() closes the UDP tunnel listener socket.
>
> Signed-off-by: Andy Zhou <azhou at nicira.com>
> Signed-off-by: David S. Miller <davem at davemloft.net>
>
> Upstream: 6a93cc90 ("udp-tunnel: Add a few more UDP tunnel APIs")
> Signed-off-by: Jesse Gross <jesse at nicira.com>
> ---
> datapath/linux/compat/include/linux/skbuff.h | 5 ++
> datapath/linux/compat/include/net/udp_tunnel.h | 67 +++++++++++++++++++++-
> datapath/linux/compat/udp_tunnel.c | 77 +++++++++++++++++++++++++-
> 3 files changed, 144 insertions(+), 5 deletions(-)
>
> diff --git a/datapath/linux/compat/include/linux/skbuff.h b/datapath/linux/compat/include/linux/skbuff.h
> index 20a575c..78d84cc 100644
> --- a/datapath/linux/compat/include/linux/skbuff.h
> +++ b/datapath/linux/compat/include/linux/skbuff.h
> @@ -10,8 +10,13 @@
> #define SKB_GSO_GRE 0
> #endif
>
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
> +#define SKB_GSO_UDP_TUNNEL 0
> +#endif
> +
> #if LINUX_VERSION_CODE < KERNEL_VERSION(3,16,0)
> #define SKB_GSO_GRE_CSUM 0
> +#define SKB_GSO_UDP_TUNNEL_CSUM 0
> #endif
>
> #ifndef HAVE_IGNORE_DF_RENAME
> diff --git a/datapath/linux/compat/include/net/udp_tunnel.h b/datapath/linux/compat/include/net/udp_tunnel.h
> index f25023f..16b150c 100644
> --- a/datapath/linux/compat/include/net/udp_tunnel.h
> +++ b/datapath/linux/compat/include/net/udp_tunnel.h
> @@ -4,10 +4,25 @@
> #include <linux/version.h>
> #include <linux/kconfig.h>
>
> -#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)
> +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0)
> #include_next <net/udp_tunnel.h>
> +
> +static inline struct sk_buff *
> +rpl_udp_tunnel_handle_offloads(struct sk_buff *skb, bool udp_csum)
> +{
This is not in sync with compat version.
> + if (skb_is_gso(skb) && skb_is_encapsulated(skb)) {
....
> +static inline struct sk_buff *udp_tunnel_handle_offloads(struct sk_buff *skb,
> + bool udp_csum,
> + bool is_vxlan)
> +{
> + int type = udp_csum ? SKB_GSO_UDP_TUNNEL_CSUM : SKB_GSO_UDP_TUNNEL;
otherwise looks good.
Acked-by: Pravin B Shelar <pshelar at nicira.com>
More information about the dev
mailing list