fou: Add GRO support
Implement fou_gro_receive and fou_gro_complete, and populate these in the correponsing udp_offloads for the socket. Added ipproto to udp_offloads and pass this from UDP to the fou GRO routine in proto field of napi_gro_cb structure. Signed-off-by: Tom Herbert <therbert@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
此提交包含在:
@@ -276,6 +276,7 @@ unflush:
|
||||
|
||||
skb_gro_pull(skb, sizeof(struct udphdr)); /* pull encapsulating udp header */
|
||||
skb_gro_postpull_rcsum(skb, uh, sizeof(struct udphdr));
|
||||
NAPI_GRO_CB(skb)->proto = uo_priv->offload->ipproto;
|
||||
pp = uo_priv->offload->callbacks.gro_receive(head, skb);
|
||||
|
||||
out_unlock:
|
||||
@@ -329,8 +330,10 @@ int udp_gro_complete(struct sk_buff *skb, int nhoff)
|
||||
break;
|
||||
}
|
||||
|
||||
if (uo_priv != NULL)
|
||||
if (uo_priv != NULL) {
|
||||
NAPI_GRO_CB(skb)->proto = uo_priv->offload->ipproto;
|
||||
err = uo_priv->offload->callbacks.gro_complete(skb, nhoff + sizeof(struct udphdr));
|
||||
}
|
||||
|
||||
rcu_read_unlock();
|
||||
return err;
|
||||
|
新增問題並參考
封鎖使用者