net-gro: remove GRO_DROP
GRO_DROP can only be returned from napi_gro_frags() if the skb has not been allocated by a prior napi_get_frags() Since drivers must use napi_get_frags() and test its result before populating the skb with metadata, we can safely remove GRO_DROP since it offers no practical use. Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Jesse Brandeburg <jesse.brandeburg@intel.com> Acked-by: Edward Cree <ecree.xilinx@gmail.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
f73fc40327
commit
1d11fa6967
2 changed files with 0 additions and 12 deletions
|
@ -376,7 +376,6 @@ enum gro_result {
|
||||||
GRO_MERGED_FREE,
|
GRO_MERGED_FREE,
|
||||||
GRO_HELD,
|
GRO_HELD,
|
||||||
GRO_NORMAL,
|
GRO_NORMAL,
|
||||||
GRO_DROP,
|
|
||||||
GRO_CONSUMED,
|
GRO_CONSUMED,
|
||||||
};
|
};
|
||||||
typedef enum gro_result gro_result_t;
|
typedef enum gro_result gro_result_t;
|
||||||
|
|
|
@ -6070,10 +6070,6 @@ static gro_result_t napi_skb_finish(struct napi_struct *napi,
|
||||||
gro_normal_one(napi, skb);
|
gro_normal_one(napi, skb);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GRO_DROP:
|
|
||||||
kfree_skb(skb);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GRO_MERGED_FREE:
|
case GRO_MERGED_FREE:
|
||||||
if (NAPI_GRO_CB(skb)->free == NAPI_GRO_FREE_STOLEN_HEAD)
|
if (NAPI_GRO_CB(skb)->free == NAPI_GRO_FREE_STOLEN_HEAD)
|
||||||
napi_skb_free_stolen_head(skb);
|
napi_skb_free_stolen_head(skb);
|
||||||
|
@ -6158,10 +6154,6 @@ static gro_result_t napi_frags_finish(struct napi_struct *napi,
|
||||||
gro_normal_one(napi, skb);
|
gro_normal_one(napi, skb);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GRO_DROP:
|
|
||||||
napi_reuse_skb(napi, skb);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GRO_MERGED_FREE:
|
case GRO_MERGED_FREE:
|
||||||
if (NAPI_GRO_CB(skb)->free == NAPI_GRO_FREE_STOLEN_HEAD)
|
if (NAPI_GRO_CB(skb)->free == NAPI_GRO_FREE_STOLEN_HEAD)
|
||||||
napi_skb_free_stolen_head(skb);
|
napi_skb_free_stolen_head(skb);
|
||||||
|
@ -6223,9 +6215,6 @@ gro_result_t napi_gro_frags(struct napi_struct *napi)
|
||||||
gro_result_t ret;
|
gro_result_t ret;
|
||||||
struct sk_buff *skb = napi_frags_skb(napi);
|
struct sk_buff *skb = napi_frags_skb(napi);
|
||||||
|
|
||||||
if (!skb)
|
|
||||||
return GRO_DROP;
|
|
||||||
|
|
||||||
trace_napi_gro_frags_entry(skb);
|
trace_napi_gro_frags_entry(skb);
|
||||||
|
|
||||||
ret = napi_frags_finish(napi, skb, dev_gro_receive(napi, skb));
|
ret = napi_frags_finish(napi, skb, dev_gro_receive(napi, skb));
|
||||||
|
|
Loading…
Add table
Reference in a new issue