Wang Zhan wrote:
> gso_features_check() compares the frame length against
> netif_get_gso_max_size(), which picks the IPv4 or the IPv6 limit from
> skb->protocol.  A tag which is already inside the frame replaces that field
> with the VLAN ethertype, as skb_vlan_push() does, and an IPv6 packet is
> then measured against the IPv4 limit and segmented although the device
> could send it as one TSO frame.
> 
> The lookup moves from netdevice.h into dev.c: vlan_get_protocol() reads the
> L3 protocol from behind an in-frame tag, while if_vlan.h includes
> netdevice.h, so an inline in that header cannot call it.  dev.c is the only
> file which calls the lookup, so it becomes a static helper there.
> 
> Assisted-by: LLM
> Signed-off-by: Wang Zhan <[email protected]>
> 
> ---
> v4:
> - drop the Fixes tag: not stable material
> - move the limit lookup into dev.c, so it can use vlan_get_protocol()
> v3: https://lore.kernel.org/[email protected]/
> v2: https://lore.kernel.org/[email protected]/
> v1: https://lore.kernel.org/[email protected]/

Reviewed-by: Willem de Bruijn <[email protected]>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to