[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <31318D46B5DF3F4AB71CC057601E9FEB12BFBC57@CMEXMB1.ad.emulex.com>
Date: Sat, 10 Jan 2015 06:52:22 +0000
From: Sriharsha Basavapatna <Sriharsha.Basavapatna@...lex.Com>
To: Jesse Gross <jesse@...ira.com>, Tom Herbert <therbert@...gle.com>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: [Question] vxlan_features_check()
Hi Jesse, Tom,
The current implementation of vxlan_features_check() disables csum/gso flags
for only a subset of Non-VxLAN tunnels - those with tunnel outer transport type
of UDP. Is there any reason why this was not done for non-UDP tunnels like
GRE too ? This can avoid additional code in the driver ndo_features_check()
to disable those flags for non-UDP tunnels. Please let me know if I'm
missing something here.
The current code in vxlan_features_check() is this:
if ((l4_hdr == IPPROTO_UDP) &&
(skb->inner_protocol_type != ENCAP_TYPE_ETHER ||
skb->inner_protocol != htons(ETH_P_TEB) ||
(skb_inner_mac_header(skb) - skb_transport_header(skb) !=
sizeof(struct udphdr) + sizeof(struct vxlanhdr))))
return features & ~(NETIF_F_ALL_CSUM | NETIF_F_GSO_MASK);
That should change to:
if (l4_hdr != IPPROTO_UDP ||
skb->inner_protocol_type != ENCAP_TYPE_ETHER ||
skb->inner_protocol != htons(ETH_P_TEB) ||
(skb_inner_mac_header(skb) - skb_transport_header(skb) !=
sizeof(struct udphdr) + sizeof(struct vxlanhdr)))
return features & ~(NETIF_F_ALL_CSUM | NETIF_F_GSO_MASK);
Thanks,
-Harsha
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists