[libvirt] [PATCH v2 6/8] remote: use a separate connection for nwfilter APIs

Daniel P. Berrangé berrange at redhat.com
Thu Apr 5 10:51:45 UTC 2018


Reviewed-by: John Ferlan <jferlan at redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
---
 src/remote/remote_daemon.h          | 1 +
 src/remote/remote_daemon_dispatch.c | 3 +++
 src/rpc/gendispatch.pl              | 6 ++++++
 3 files changed, 10 insertions(+)

diff --git a/src/remote/remote_daemon.h b/src/remote/remote_daemon.h
index 517eec1fc2..1b906401d3 100644
--- a/src/remote/remote_daemon.h
+++ b/src/remote/remote_daemon.h
@@ -77,6 +77,7 @@ struct daemonClientPrivate {
     virConnectPtr interfaceConn;
     virConnectPtr networkConn;
     virConnectPtr nodedevConn;
+    virConnectPtr nwfilterConn;
 
     daemonClientStreamPtr streams;
 };
diff --git a/src/remote/remote_daemon_dispatch.c b/src/remote/remote_daemon_dispatch.c
index 668f67cca8..36190de8f2 100644
--- a/src/remote/remote_daemon_dispatch.c
+++ b/src/remote/remote_daemon_dispatch.c
@@ -1751,6 +1751,8 @@ void remoteClientFree(void *data)
         virConnectClose(priv->networkConn);
     if (priv->nodedevConn)
         virConnectClose(priv->nodedevConn);
+    if (priv->nwfilterConn)
+        virConnectClose(priv->nwfilterConn);
 
     VIR_FREE(priv);
 }
@@ -1826,6 +1828,7 @@ remoteDispatchConnectOpen(virNetServerPtr server ATTRIBUTE_UNUSED,
     priv->interfaceConn = virObjectRef(priv->conn);
     priv->networkConn = virObjectRef(priv->conn);
     priv->nodedevConn = virObjectRef(priv->conn);
+    priv->nwfilterConn = virObjectRef(priv->conn);
 
     /* force update the @readonly attribute which was inherited from the
      * virNetServerService object - this is important for sockets that are RW
diff --git a/src/rpc/gendispatch.pl b/src/rpc/gendispatch.pl
index af29d88b99..cccfcab743 100755
--- a/src/rpc/gendispatch.pl
+++ b/src/rpc/gendispatch.pl
@@ -134,6 +134,9 @@ sub get_conn_arg {
         if ($type =~ /remote_nonnull_node_device/) {
             return "priv->nodedevConn";
         }
+        if ($type =~ /remote_nonnull_nwfilter/) {
+            return "priv->nwfilterConn";
+        }
     }
 
     # This is for the few virConnect APIs that
@@ -148,6 +151,9 @@ sub get_conn_arg {
     if ($proc =~ /Node.*Device/) {
         return "priv->nodedevConn";
     }
+    if ($proc =~ /Connect.*NWFilter/) {
+        return "priv->nwfilterConn";
+    }
 
     return "priv->conn";
 }
-- 
2.14.3




More information about the libvir-list mailing list