sfc: Stop changing header offsets on TX
There is nothing in the VLAN driver or core VLAN support that invalidates the TCP and IP header offsets. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
This commit is contained in:
parent
e718905c4b
commit
f7cbb163d9
|
@ -651,17 +651,8 @@ static __be16 efx_tso_check_protocol(struct sk_buff *skb)
|
||||||
EFX_BUG_ON_PARANOID(((struct ethhdr *)skb->data)->h_proto !=
|
EFX_BUG_ON_PARANOID(((struct ethhdr *)skb->data)->h_proto !=
|
||||||
protocol);
|
protocol);
|
||||||
if (protocol == htons(ETH_P_8021Q)) {
|
if (protocol == htons(ETH_P_8021Q)) {
|
||||||
/* Find the encapsulated protocol; reset network header
|
|
||||||
* and transport header based on that. */
|
|
||||||
struct vlan_ethhdr *veh = (struct vlan_ethhdr *)skb->data;
|
struct vlan_ethhdr *veh = (struct vlan_ethhdr *)skb->data;
|
||||||
protocol = veh->h_vlan_encapsulated_proto;
|
protocol = veh->h_vlan_encapsulated_proto;
|
||||||
skb_set_network_header(skb, sizeof(*veh));
|
|
||||||
if (protocol == htons(ETH_P_IP))
|
|
||||||
skb_set_transport_header(skb, sizeof(*veh) +
|
|
||||||
4 * ip_hdr(skb)->ihl);
|
|
||||||
else if (protocol == htons(ETH_P_IPV6))
|
|
||||||
skb_set_transport_header(skb, sizeof(*veh) +
|
|
||||||
sizeof(struct ipv6hdr));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (protocol == htons(ETH_P_IP)) {
|
if (protocol == htons(ETH_P_IP)) {
|
||||||
|
|
Loading…
Reference in New Issue