net: Support GRO/GSO fraglist chaining.
This patch adds the core functions to chain/unchain GSO skbs at the frag_list pointer. This also adds a new GSO type SKB_GSO_FRAGLIST and a is_flist flag to napi_gro_cb which indicates that this flow will be GROed by fraglist chaining. Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com> Reviewed-by: Willem de Bruijn <willemb@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
1a3c998f3a
commit
3a1296a38d
@@ -2326,7 +2326,8 @@ struct napi_gro_cb {
|
||||
/* Number of gro_receive callbacks this packet already went through */
|
||||
u8 recursion_counter:4;
|
||||
|
||||
/* 1 bit hole */
|
||||
/* GRO is done by frag_list pointer chaining. */
|
||||
u8 is_flist:1;
|
||||
|
||||
/* used to support CHECKSUM_COMPLETE for tunneling protocols */
|
||||
__wsum csum;
|
||||
@@ -2694,6 +2695,7 @@ struct net_device *dev_get_by_napi_id(unsigned int napi_id);
|
||||
int netdev_get_name(struct net *net, char *name, int ifindex);
|
||||
int dev_restart(struct net_device *dev);
|
||||
int skb_gro_receive(struct sk_buff *p, struct sk_buff *skb);
|
||||
int skb_gro_receive_list(struct sk_buff *p, struct sk_buff *skb);
|
||||
|
||||
static inline unsigned int skb_gro_offset(const struct sk_buff *skb)
|
||||
{
|
||||
|
Reference in New Issue
Block a user