[libvirt] [PATCH v2 00/11] conf: partial net model enum conversion
Cole Robinson
crobinso at redhat.com
Thu Mar 28 17:14:35 UTC 2019
ping
On 3/13/19 11:51 AM, Cole Robinson wrote:
> v1 here:
> https://www.redhat.com/archives/libvir-list/2019-January/msg00763.html
>
> Changes since v1:
> - patch #7, case insensitive model input comparison
> - Add xml2xml testing
> - compile tested on freebsd12.0
>
> This series partially converts the net->model value from a string
> to an enum. We wrap the existing ->model string in accessor functions,
> rename it to ->modelstr, add a ->model enum, and convert internal
> driver usage bit by bit. At the end, all driver code that is acting
> on specific network model values is comparing against an enum, not
> a string.
>
> This is only partial because of xen/libxl/xm and qemu drivers, which
> if they don't know anything particular about the model string will
> just place it on the qemu command line/xen config and see what happens.
> So basically if I were to pass in
>
> <model type='idontexist'/>
>
> qemu would turn that into
>
> -device idontexist,...
>
> That behavior is untouched by this series, as fully unwinding that
> will take some more work:
>
> * Figuring out all reasonable qemu + xen values that could actually
> result in a working VM config, and adding them to the enum
> * Figuring out a long term plan for disabling passthrough entirely.
> There's some discussion in the v1 thread about this.
>
> Some caveats:
> * vz driver is not compile tested. What's the sdk magic to actually
> get this building?
> * net model enum lookup is done case insensitive. this is to maintain
> the behavior of the vmx and virtualbox drivers, but it's different
> than all our other enum usage.
>
> Cole Robinson (11):
> tests: Add several net model passthrough tests
> conf: net: Add wrapper functions for <model> value
> conf: net: Rename 'model' to 'modelstr'
> conf: net: Add model enum, and netfront value
> vz: convert to net model enum
> bhyve: convert to net model enum
> qemu: Partially convert to net model enum
> conf: Make net model enum compare case insensitive
> vmx: convert to net model enum
> vbox: Convert to net enum model
> conf: Add VIR_DOMAIN_DEF_FEATURE_NET_MODEL_STRING
>
> src/bhyve/bhyve_command.c | 15 +--
> src/bhyve/bhyve_parse_command.c | 10 +-
> src/conf/domain_conf.c | 111 ++++++++++++++----
> src/conf/domain_conf.h | 35 +++++-
> src/libvirt_private.syms | 4 +
> src/libxl/libxl_conf.c | 8 +-
> src/libxl/libxl_domain.c | 1 +
> src/qemu/qemu_command.c | 13 +-
> src/qemu/qemu_domain.c | 32 +++--
> src/qemu/qemu_domain_address.c | 13 +-
> src/qemu/qemu_driver.c | 14 ++-
> src/qemu/qemu_hotplug.c | 15 ++-
> src/qemu/qemu_parse_command.c | 5 +-
> src/security/virt-aa-helper.c | 3 +-
> src/vbox/vbox_common.c | 29 ++---
> src/vmx/vmx.c | 55 ++++-----
> src/vz/vz_driver.c | 7 +-
> src/vz/vz_sdk.c | 17 ++-
> src/xenconfig/xen_common.c | 31 ++---
> src/xenconfig/xen_sxpr.c | 30 ++---
> tests/qemuxml2argvdata/net-many-models.args | 39 ++++++
> tests/qemuxml2argvdata/net-many-models.xml | 38 ++++++
> tests/qemuxml2argvtest.c | 1 +
> tests/qemuxml2xmloutdata/net-many-models.xml | 53 +++++++++
> tests/qemuxml2xmltest.c | 1 +
> tests/xlconfigdata/test-net-fakemodel.cfg | 24 ++++
> tests/xlconfigdata/test-net-fakemodel.xml | 39 ++++++
> tests/xlconfigtest.c | 1 +
> .../test-paravirt-net-fakemodel.cfg | 13 ++
> .../test-paravirt-net-fakemodel.xml | 40 +++++++
> .../test-paravirt-net-modelstr.cfg | 13 ++
> tests/xmconfigtest.c | 1 +
> .../xml2sexpr-fv-net-many-models.sexpr | 1 +
> .../xml2sexpr-fv-net-many-models.xml | 43 +++++++
> tests/xml2sexprtest.c | 1 +
> 35 files changed, 586 insertions(+), 170 deletions(-)
> create mode 100644 tests/qemuxml2argvdata/net-many-models.args
> create mode 100644 tests/qemuxml2argvdata/net-many-models.xml
> create mode 100644 tests/qemuxml2xmloutdata/net-many-models.xml
> create mode 100644 tests/xlconfigdata/test-net-fakemodel.cfg
> create mode 100644 tests/xlconfigdata/test-net-fakemodel.xml
> create mode 100644 tests/xmconfigdata/test-paravirt-net-fakemodel.cfg
> create mode 100644 tests/xmconfigdata/test-paravirt-net-fakemodel.xml
> create mode 100644 tests/xmconfigdata/test-paravirt-net-modelstr.cfg
> create mode 100644 tests/xml2sexprdata/xml2sexpr-fv-net-many-models.sexpr
> create mode 100644 tests/xml2sexprdata/xml2sexpr-fv-net-many-models.xml
>
- Cole
More information about the libvir-list
mailing list