On 7/7/23 17:18, Maxime Coquelin wrote: > > > On 7/7/23 15:59, David Marchand wrote: >> At some point in OVS history, some virtio features were announced as >> supported (ECN and UFO virtio features). >> >> The userspace TSO code, which has been added later, does not support >> those features and tries to disable them. >> >> This breaks OVS upgrades: if an existing VM already negotiated such >> features, their lack on reconnection to an upgraded OVS triggers a >> vhost socket disconnection by Qemu. >> This results in an endless loop because Qemu then retries with the same >> set of virtio features. >> >> This patch proposes to try and detect those vhost socket disconnection >> and fallback restoring the old virtio features (and disabling TSO for this >> vhost port). >> >> Acked-by: Mike Pattrick <[email protected]> >> Acked-by: Simon Horman <[email protected]> >> Signed-off-by: David Marchand <[email protected]> >> --- >> Changelog since v5: >> - fixed coding style, >> >> Changelog since v4: >> - I kept acks as the logic behind the state machine did not change much, >> - fixed indent of enumeration in documentation, >> - used status:<field> in documentation instead of grep -o, >> - renamed "disabled_tso" as "userspace-tso", >> - switched to a state machine with flags, >> - removed note on byte padding in netdev_dpdk struct, >> >> Changelog since v3: >> - updated documentation now that the interface offloads status is reported >> in ovsdb, >> - fixed one coding style issue, >> >> Changelog since v2: >> - reported workaround presence in the ovsdb port status field and >> updated documentation accordingly, >> - tried to use "better" names, to distinguish ECN virtio feature from >> TSO OVS netdev feature, >> >> Changelog since v1: >> - added a note in the documentation, >> - fixed vhost unregister trigger (so that both disabling and re-enabling >> TSO is handled), >> - cleared netdev features when disabling TSO, >> - changed level and ratelimited log message on vhost socket disconnect, >> >> --- >> Documentation/topics/userspace-tso.rst | 26 ++++++- >> lib/netdev-dpdk.c | 100 ++++++++++++++++++++++++- >> 2 files changed, 120 insertions(+), 6 deletions(-) >> > > Acked-by: Maxime Coquelin <[email protected]>
Thanks, David, Mike, Simon and Maxime! Applied. Best regards, Ilya Maximets. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
