|
@@ -651,17 +651,8 @@ static __be16 efx_tso_check_protocol(struct sk_buff *skb)
|
|
|
EFX_BUG_ON_PARANOID(((struct ethhdr *)skb->data)->h_proto !=
|
|
|
protocol);
|
|
|
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;
|
|
|
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)) {
|