Re: [libvirt] [PATCH 00/27] network: refactor to decouple virt drivers from network driver

2019-01-08 Thread Michal Privoznik
On 12/24/18 3:58 PM, Daniel P. Berrangé wrote:
> Currently the network driver registers a set of callbacks with the virt
> driver in order to handle allocating/releasing network ports associated
> with guest NICs.
> 
> This series introduces a virNetworkPortPtr object and associated XML
> that describes a network port. The virt drivers now call public APIs
> associated with this new object to create/delete ports for guest NICs.
> 
> There are some parts that are not yet addressed by this series
> 
>  - The live updating of bandwidth limits on network ports
>  - The old code would re-connect VIFs to bridges, and/or change
>bridges during startup. This code is deleted right now as it
>doesn't belong in the network driver. It needs to move to the
>virt drivers in some (to be determined) manner.
> 
> Daniel P. Berrangé (27):
>   conf: make virPCIDeviceAddressFormat void
>   network: restrict usage of port management APIs
>   network: pass a virNetworkPtr to port management APIs
>   conf: simplify link from hostdev back to network device
>   network: add missing bandwidth limits for bridge forward type
>   network: use 'bridge' as actual type instead of 'network'
>   virt drivers: don't handle type=network after resolving actual network
> type
>   network: unconditionally merge port profiles
>   conf: introduce virNetworkPortDefPtr struct and XML support
>   network: stop passing virDomainNetDefPtr into bandwidth functions
>   network: make networkLogAllocation independent of domain conf
>   util: add API for copying virtual port profile data
>   conf: add APIs to convert virDomainNetDef to virNetworkPortDef
>   network: convert networkAllocateActualDevice to virNetworkPortDef
>   network: convert networkNotifyActualDevice to virNetworkPortDef
>   network: convert networkReleaseActualDevice to virNetworkPortDef
>   network: convert hook script to take a network port XML
>   network: introduce networkAllocatePort
>   network: introduce networkNotifyPort
>   network: introduce networkReleasePort
>   network: add public APIs for network port object
>   access: add permissions for network port objects
>   remote: add support for new network port APIs
>   virsh: add support for network port APIs
>   conf: support recording ports against virNetworkObjPtr
>   network: add implementation of network port APIs
>   conf: switch over to use network port APIs for virt drivers
> 
>  include/libvirt/libvirt-network.h |   49 +
>  include/libvirt/virterror.h   |3 +
>  src/access/genpolkit.pl   |2 +-
>  src/access/viraccessdriver.h  |6 +
>  src/access/viraccessdrivernop.c   |   11 +
>  src/access/viraccessdriverpolkit.c|   26 +
>  src/access/viraccessdriverstack.c |   25 +
>  src/access/viraccessmanager.c |   16 +
>  src/access/viraccessmanager.h |6 +
>  src/access/viraccessperm.c|8 +-
>  src/access/viraccessperm.h|   38 +
>  src/conf/Makefile.inc.am  |2 +
>  src/conf/device_conf.c|3 +-
>  src/conf/device_conf.h|6 +-
>  src/conf/domain_conf.c|  413 ++-
>  src/conf/domain_conf.h|   46 +-
>  src/conf/network_conf.c   |7 +-
>  src/conf/storage_adapter_conf.c   |4 +-
>  src/conf/virnetworkobj.c  |  303 +
>  src/conf/virnetworkobj.h  |   30 +
>  src/conf/virnetworkportdef.c  |  497 
>  src/conf/virnetworkportdef.h  |  112 ++
>  src/datatypes.c   |   60 +
>  src/datatypes.h   |   41 +
>  src/driver-network.h  |   27 +
>  src/libvirt-network.c |  351 ++
>  src/libvirt_private.syms  |   21 +
>  src/libvirt_public.syms   |   14 +
>  src/libxl/libxl_conf.c|   21 +-
>  src/libxl/libxl_domain.c  |   28 +-
>  src/libxl/libxl_driver.c  |   27 +-
>  src/lxc/lxc_driver.c  |   37 +-
>  src/lxc/lxc_process.c |   21 +-
>  src/network/bridge_driver.c   | 1069 +
>  src/qemu/qemu_command.c   |   11 +-
>  src/qemu/qemu_domain_address.c|4 +-
>  src/qemu/qemu_driver.c|2 +-
>  src/qemu/qemu_hotplug.c   |   84 +-
>  src/qemu/qemu_hotplug.h   |2 +-
>  src/qemu/qemu_interface.c |   12 +-
>  src/qemu/qemu_process.c   |   32 +-
>  src/remote/remote_daemon_dispatch.c   |   25 +
>  src/remote/remote_driver.c|   28 +
>  

Re: [libvirt] [PATCH 00/27] network: refactor to decouple virt drivers from network driver

2019-01-01 Thread no-reply
Hi,

This series was run against 'syntax-check' test by patchew.org, which failed, 
please find the details below:

