Fold the "vsock present with a usable guest CID" check into one function
for the upcoming AF_VSOCK agent transport.

Move VIR_VSOCK_GUEST_CID_MIN to the header to make it available to
callers outside of the module.

Signed-off-by: Polina Vishneva <[email protected]>
---
 src/qemu/qemu_domain.c | 9 +++++++++
 src/qemu/qemu_domain.h | 2 ++
 src/util/virvsock.c    | 2 --
 src/util/virvsock.h    | 1 +
 4 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index e1b805d906..8539bb72fa 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -59,6 +59,7 @@
 #include "virrandom.h"
 #include "virsystemd.h"
 #include "virsecret.h"
+#include "virvsock.h"
 #include "logging/log_manager.h"
 #include "locking/domain_lock.h"
 #include "virdomainsnapshotobjlist.h"
@@ -7387,6 +7388,14 @@ qemuDomainCheckABIStability(virQEMUDriver *driver,
 #undef COPY_FLAGS
 
 
+bool
+qemuDomainVsockHasGuestCid(const virDomainDef *def)
+{
+    return def->vsock &&
+           def->vsock->guest_cid >= VIR_VSOCK_GUEST_CID_MIN;
+}
+
+
 bool
 qemuDomainAgentAvailable(virDomainObj *vm,
                          bool reportError)
diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
index 50ab492023..e994776996 100644
--- a/src/qemu/qemu_domain.h
+++ b/src/qemu/qemu_domain.h
@@ -805,6 +805,8 @@ bool qemuDomainCheckABIStability(virQEMUDriver *driver,
                                  virDomainObj *vm,
                                  virDomainDef *dst);
 
+bool qemuDomainVsockHasGuestCid(const virDomainDef *def);
+
 bool qemuDomainAgentAvailable(virDomainObj *vm,
                               bool reportError);
 
diff --git a/src/util/virvsock.c b/src/util/virvsock.c
index 10ca1d44eb..3c088c8648 100644
--- a/src/util/virvsock.c
+++ b/src/util/virvsock.c
@@ -81,8 +81,6 @@ virVsockSetGuestCid(int fd,
     return 0;
 }
 
-#define VIR_VSOCK_GUEST_CID_MIN 3
-
 /**
  * virVsockAcquireGuestCid:
  * @fd: file descriptor of a vsock interface
diff --git a/src/util/virvsock.h b/src/util/virvsock.h
index 06c251b594..8bf08f9228 100644
--- a/src/util/virvsock.h
+++ b/src/util/virvsock.h
@@ -18,6 +18,7 @@
 
 #pragma once
 
+#define VIR_VSOCK_GUEST_CID_MIN 3
 #define VIR_VSOCK_CONNECT_TIMEOUT_MS 200
 
 int
-- 
2.54.0

Reply via email to