diff --git a/include/linux/virtio_net.h b/include/linux/virtio_net.h index 98e7716e0341..f32fe7080d2e 100644 --- a/include/linux/virtio_net.h +++ b/include/linux/virtio_net.h @@ -79,13 +79,8 @@ static inline int virtio_net_hdr_to_skb(struct sk_buff *skb, if (gso_type && skb->network_header) { struct flow_keys_basic keys; - if (!skb->protocol) { - __be16 protocol = dev_parse_header_protocol(skb); - + if (!skb->protocol) virtio_net_hdr_set_proto(skb, hdr); - if (protocol && protocol != skb->protocol) - return -EINVAL; - } retry: if (!skb_flow_dissect_flow_keys_basic(skb, &keys, NULL, 0, 0, 0,