OVS_GREP_IFELSE([$KSRC/include/linux/netdevice.h], [dev_get_stats])
OVS_GREP_IFELSE([$KSRC/include/linux/netdevice.h], [dev_get_by_index_rcu])
OVS_GREP_IFELSE([$KSRC/include/linux/netdevice.h], [__skb_gso_segment])
+ OVS_GREP_IFELSE([$KSRC/include/linux/netdevice.h], [skb_gso_segment])
OVS_GREP_IFELSE([$KSRC/include/linux/netdevice.h], [can_checksum_protocol])
+ OVS_GREP_IFELSE([$KSRC/include/linux/netdevice.h], [netif_skb_features])
+ OVS_GREP_IFELSE([$KSRC/include/linux/netdevice.h], [netif_needs_gso])
OVS_GREP_IFELSE([$KSRC/include/linux/rcupdate.h], [rcu_read_lock_held], [],
[OVS_GREP_IFELSE([$KSRC/include/linux/rtnetlink.h],
#define NETIF_F_V6_CSUM (NETIF_F_GEN_CSUM | NETIF_F_IPV6_CSUM)
#endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
+#ifndef HAVE_SKB_GSO_SEGMENT
#define skb_gso_segment rpl_skb_gso_segment
struct sk_buff *rpl_skb_gso_segment(struct sk_buff *skb, u32 features);
+#endif
+#ifndef HAVE_NETIF_SKB_FEATURES
#define netif_skb_features rpl_netif_skb_features
u32 rpl_netif_skb_features(struct sk_buff *skb);
+#endif
+#ifndef HAVE_NETIF_NEEDS_GSO
#define netif_needs_gso rpl_netif_needs_gso
static inline int rpl_netif_needs_gso(struct sk_buff *skb, int features)
{