Message-id: 20181224145915.8700-1-berra...@redhat.com
Subject: [libvirt] [PATCH 00/27] network: refactor to decouple virt drivers 
from network driver
Type: series

=== TEST SCRIPT BEGIN ===
#!/bin/bash
# Testing script will be invoked under the git checkout with
# HEAD pointing to a commit that has the patches applied on top of "base"
# branch
time bash -c './autogen.sh && make syntax-check'
=== TEST SCRIPT END ===

Updating bcb55ab053bc79561b55d0394490f4b64e0f2d01
Switched to a new branch 'test'
6ff9157 conf: switch over to use network port APIs for virt drivers
09db5a1 network: add implementation of network port APIs
a9302df conf: support recording ports against virNetworkObjPtr
f07a12d virsh: add support for network port APIs
5cf732b remote: add support for new network port APIs
cd0c580 access: add permissions for network port objects
b7f01ee network: add public APIs for network port object
a24767a network: introduce networkReleasePort
a07f0c2 network: introduce networkNotifyPort
ca0d7e1 network: introduce networkAllocatePort
81869c3 network: convert hook script to take a network port XML
f6a273a network: convert networkReleaseActualDevice to virNetworkPortDef
0892c21 network: convert networkNotifyActualDevice to virNetworkPortDef
78e836d network: convert networkAllocateActualDevice to virNetworkPortDef
be6c472 conf: add APIs to convert virDomainNetDef to virNetworkPortDef
658ce38 util: add API for copying virtual port profile data
e418f23 network: make networkLogAllocation independent of domain conf
4df9034 network: stop passing virDomainNetDefPtr into bandwidth functions
588f5e2 conf: introduce virNetworkPortDefPtr struct and XML support
47cf653 network: unconditionally merge port profiles
f784aeb virt drivers: don't handle type=network after resolving actual network 
type
4b80e83 network: use 'bridge' as actual type instead of 'network'
3734f38 network: add missing bandwidth limits for bridge forward type
0611b44 conf: simplify link from hostdev back to network device
42cf25f network: pass a virNetworkPtr to port management APIs
097cf5b network: restrict usage of port management APIs
280f627 conf: make virPCIDeviceAddressFormat void

=== OUTPUT BEGIN ===
Updating submodules...
Submodule 'gnulib' (https://git.savannah.gnu.org/git/gnulib.git/) registered 
for path '.gnulib'
Submodule 'keycodemapdb' (https://gitlab.com/keycodemap/keycodemapdb.git) 
registered for path 'src/keycodemapdb'
Cloning into '.gnulib'...
Submodule path '.gnulib': checked out '4652c7bafa60332145f1e05a7de5f48e1bc56226'
Cloning into 'src/keycodemapdb'...
Submodule path 'src/keycodemapdb': checked out 
'16e5b0787687d8904dad2c026107409eb9bfcb95'
Running bootstrap...
./bootstrap: Bootstrapping from checked-out libvirt sources...
./bootstrap: consider installing git-merge-changelog from gnulib
./bootstrap: getting gnulib files...
running: libtoolize --install --copy
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.
libtoolize: copying file `build-aux/config.guess'
libtoolize: copying file `build-aux/config.sub'
libtoolize: copying file `build-aux/install-sh'
libtoolize: copying file `build-aux/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: copying file `m4/libtool.m4'
libtoolize: copying file `m4/ltoptions.m4'
libtoolize: copying file `m4/ltsugar.m4'
libtoolize: copying file `m4/ltversion.m4'
libtoolize: copying file `m4/lt~obsolete.m4'
./bootstrap: .gnulib/gnulib-tool--no-changelog   --aux-dir=build-aux   
--doc-base=doc   --lib=libgnu   --m4-base=m4/   --source-base=gnulib/lib/   
--tests-base=gnulib/tests   --local-dir=gnulib/local--lgpl=2 --with-tests 
--makefile-name=gnulib.mk --avoid=pt_chown --avoid=lock-tests   --libtool 
--import ...
Module list with included dependencies (indented):
absolute-header
  accept
accept-tests
alloca
alloca-opt
alloca-opt-tests
allocator
  areadlink
areadlink-tests
arpa_inet
arpa_inet-tests
assure
  autobuild
  base64
base64-tests
binary-io
binary-io-tests
  bind
bind-tests
  bitrotate
bitrotate-tests
btowc
btowc-tests
builtin-expect
  byteswap
byteswap-tests
  c-ctype
c-ctype-tests
  c-strcase
c-strcase-tests
  c-strcasestr
c-strcasestr-tests
  calloc-posix
  canonicalize-lgpl
canonicalize-lgpl-tests
careadlinkat
  chown
chown-tests
  clock-time
cloexec
cloexec-tests
  close
close-tests
  configmake
  connect
connect-tests
  count-leading-zeros
count-leading-zeros-tests
  count-one-bits
count-one-bits-tests
ctype
ctype-tests
  dirname-lgpl
dosname
double-slash-root
dup
dup-tests
dup2
dup2-tests
  environ
environ-tests
errno
errno-tests
error
  execinfo
exitfail
extensions
extern-inline
fatal-signal
  fclose
fc

[libvirt] [PATCH 00/27] network: refactor to decouple virt drivers from network driver

2018-12-24 Thread Daniel P . Berrangé
Currently the network driver registers a set of callbacks with the virt
driver in order to handle allocating/releasing network ports associated
with guest NICs.

This series introduces a virNetworkPortPtr object and associated XML
that describes a network port. The virt drivers now call public APIs
associated with this new object to create/delete ports for guest NICs.

There are some parts that are not yet addressed by this series

 - The live updating of bandwidth limits on network ports
 - The old code would re-connect VIFs to bridges, and/or change
   bridges during startup. This code is deleted right now as it
   doesn't belong in the network driver. It needs to move to the
   virt drivers in some (to be determined) manner.

Daniel P. Berrangé (27):
  conf: make virPCIDeviceAddressFormat void
  network: restrict usage of port management APIs
  network: pass a virNetworkPtr to port management APIs
  conf: simplify link from hostdev back to network device
  network: add missing bandwidth limits for bridge forward type
  network: use 'bridge' as actual type instead of 'network'
  virt drivers: don't handle type=network after resolving actual network
type
  network: unconditionally merge port profiles
  conf: introduce virNetworkPortDefPtr struct and XML support
  network: stop passing virDomainNetDefPtr into bandwidth functions
  network: make networkLogAllocation independent of domain conf
  util: add API for copying virtual port profile data
  conf: add APIs to convert virDomainNetDef to virNetworkPortDef
  network: convert networkAllocateActualDevice to virNetworkPortDef
  network: convert networkNotifyActualDevice to virNetworkPortDef
  network: convert networkReleaseActualDevice to virNetworkPortDef
  network: convert hook script to take a network port XML
  network: introduce networkAllocatePort
  network: introduce networkNotifyPort
  network: introduce networkReleasePort
  network: add public APIs for network port object
  access: add permissions for network port objects
  remote: add support for new network port APIs
  virsh: add support for network port APIs
  conf: support recording ports against virNetworkObjPtr
  network: add implementation of network port APIs
  conf: switch over to use network port APIs for virt drivers

 include/libvirt/libvirt-network.h |   49 +
 include/libvirt/virterror.h   |3 +
 src/access/genpolkit.pl   |2 +-
 src/access/viraccessdriver.h  |6 +
 src/access/viraccessdrivernop.c   |   11 +
 src/access/viraccessdriverpolkit.c|   26 +
 src/access/viraccessdriverstack.c |   25 +
 src/access/viraccessmanager.c |   16 +
 src/access/viraccessmanager.h |6 +
 src/access/viraccessperm.c|8 +-
 src/access/viraccessperm.h|   38 +
 src/conf/Makefile.inc.am  |2 +
 src/conf/device_conf.c|3 +-
 src/conf/device_conf.h|6 +-
 src/conf/domain_conf.c|  413 ++-
 src/conf/domain_conf.h|   46 +-
 src/conf/network_conf.c   |7 +-
 src/conf/storage_adapter_conf.c   |4 +-
 src/conf/virnetworkobj.c  |  303 +
 src/conf/virnetworkobj.h  |   30 +
 src/conf/virnetworkportdef.c  |  497 
 src/conf/virnetworkportdef.h  |  112 ++
 src/datatypes.c   |   60 +
 src/datatypes.h   |   41 +
 src/driver-network.h  |   27 +
 src/libvirt-network.c |  351 ++
 src/libvirt_private.syms  |   21 +
 src/libvirt_public.syms   |   14 +
 src/libxl/libxl_conf.c|   21 +-
 src/libxl/libxl_domain.c  |   28 +-
 src/libxl/libxl_driver.c  |   27 +-
 src/lxc/lxc_driver.c  |   37 +-
 src/lxc/lxc_process.c |   21 +-
 src/network/bridge_driver.c   | 1069 +
 src/qemu/qemu_command.c   |   11 +-
 src/qemu/qemu_domain_address.c|4 +-
 src/qemu/qemu_driver.c|2 +-
 src/qemu/qemu_hotplug.c   |   84 +-
 src/qemu/qemu_hotplug.h   |2 +-
 src/qemu/qemu_interface.c |   12 +-
 src/qemu/qemu_process.c   |   32 +-
 src/remote/remote_daemon_dispatch.c   |   25 +
 src/remote/remote_driver.c|   28 +
 src/remote/remote_protocol.x  |   89 +-
 src/remote_protocol-structs   |   47 +
 src/rpc/gendispatch.pl|   18 +-
 src/util/virerror.c   |9 +
 src/util/virhook.c