[ovs-dev] [PATCH] datapath: Backport __ip_select_ident() function
Andy Zhou
azhou at nicira.com
Wed Sep 10 20:11:05 UTC 2014
LGTM.
Acked-by: Andy Zhou <azhou at nicira.com>
On Wed, Sep 10, 2014 at 10:36 AM, Pravin B Shelar <pshelar at nicira.com> wrote:
> definition of __ip_select_ident() changed in newer kernel and
> it is backported to stable kernel, Therefore adding configure
> check to detect the new function.
>
> Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
> ---
> acinclude.m4 | 2 ++
> datapath/linux/compat/ip_tunnels_core.c | 5 +++++
> 2 files changed, 7 insertions(+)
>
> diff --git a/acinclude.m4 b/acinclude.m4
> index 7e036e5..b0794d2 100644
> --- a/acinclude.m4
> +++ b/acinclude.m4
> @@ -284,6 +284,8 @@ AC_DEFUN([OVS_CHECK_LINUX_COMPAT], [
> OVS_GREP_IFELSE([$KSRC/include/linux/if_vlan.h], [vlan_set_encap_proto])
>
> OVS_GREP_IFELSE([$KSRC/include/linux/in.h], [ipv4_is_multicast])
> + OVS_GREP_IFELSE([$KSRC/include/net/ip.h], [__ip_select_ident.*dst_entry],
> + [OVS_DEFINE([HAVE_IP_SELECT_IDENT_USING_DST_ENTRY])])
>
> OVS_GREP_IFELSE([$KSRC/include/linux/netdevice.h], [dev_disable_lro])
> OVS_GREP_IFELSE([$KSRC/include/linux/netdevice.h], [dev_get_stats])
> diff --git a/datapath/linux/compat/ip_tunnels_core.c b/datapath/linux/compat/ip_tunnels_core.c
> index d650be2..4a1c6d2 100644
> --- a/datapath/linux/compat/ip_tunnels_core.c
> +++ b/datapath/linux/compat/ip_tunnels_core.c
> @@ -70,7 +70,12 @@ int iptunnel_xmit(struct rtable *rt,
> iph->daddr = dst;
> iph->saddr = src;
> iph->ttl = ttl;
> +
> +#ifdef HAVE_IP_SELECT_IDENT_USING_DST_ENTRY
> __ip_select_ident(iph, &rt_dst(rt), (skb_shinfo(skb)->gso_segs ?: 1) - 1);
> +#else
> + __ip_select_ident(iph, (skb_shinfo(skb)->gso_segs ?: 1) - 1);
> +#endif
>
> err = ip_local_out(skb);
> if (unlikely(net_xmit_eval(err)))
> --
> 1.9.3
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
More information about the dev
mailing list