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