From: Pravin B Shelar Date: Sun, 3 Mar 2013 07:53:52 +0000 (-0800) Subject: datapath: Backport skb_frag_ functions X-Git-Tag: sliver-openvswitch-2.1.90-1~10^2~148 X-Git-Url: http://git.onelab.eu/?p=sliver-openvswitch.git;a=commitdiff_plain;h=c622970f83e756f8e914c945d2b1044a2b21c158 datapath: Backport skb_frag_ functions Define accessors skb_frag_* functions whch were introduced in 3.2 Signed-off-by: Pravin B Shelar --- diff --git a/datapath/linux/compat/include/linux/skbuff.h b/datapath/linux/compat/include/linux/skbuff.h index a5f87020b..be134d724 100644 --- a/datapath/linux/compat/include/linux/skbuff.h +++ b/datapath/linux/compat/include/linux/skbuff.h @@ -194,6 +194,34 @@ static inline struct page *skb_frag_page(const skb_frag_t *frag) { return frag->page; } + +static inline void __skb_frag_set_page(skb_frag_t *frag, struct page *page) +{ + frag->page = page; +} +static inline void skb_frag_size_set(skb_frag_t *frag, unsigned int size) +{ + frag->size = size; +} +static inline void __skb_frag_ref(skb_frag_t *frag) +{ + get_page(skb_frag_page(frag)); +} +static inline void __skb_frag_unref(skb_frag_t *frag) +{ + put_page(skb_frag_page(frag)); +} + +static inline void skb_frag_ref(struct sk_buff *skb, int f) +{ + __skb_frag_ref(&skb_shinfo(skb)->frags[f]); +} + +static inline void skb_frag_unref(struct sk_buff *skb, int f) +{ + __skb_frag_unref(&skb_shinfo(skb)->frags[f]); +} + #endif #ifndef HAVE_SKB_RESET_MAC_LEN