gro: Name the GRO result enumeration type
authorBen Hutchings <bhutchings@solarflare.com>
Thu, 29 Oct 2009 07:17:09 +0000 (07:17 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 30 Oct 2009 04:33:55 +0000 (21:33 -0700)
This clarifies which return and parameter types are GRO result codes
and not RX result codes.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/netdevice.h
net/8021q/vlan_core.c
net/core/dev.c

index ffc3106cc037f915b5d715723dcfb0c69be21bd6..6e777efe149e328c33fff51b37e475a73bd52fb2 100644 (file)
@@ -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);
 
index 7f7de1a04de6a1a05e07ab2c7d93d5f8cc3e72c0..47a80d65c3b7b7a54eb868b1e527f4ab232cf205 100644 (file)
@@ -74,8 +74,9 @@ 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,
-                          unsigned int vlan_tci, struct sk_buff *skb)
+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;
 
index 68a1bb68b5a83c18f659d51628d468984e6e061c..1dc13744684c70745075baa402fb42c17afd9dfd 100644 (file)
@@ -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;