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
