Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5b252f0c authored by Ben Hutchings's avatar Ben Hutchings Committed by David S. Miller
Browse files

gro: Name the GRO result enumeration type



This clarifies which return and parameter types are GRO result codes
and not RX result codes.

Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
Acked-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0519d83d
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -348,13 +348,14 @@ enum
	NAPI_STATE_NPSVC,	/* Netpoll - don't dequeue from poll_list */
};

enum {
enum gro_result {
	GRO_MERGED,
	GRO_MERGED_FREE,
	GRO_HELD,
	GRO_NORMAL,
	GRO_DROP,
};
typedef enum gro_result gro_result_t;

extern void __napi_schedule(struct napi_struct *n);

@@ -1480,16 +1481,17 @@ extern int netif_rx_ni(struct sk_buff *skb);
#define HAVE_NETIF_RECEIVE_SKB 1
extern int		netif_receive_skb(struct sk_buff *skb);
extern void		napi_gro_flush(struct napi_struct *napi);
extern int		dev_gro_receive(struct napi_struct *napi,
extern gro_result_t	dev_gro_receive(struct napi_struct *napi,
					struct sk_buff *skb);
extern int		napi_skb_finish(int ret, struct sk_buff *skb);
extern int		napi_skb_finish(gro_result_t ret, struct sk_buff *skb);
extern int		napi_gro_receive(struct napi_struct *napi,
					 struct sk_buff *skb);
extern void		napi_reuse_skb(struct napi_struct *napi,
				       struct sk_buff *skb);
extern struct sk_buff *	napi_get_frags(struct napi_struct *napi);
extern int		napi_frags_finish(struct napi_struct *napi,
					  struct sk_buff *skb, int ret);
					  struct sk_buff *skb,
					  gro_result_t ret);
extern struct sk_buff *	napi_frags_skb(struct napi_struct *napi);
extern int		napi_gro_frags(struct napi_struct *napi);

+3 −2
Original line number Diff line number Diff line
@@ -74,7 +74,8 @@ u16 vlan_dev_vlan_id(const struct net_device *dev)
}
EXPORT_SYMBOL(vlan_dev_vlan_id);

static int vlan_gro_common(struct napi_struct *napi, struct vlan_group *grp,
static gro_result_t
vlan_gro_common(struct napi_struct *napi, struct vlan_group *grp,
		unsigned int vlan_tci, struct sk_buff *skb)
{
	struct sk_buff *p;
+14 −5
Original line number Diff line number Diff line
@@ -2476,7 +2476,7 @@ void napi_gro_flush(struct napi_struct *napi)
}
EXPORT_SYMBOL(napi_gro_flush);

int dev_gro_receive(struct napi_struct *napi, struct sk_buff *skb)
enum gro_result dev_gro_receive(struct napi_struct *napi, struct sk_buff *skb)
{
	struct sk_buff **pp = NULL;
	struct packet_type *ptype;
@@ -2484,7 +2484,7 @@ int dev_gro_receive(struct napi_struct *napi, struct sk_buff *skb)
	struct list_head *head = &ptype_base[ntohs(type) & PTYPE_HASH_MASK];
	int same_flow;
	int mac_len;
	int ret;
	enum gro_result ret;

	if (!(skb->dev->features & NETIF_F_GRO))
		goto normal;
@@ -2568,7 +2568,8 @@ normal:
}
EXPORT_SYMBOL(dev_gro_receive);

static int __napi_gro_receive(struct napi_struct *napi, struct sk_buff *skb)
static gro_result_t
__napi_gro_receive(struct napi_struct *napi, struct sk_buff *skb)
{
	struct sk_buff *p;

@@ -2585,7 +2586,7 @@ static int __napi_gro_receive(struct napi_struct *napi, struct sk_buff *skb)
	return dev_gro_receive(napi, skb);
}

int napi_skb_finish(int ret, struct sk_buff *skb)
int napi_skb_finish(gro_result_t ret, struct sk_buff *skb)
{
	int err = NET_RX_SUCCESS;

@@ -2600,6 +2601,10 @@ int napi_skb_finish(int ret, struct sk_buff *skb)
	case GRO_MERGED_FREE:
		kfree_skb(skb);
		break;

	case GRO_HELD:
	case GRO_MERGED:
		break;
	}

	return err;
@@ -2652,7 +2657,8 @@ struct sk_buff *napi_get_frags(struct napi_struct *napi)
}
EXPORT_SYMBOL(napi_get_frags);

int napi_frags_finish(struct napi_struct *napi, struct sk_buff *skb, int ret)
int napi_frags_finish(struct napi_struct *napi, struct sk_buff *skb,
		      gro_result_t ret)
{
	int err = NET_RX_SUCCESS;

@@ -2674,6 +2680,9 @@ int napi_frags_finish(struct napi_struct *napi, struct sk_buff *skb, int ret)
	case GRO_MERGED_FREE:
		napi_reuse_skb(napi, skb);
		break;

	case GRO_MERGED:
		break;
	}

	return err;