+ dnl Ubuntu kernel 3.13 has defined this struct but not used for netdev->tstats.
+ dnl So check type of tstats.
+ OVS_GREP_IFELSE([$KSRC/include/linux/netdevice.h], [pcpu_sw_netstats.*tstats],
+ [OVS_DEFINE([HAVE_PCPU_SW_NETSTATS])])
+ OVS_GREP_IFELSE([$KSRC/include/linux/netdevice.h], [netif_needs_gso.*net_device],
+ [OVS_DEFINE([HAVE_NETIF_NEEDS_GSO_NETDEV])])
+ OVS_GREP_IFELSE([$KSRC/include/linux/netdevice.h], [udp_offload])
+ OVS_GREP_IFELSE([$KSRC/include/linux/netdevice.h], [udp_offload.*uoff],
+ [OVS_DEFINE([HAVE_UDP_OFFLOAD_ARG_UOFF])])
+ OVS_GREP_IFELSE([$KSRC/include/linux/netdevice.h], [gro_remcsum])
+
+ OVS_GREP_IFELSE([$KSRC/include/linux/netfilter.h], [nf_hook_state])
+ OVS_GREP_IFELSE([$KSRC/include/linux/netfilter.h], [nf_register_net_hook])
+ OVS_GREP_IFELSE([$KSRC/include/linux/netfilter.h], [nf_hookfn.*nf_hook_ops],
+ [OVS_DEFINE([HAVE_NF_HOOKFN_ARG_OPS])])
+ OVS_FIND_FIELD_IFELSE([$KSRC/include/linux/netfilter_ipv6.h], [nf_ipv6_ops],
+ [fragment.*sock], [OVS_DEFINE([HAVE_NF_IPV6_OPS_FRAGMENT])])
+
+ OVS_FIND_PARAM_IFELSE([$KSRC/include/net/netfilter/nf_conntrack.h],
+ [nf_ct_tmpl_alloc], [nf_conntrack_zone],
+ [OVS_DEFINE([HAVE_NF_CT_TMPL_ALLOC_TAKES_STRUCT_ZONE])])
+ OVS_FIND_PARAM_IFELSE([$KSRC/include/net/netfilter/nf_conntrack.h],
+ [nf_ct_get_tuplepr], [struct.net],
+ [OVS_DEFINE([HAVE_NF_CT_GET_TUPLEPR_TAKES_STRUCT_NET])])
+ OVS_GREP_IFELSE([$KSRC/include/net/netfilter/nf_conntrack_zones.h],
+ [nf_ct_zone_init])
+ OVS_GREP_IFELSE([$KSRC/include/net/netfilter/nf_conntrack_labels.h],
+ [nf_connlabels_get])
+ OVS_FIND_PARAM_IFELSE([$KSRC/include/net/netfilter/nf_conntrack_labels.h],
+ [nf_connlabels_get], [int bit],
+ [OVS_DEFINE([HAVE_NF_CONNLABELS_GET_TAKES_BIT])])
+ OVS_GREP_IFELSE([$KSRC/include/net/netfilter/ipv6/nf_defrag_ipv6.h],
+ [nf_ct_frag6_consume_orig])
+ OVS_GREP_IFELSE([$KSRC/include/net/netfilter/ipv6/nf_defrag_ipv6.h],
+ [nf_ct_frag6_output])
+ OVS_GREP_IFELSE([$KSRC/include/net/netfilter/nf_nat.h], [nf_ct_nat_ext_add])
+ OVS_GREP_IFELSE([$KSRC/include/net/netfilter/nf_nat.h], [nf_nat_alloc_null_binding])
+ OVS_GREP_IFELSE([$KSRC/include/net/netfilter/nf_conntrack_seqadj.h], [nf_ct_seq_adjust])