Commit 1db9e29b authored by Herbert Xu's avatar Herbert Xu Committed by David S. Miller

gro: Normalise skb before bypassing GRO on netpoll VLAN path

Hi:

gro: Normalise skb before bypassing GRO on netpoll VLAN path

When we detect netpoll RX on the GRO VLAN path we bail out and
call the normal VLAN receive handler.  However, the packet needs
to be normalised by calling eth_type_trans since that's what the
normal path expects (normally the GRO path does the fixup).

This patch adds the necessary call to vlan_gro_frags.
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>

Thanks,
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 03a980d1
...@@ -121,8 +121,10 @@ int vlan_gro_frags(struct napi_struct *napi, struct vlan_group *grp, ...@@ -121,8 +121,10 @@ int vlan_gro_frags(struct napi_struct *napi, struct vlan_group *grp,
if (!skb) if (!skb)
return NET_RX_DROP; return NET_RX_DROP;
if (netpoll_rx_on(skb)) if (netpoll_rx_on(skb)) {
skb->protocol = eth_type_trans(skb, skb->dev);
return vlan_hwaccel_receive_skb(skb, grp, vlan_tci); return vlan_hwaccel_receive_skb(skb, grp, vlan_tci);
}
return napi_frags_finish(napi, skb, return napi_frags_finish(napi, skb,
vlan_gro_common(napi, grp, vlan_tci, skb)); vlan_gro_common(napi, grp, vlan_tci, skb));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment