Ping On Fri, Jul 4, 2025 at 11:20 PM <yong.hu...@smartx.com> wrote:
> 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 > > -- Best regards