X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=datapath%2Flinux-2.6%2Fcompat-2.6%2Finclude%2Flinux%2Fskbuff.h;h=f9358b5757055ef842de868753e16f5527b5ccc3;hb=55cc89d6b427ca99dbc1217653033e6308318409;hp=349e504ce932cc199a6d8788146f0808271f25a3;hpb=2de320799d5b7981b17d1e46e5a07b86158e5ada;p=sliver-openvswitch.git diff --git a/datapath/linux-2.6/compat-2.6/include/linux/skbuff.h b/datapath/linux-2.6/compat-2.6/include/linux/skbuff.h index 349e504ce..f9358b575 100644 --- a/datapath/linux-2.6/compat-2.6/include/linux/skbuff.h +++ b/datapath/linux-2.6/compat-2.6/include/linux/skbuff.h @@ -53,7 +53,7 @@ static inline void skb_copy_to_linear_data_offset(struct sk_buff *skb, #define NET_SKB_PAD 16 #endif -#ifndef HAVE_SKB_COW +#ifndef HAVE_SKB_COW_HEAD static inline int __skb_cow(struct sk_buff *skb, unsigned int headroom, int cloned) { @@ -74,7 +74,7 @@ static inline int skb_cow_head(struct sk_buff *skb, unsigned int headroom) { return __skb_cow(skb, headroom, skb_header_cloned(skb)); } -#endif /* !HAVE_SKB_COW */ +#endif /* !HAVE_SKB_COW_HEAD */ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23) static inline int skb_clone_writable(struct sk_buff *skb, int len) @@ -83,7 +83,7 @@ static inline int skb_clone_writable(struct sk_buff *skb, int len) } #endif -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31) +#ifndef HAVE_SKB_DST_ACCESSOR_FUNCS static inline struct dst_entry *skb_dst(const struct sk_buff *skb) { return (struct dst_entry *)skb->dst; @@ -205,16 +205,15 @@ static inline struct sk_buff *skb_gso_segment(struct sk_buff *skb, } #endif /* before 2.6.18 */ -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27) - -extern void __skb_warn_lro_forwarding(const struct sk_buff *skb); - +#ifndef HAVE_SKB_WARN_LRO #ifndef NETIF_F_LRO static inline bool skb_warn_if_lro(const struct sk_buff *skb) { return false; } #else +extern void __skb_warn_lro_forwarding(const struct sk_buff *skb); + static inline bool skb_warn_if_lro(const struct sk_buff *skb) { /* LRO sets gso_size but not gso_type, whereas if GSO is really @@ -227,6 +226,19 @@ static inline bool skb_warn_if_lro(const struct sk_buff *skb) return false; } #endif /* NETIF_F_LRO */ -#endif /* kernel < 2.6.27 */ +#endif /* HAVE_SKB_WARN_LRO */ + +#ifndef HAVE_NETDEV_ALLOC_SKB_IP_ALIGN +static inline struct sk_buff *netdev_alloc_skb_ip_align(struct net_device *dev, + unsigned int length) +{ + struct sk_buff *skb = netdev_alloc_skb(dev, length + NET_IP_ALIGN); + + if (NET_IP_ALIGN && skb) + skb_reserve(skb, NET_IP_ALIGN); + return skb; +} +#endif + #endif