Re: [PATCH net 2/5] i40e: Implement ndo_gso_check()
From: Jesse Gross <hidden>
Date: 2014-11-04 23:53:22
Also in:
lkml
On Tue, Nov 4, 2014 at 1:56 PM, Joe Stringer [off-list ref] wrote:
quoted hunk ↗ jump to hunk
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c index c3a7f4a..21829b5 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_main.c +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c +static bool i40e_gso_check(struct sk_buff *skb, struct net_device *dev) +{ + if ((skb_shinfo(skb)->gso_type & SKB_GSO_UDP_TUNNEL) && + (skb->inner_protocol_type != ENCAP_TYPE_ETHER || + skb->inner_protocol != htons(ETH_P_TEB) || + skb_inner_mac_header(skb) - skb_transport_header(skb) > 64)) + return false;
I think it may be possible to even support a few more things here. According to the datasheet here: http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/xl710-10-40-controller-datasheet.pdf This can actually support 64 bytes beyond the tunnel header, which would make for a total of 80 bytes. It looks like it can also support IPv4 or IPv6 beyond just Ethernet as the encapsulated protocol. Intel guys, can you confirm that this is correct?