From: Hyman Huang <yong.hu...@smartx.com> This series offer an automated method to configure a vhostuser interface in server mode, simplifying integration with DPDK-enabled Open vSwitch bridges.
To ensure simplicity and forward compatibility, we introduce openvswitch backend support for vhostuser interfaces in XML configuration, with an optional 'autoiface' attribute. Here is an example of the config for a vhostuser interface that attached to bridge automatically: <interface type='vhostuser'> <mac address='52:54:00:3b:83:1b'/> <source type='unix' path='/tmp/vhost2.sock' mode='server'/> <virtualport type='openvswitch'> <parameters interfaceid='9317d6b7-5fae-4464-a7e9-87d90eff2204'/> </virtualport> <backend type='openvswitch' autoiface='yes'> <parameters bridge='ovsbr-ddpbxnhaq'/> </backend> <model type='virtio'/> <driver queues='5'/> </interface> The backend element specifies the backend implementation of the vhostuser interface type. The type attribute is required and currently supports supports openvswitch and passt. If type is openvswitch, the autoiface attribute may be specified (yes or no), if autoiface is yes, the parameters element bridge attribute is mandatory. Libvirt will derive the interface name by extracting the substring after the '/' character in the vhostuser server path, and attach it to the bridge specified by the bridge attribute. Please review. Thanks. Yong Hyman Huang (4): qemu_passt: Make logFile backend-specific conf: Introduce autoiface attribute for vhostuser interface util: Add iface argument to virNetDevOpenvswitchAddPort qemu: Implement automatic attachment of the vhostuser port docs/formatdomain.rst | 37 ++++++++- src/conf/domain_conf.c | 75 +++++++++++++++++-- src/conf/domain_conf.h | 13 +++- src/conf/domain_postparse.c | 46 ++++++++++++ src/conf/domain_validate.c | 24 ++++++ src/conf/schemas/domaincommon.rng | 20 +++++ src/lxc/lxc_process.c | 3 +- src/qemu/qemu_command.c | 3 + src/qemu/qemu_hotplug.c | 4 + src/qemu/qemu_interface.c | 46 ++++++++++++ src/qemu/qemu_interface.h | 3 + src/qemu/qemu_passt.c | 4 +- src/qemu/qemu_process.c | 4 + src/util/virnetdevopenvswitch.c | 36 ++++++++- src/util/virnetdevopenvswitch.h | 10 ++- src/util/virnetdevtap.c | 3 +- .../net-vhostuser.x86_64-latest.xml | 10 +++ tests/qemuxmlconfdata/net-vhostuser.xml | 10 +++ 18 files changed, 336 insertions(+), 15 deletions(-) -- 2.27.0