Hi Alexander,
Thank you very much for all your explanation about vlan and UDP tunnel TSO
support, I have checked 4.7+ kernel again, it turns out I misunderstand
vlan_dev_fix_features, it just use vlan_features&features of real device to
check HW_CSUM support, and does not even care about GSO_UDP_TUNNEL, so now
I understand it's not currently possible to pass the GSOed UDP tunnel
packet from vlan device to real device, it will be segmented when
transmitted to vlan device.
For 82599 4.1.5 driver, I does not copy the hw_enc_features line, actually
Intel guys also set GSO_UDP_TUNNEL to hw_enc_features, that's why make me
confused that VXLAN offload should be work, and Intel even have the
following link to state ixgbe support VXLAN offload.
https://software.intel.com/en-us/blogs/2015/01/29/optimizing-the-virtual-networks-with-vxlan-overlay-offloading
>It won't work in general. The problem is the 82599 does not support
>VXLAN offload. The reason why GSO_PARTIAL and TSO_MANGLEID work is
>because we lie to the hardware about what is there. We end up
>treating the outer transport, inner MAC and network headers as one
>giant set of IP options.
This is really cool ideas, I also found a link which you provided to
netdevconf 1.2, I will look at it to know how this works. I think I can try
to get rid of vlan device and try to do VXLAN offload on real device.
Thanks a lot.
2016-11-10 0:48 GMT+08:00 Alexander Duyck <alexander.du...@gmail.com>:
> On Wed, Nov 9, 2016 at 3:16 AM, 张东亚 <fortitude.zh...@gmail.com> wrote:
> > Hi Alexander,
> >
> > Thanks a lot for your reply, the following code is excerpted from
> function
> > ixgbe_probe in ixgbe_main.c of 4.1.5 driver code.
> >
> > #ifdef HAVE_ENCAP_TSO_OFFLOAD
> > netdev->features |= NETIF_F_GSO_UDP_TUNNEL;
> > #endif
>
> As far as I know that line has no effect other than just being
> confusing. Without the line being set in hw_enc_features it has no
> real effect.
>
> > As you can see, its controlled by a macro which will be defined with
> 3.10+
> > kernel, that why make be think it will support the feature, however the
> vlan
> > device will not have this feature set because the driver does not set it
> to
> > the vlan_features field, so I agree at least on my 3.10.45 kernel with
> 4.1.5
> > ixgbe driver, VXLAN offload will not work on the vlan device of a
> physical
> > 82599 device.
>
> It won't work in general. The problem is the 82599 does not support
> VXLAN offload. The reason why GSO_PARTIAL and TSO_MANGLEID work is
> because we lie to the hardware about what is there. We end up
> treating the outer transport, inner MAC and network headers as one
> giant set of IP options.
>
> > So I think this feature is turned on.
>
> It isn't. It was a bit that was just being set incorrectly and none
> of this change ever made it into the Linux kernel version of the
> driver.
>
> > I have also checked the GSO_PARTIAL and TSO_MANGLEID flag in the 4.7+
> > kernel, seems the two features will also set to the vlan_feature of the
> > device, which make me wonder 4.7+ kernel shipped ixgbe driver will solve
> my
> > question, I will give a try, I am also keen to hear any suggestion from
> you.
>
> Unfortunately last I knew the hw_enc_features only gets to carry the
> HW_CSUM and SG flags for the VLANs. So you should see improved
> performance for ixgbe as it now advertises HW_CSUM, but it still won't
> have TSO support for UDP tunnels.
>
> > Thanks a lot.
>
> No problem. Hopefully I have helped to explain some of this. The
> fact is it is going to take time to get all of the features
> standardized as at this point we have features for VLANs, MPLS, and
> UDP/GRE tunnels. It will take some time to handle the mixing and
> matching of features for these.
>
> - Alex
>
------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit
http://communities.intel.com/community/wired