--- configure.ac | 5 +++++ src/interface/netcf_driver.c | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 0 deletions(-) diff --git a/configure.ac b/configure.ac index dcec371..041d738 100644 --- a/configure.ac +++ b/configure.ac @@ -1483,6 +1483,11 @@ if test "$with_netcf" = "yes" || test "$with_netcf" = "check"; then if test "$with_netcf" = "yes" ; then AC_DEFINE_UNQUOTED([WITH_NETCF], 1, [whether libnetcf is available to configure physical host network interfaces]) + AC_CHECK_LIB([netcf], [ncf_change_start], [new_netcf=1], [new_netcf=0]) + if test "$new_netcf" = "1" ; then + AC_DEFINE_UNQUOTED([HAVE_NCF_CHANGE_START], ["1"], + [we have sufficiently new version of netcf for transaction network API]) + fi fi fi AM_CONDITIONAL([WITH_NETCF], [test "$with_netcf" = "yes"]) diff --git a/src/interface/netcf_driver.c b/src/interface/netcf_driver.c index fc7979c..082c4eb 100644 --- a/src/interface/netcf_driver.c +++ b/src/interface/netcf_driver.c @@ -30,6 +30,7 @@ #include "netcf_driver.h" #include "interface_conf.h" #include "memory.h" +#include "logging.h" #define VIR_FROM_THIS VIR_FROM_INTERFACE @@ -540,6 +541,35 @@ cleanup: return ret; } +#ifdef HAVE_NCF_CHANGE_START +static int interfaceChangeStart(virConnectPtr conn ATTRIBUTE_UNUSED, + unsigned int flags ATTRIBUTE_UNUSED) +{ + VIR_DEBUG0("A long time ago in a galaxy far, far away...."); + /* Nothing here yet */ + + return 0; +} + +static int interfaceChangeCommit(virConnectPtr conn ATTRIBUTE_UNUSED, + unsigned int flags ATTRIBUTE_UNUSED) +{ + VIR_DEBUG0("I am fish"); + /* Nothing here yet */ + + return 0; +} + +static int interfaceChangeRollback(virConnectPtr conn ATTRIBUTE_UNUSED, + unsigned int flags ATTRIBUTE_UNUSED) +{ + VIR_DEBUG0("Hello, IT. Have you tried turning it off and on again?"); + /* Nothing here yet */ + + return 0; +} +#endif /* HAVE_NCF_CHANGE_START */ + static virInterfaceDriver interfaceDriver = { "Interface", interfaceOpenInterface, /* open */ @@ -556,9 +586,15 @@ static virInterfaceDriver interfaceDriver = { interfaceCreate, /* interfaceCreate */ interfaceDestroy, /* interfaceDestroy */ interfaceIsActive, /* interfaceIsActive */ +#ifdef HAVE_NCF_CHANGE_START + interfaceChangeStart, /* interfaceChangeStart */ + interfaceChangeCommit, /* interfaceChangeCommit */ + interfaceChangeRollback, /* interfaceChangeRollback */ +#else NULL, /* interfaceChangeStart */ NULL, /* interfaceChangeCommit */ NULL, /* interfaceChangeRollback */ +#endif /* HAVE_NCF_CHANGE_START */ }; int interfaceRegister(void) { -- 1.7.5.rc3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list