Messages in this thread | | | From | Jesse Gross <> | Date | Tue, 4 Nov 2014 15:45:22 -0800 | Subject | Re: [PATCH net 2/5] i40e: Implement ndo_gso_check() |
| |
On Tue, Nov 4, 2014 at 1:56 PM, Joe Stringer <joestringer@nicira.com> wrote: > 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?
| |