search for: skb_frag_size_add

Displaying 10 results from an estimated 10 matches for "skb_frag_size_add".

2013 Oct 31
4
[PATCH net-next V2 1/2] net: introduce skb_coalesce_rx_frag()
...buff.c @@ -476,6 +476,19 @@ void skb_add_rx_frag(struct sk_buff *skb, int i, struct page *page, int off, } EXPORT_SYMBOL(skb_add_rx_frag); +void skb_coalesce_rx_frag(struct sk_buff *skb, int i, int size, + unsigned int truesize) +{ + skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; + + skb_frag_size_add(frag, size); + skb->len += size; + skb->data_len += size; + skb->truesize += truesize; + skb_frag_unref(skb, i); +} +EXPORT_SYMBOL(skb_coalesce_rx_frag); + static void skb_drop_list(struct sk_buff **listp) { kfree_skb_list(*listp); -- 1.8.1.2
2013 Oct 31
4
[PATCH net-next V2 1/2] net: introduce skb_coalesce_rx_frag()
...buff.c @@ -476,6 +476,19 @@ void skb_add_rx_frag(struct sk_buff *skb, int i, struct page *page, int off, } EXPORT_SYMBOL(skb_add_rx_frag); +void skb_coalesce_rx_frag(struct sk_buff *skb, int i, int size, + unsigned int truesize) +{ + skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; + + skb_frag_size_add(frag, size); + skb->len += size; + skb->data_len += size; + skb->truesize += truesize; + skb_frag_unref(skb, i); +} +EXPORT_SYMBOL(skb_coalesce_rx_frag); + static void skb_drop_list(struct sk_buff **listp) { kfree_skb_list(*listp); -- 1.8.1.2
2013 Oct 31
0
[PATCH net-next V2 1/2] net: introduce skb_coalesce_rx_frag()
...rag(struct sk_buff *skb, int i, struct page *page, int off, > } > EXPORT_SYMBOL(skb_add_rx_frag); > > +void skb_coalesce_rx_frag(struct sk_buff *skb, int i, int size, > + unsigned int truesize) > +{ > + skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; > + > + skb_frag_size_add(frag, size); > + skb->len += size; > + skb->data_len += size; > + skb->truesize += truesize; > + skb_frag_unref(skb, i); This unref is not logical, or should at least be __skb_frag_unref(frag); But I do think this is best done in the caller. In virtio_net this would be a...
2013 Oct 31
6
[PATCH net-next 1/2] net: introduce skb_coalesce_rx_frag()
...-476,6 +476,19 @@ void skb_add_rx_frag(struct sk_buff *skb, int i, struct page *page, int off, } EXPORT_SYMBOL(skb_add_rx_frag); +void skb_coalesce_rx_frag(struct sk_buff *skb, int i, int off, int size, + unsigned int truesize) +{ + skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; + + skb_frag_size_add(frag, size); + skb->len += size; + skb->data_len += size; + skb->truesize += truesize; + skb_frag_unref(skb, i); +} +EXPORT_SYMBOL(skb_coalesce_rx_frag); + static void skb_drop_list(struct sk_buff **listp) { kfree_skb_list(*listp); -- 1.8.1.2
2013 Oct 31
6
[PATCH net-next 1/2] net: introduce skb_coalesce_rx_frag()
...-476,6 +476,19 @@ void skb_add_rx_frag(struct sk_buff *skb, int i, struct page *page, int off, } EXPORT_SYMBOL(skb_add_rx_frag); +void skb_coalesce_rx_frag(struct sk_buff *skb, int i, int off, int size, + unsigned int truesize) +{ + skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; + + skb_frag_size_add(frag, size); + skb->len += size; + skb->data_len += size; + skb->truesize += truesize; + skb_frag_unref(skb, i); +} +EXPORT_SYMBOL(skb_coalesce_rx_frag); + static void skb_drop_list(struct sk_buff **listp) { kfree_skb_list(*listp); -- 1.8.1.2
2013 Oct 31
0
[PATCH net-next 1/2] net: introduce skb_coalesce_rx_frag()
...g); >> > >> > +void skb_coalesce_rx_frag(struct sk_buff *skb, int i, int off, int size, >> > + unsigned int truesize) >> > +{ >> > + skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; >> > + >> > + skb_frag_size_add(frag, size); >> > + skb->len += size; >> > + skb->data_len += size; >> > + skb->truesize += truesize; >> > + skb_frag_unref(skb, i); >> > +} > I didn't see you use "off" in skb_coalesce_rx_frag. > Tu...
2013 Oct 31
0
[PATCH net-next 1/2] net: introduce skb_coalesce_rx_frag()
...page *page, int off, > } > EXPORT_SYMBOL(skb_add_rx_frag); > > +void skb_coalesce_rx_frag(struct sk_buff *skb, int i, int off, int size, > + unsigned int truesize) > +{ > + skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; > + > + skb_frag_size_add(frag, size); > + skb->len += size; > + skb->data_len += size; > + skb->truesize += truesize; > + skb_frag_unref(skb, i); > +} I didn't see you use "off" in skb_coalesce_rx_frag. > +EXPORT_SYMBOL(skb_coalesce_rx_frag); > + >...
2013 Oct 31
0
[PATCH net-next 1/2] net: introduce skb_coalesce_rx_frag()
...page *page, int off, > } > EXPORT_SYMBOL(skb_add_rx_frag); > > +void skb_coalesce_rx_frag(struct sk_buff *skb, int i, int off, int size, > + unsigned int truesize) > +{ > + skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; > + > + skb_frag_size_add(frag, size); > + skb->len += size; > + skb->data_len += size; > + skb->truesize += truesize; > + skb_frag_unref(skb, i); > +} I didn't see you use "off" in skb_coalesce_rx_frag. > +EXPORT_SYMBOL(skb_coalesce_rx_frag); > + >...
2013 Nov 01
5
[PATCH net-next V3 1/2] net: introduce skb_coalesce_rx_frag()
...buff.c @@ -476,6 +476,18 @@ void skb_add_rx_frag(struct sk_buff *skb, int i, struct page *page, int off, } EXPORT_SYMBOL(skb_add_rx_frag); +void skb_coalesce_rx_frag(struct sk_buff *skb, int i, int size, + unsigned int truesize) +{ + skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; + + skb_frag_size_add(frag, size); + skb->len += size; + skb->data_len += size; + skb->truesize += truesize; +} +EXPORT_SYMBOL(skb_coalesce_rx_frag); + static void skb_drop_list(struct sk_buff **listp) { kfree_skb_list(*listp); -- 1.8.1.2
2013 Nov 01
5
[PATCH net-next V3 1/2] net: introduce skb_coalesce_rx_frag()
...buff.c @@ -476,6 +476,18 @@ void skb_add_rx_frag(struct sk_buff *skb, int i, struct page *page, int off, } EXPORT_SYMBOL(skb_add_rx_frag); +void skb_coalesce_rx_frag(struct sk_buff *skb, int i, int size, + unsigned int truesize) +{ + skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; + + skb_frag_size_add(frag, size); + skb->len += size; + skb->data_len += size; + skb->truesize += truesize; +} +EXPORT_SYMBOL(skb_coalesce_rx_frag); + static void skb_drop_list(struct sk_buff **listp) { kfree_skb_list(*listp); -- 1.8.1.2