]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: add socket datagram capability
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Thu, 8 Aug 2019 14:54:56 +0000 (18:54 +0400)
committerMichal Privoznik <mprivozn@redhat.com>
Fri, 6 Sep 2019 10:47:47 +0000 (12:47 +0200)
Datagram socket is available since qemu 4.0, commit
fdec16e3c2a614e2861f3086b05d444b5d8c3406 ("net/socket: learn to talk
with a unix dgram socket").

Required for slirp-helper communication.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/qemu/qemu_capabilities.c
src/qemu/qemu_capabilities.h
tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml
tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml
tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml
tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml
tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml
tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml
tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml

index 73300128ea68917c83d84cb499f3e864efd6f6db..d4ebcd0c20c63d398b8bfdc1b61e27259adfe8cc 100644 (file)
@@ -537,6 +537,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
               /* 335 */
               "bochs-display",
               "migration-file-drop-cache",
+              "net-socket-dgram",
     );
 
 
@@ -4391,6 +4392,10 @@ virQEMUCapsInitQMPVersionCaps(virQEMUCapsPtr qemuCaps)
         ARCH_IS_PPC64(qemuCaps->arch)) {
         virQEMUCapsSet(qemuCaps, QEMU_CAPS_MACHINE_PSERIES_MAX_CPU_COMPAT);
     }
+
+    /* -net socket,fd= with dgram socket (for ex, with slirp helper) */
+    if (qemuCaps->version >= 4000000)
+        virQEMUCapsSet(qemuCaps, QEMU_CAPS_NET_SOCKET_DGRAM);
 }
 
 
index 68ef6c49b40b744dfa0cbc84574cd67676bd99b6..c785f855f9850b22540d84f519e2b9a65dacc672 100644 (file)
@@ -518,6 +518,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
     /* 335 */
     QEMU_CAPS_DEVICE_BOCHS_DISPLAY, /* -device bochs-display */
     QEMU_CAPS_MIGRATION_FILE_DROP_CACHE, /* migration with disk cache on is safe for type='file' disks */
+    QEMU_CAPS_NET_SOCKET_DGRAM, /* -net socket,fd= with dgram socket */
 
     QEMU_CAPS_LAST /* this must always be the last item */
 } virQEMUCapsFlags;
index 20f119665b9e1bc5f3c622cf502f896a6ac0eb25..1627b2cb5ef2e9160ce875887065a586b5b042e3 100644 (file)
   <flag name='nbd-bitmap'/>
   <flag name='bochs-display'/>
   <flag name='migration-file-drop-cache'/>
+  <flag name='net-socket-dgram'/>
   <version>4000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>61700758</microcodeVersion>
index 9ea6f4d0464915305dcae0f71ccec7be3984cbae..73859becab9a76b33a4ea32b88fe6e4f211606af 100644 (file)
   <flag name='nbd-bitmap'/>
   <flag name='bochs-display'/>
   <flag name='migration-file-drop-cache'/>
+  <flag name='net-socket-dgram'/>
   <version>4000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900758</microcodeVersion>
index 7503c2dbcdc5d2f8c72a5dce30974d31f4f17edd..ab6a774c3faff90341d781ed405c83a1fb953ee5 100644 (file)
   <flag name='nbd-bitmap'/>
   <flag name='bochs-display'/>
   <flag name='migration-file-drop-cache'/>
+  <flag name='net-socket-dgram'/>
   <version>4000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>0</microcodeVersion>
index 4a94179ee7ace2ecdb56506071aff62e5ca85e10..f731e7b4faa3f0ecd2897bbbb81c09ce460c47f1 100644 (file)
   <flag name='nbd-bitmap'/>
   <flag name='bochs-display'/>
   <flag name='migration-file-drop-cache'/>
+  <flag name='net-socket-dgram'/>
   <version>4000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>0</microcodeVersion>
index ef802f3d1f4219723b9a101f6869cd7351a28f2a..6cad000a114dbe76003946d971a27f50cd709f2d 100644 (file)
   <flag name='bitmap-merge'/>
   <flag name='nbd-bitmap'/>
   <flag name='migration-file-drop-cache'/>
+  <flag name='net-socket-dgram'/>
   <version>4000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>39100758</microcodeVersion>
index 87c95f4d189380d5ca45335a9bb1c456b7b2f141..79593c467a84ce8176d49830d36c5afba4b6da64 100644 (file)
   <flag name='x86-max-cpu'/>
   <flag name='bochs-display'/>
   <flag name='migration-file-drop-cache'/>
+  <flag name='net-socket-dgram'/>
   <version>4000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100758</microcodeVersion>
index f4583d7fe7d28387b154788037435dc733112206..05e6538e37b5ebe90bfcc8bf3248ded84176a70f 100644 (file)
   <flag name='canonical-cpu-features'/>
   <flag name='bochs-display'/>
   <flag name='migration-file-drop-cache'/>
+  <flag name='net-socket-dgram'/>
   <version>4000050</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100759</microcodeVersion>