On 2/13/20 12:30 PM, Flavio Leitner wrote:
> On Thu, Feb 13, 2020 at 11:10:15AM +0100, Ilya Maximets wrote:
>> On 2/13/20 12:44 AM, Flavio Leitner wrote:
>>> On Wed, Feb 12, 2020 at 04:31:09PM -0300, Flavio Leitner wrote:
>>>> On Wed, Feb 12, 2020 at 04:26:46PM +0100, Ilya Maximets wrote:
>>>>> On 2/10/20 8:18 PM, Flavio Leitner wrote:
>>>>>> Disable ECN and UFO since this is not supported yet. Also, disable
>>>>>> all other features when userspace_tso is not enabled.
>>>>>
>>>>> Disabling UFO saves us from receiving of a big unfragmented
>>>>> UDP packets, but UDP packets will still have bad checksums
>>>>> and will be dropped by the kernel on receive side.
>>>>> So, this is only part of a fix.
>>>>
>>>> Yes, this patch is not intended to fix the UDP checksum problem.
>>>> Unless you see a way to do that with changing the flags below.
>>>
>>> BTW, why do you think there is a problem with UDP checksum?
>>> We set VIRTIO_NET_HDR_F_NEEDS_CSUM which should be all it is needed.
>>
>> At least we're sending UDP packets on a wire without
>> requesting Tx UDP checksum offloading from HW NICs.
> 
> Packets from virtual machines relies on DPDK vhost library, and as
> far as I can see, it does set PKT_TX_UDP_CKSUM properly.

vhost library will properly set flags, however, OVS doesn't care
about this case, e.g.  we're not enabling DEV_TX_OFFLOAD_UDP_CKSUM
while configuring physical devices.  Even though most of the DPDK
drivers will enable UDP checksum offload support regardless of this
flag, this is still a logical error and we can't rely on this
behavior.

> 
> Now for packets coming from the kernel, then netdev_linux_parse_vnet_hdr()
> will set that as well.
> 
> Packets from userspace to kernel are properly translated by
> netdev_linux_prepend_vnet_hdr().
> 

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to