]> git.proxmox.com Git - qemu.git/commitdiff
net: add -netdev option
authorMark McLoughlin <markmc@redhat.com>
Thu, 8 Oct 2009 18:58:26 +0000 (19:58 +0100)
committerAnthony Liguori <aliguori@us.ibm.com>
Thu, 15 Oct 2009 14:32:01 +0000 (09:32 -0500)
Patchworks-ID: 35506
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
qemu-config.c
qemu-config.h
qemu-options.hx
vl.c

index bafaea2bdb7b547fe1c2a4651f5ba67b77b61fb8..cae92f78cf2276eab811a8717ced90f9d50c6404 100644 (file)
@@ -152,6 +152,18 @@ QemuOptsList qemu_device_opts = {
     },
 };
 
+QemuOptsList qemu_netdev_opts = {
+    .name = "netdev",
+    .head = QTAILQ_HEAD_INITIALIZER(qemu_netdev_opts.head),
+    .desc = {
+        /*
+         * no elements => accept any params
+         * validation will happen later
+         */
+        { /* end of list */ }
+    },
+};
+
 QemuOptsList qemu_net_opts = {
     .name = "net",
     .head = QTAILQ_HEAD_INITIALIZER(qemu_net_opts.head),
@@ -188,6 +200,7 @@ static QemuOptsList *lists[] = {
     &qemu_drive_opts,
     &qemu_chardev_opts,
     &qemu_device_opts,
+    &qemu_netdev_opts,
     &qemu_net_opts,
     &qemu_rtc_opts,
     NULL,
index cdad5ac5837e791cbe8975d2e10dcbcfdc828ff9..3cc88644e2191f71fa429add8511a080e0f3df70 100644 (file)
@@ -4,6 +4,7 @@
 extern QemuOptsList qemu_drive_opts;
 extern QemuOptsList qemu_chardev_opts;
 extern QemuOptsList qemu_device_opts;
+extern QemuOptsList qemu_netdev_opts;
 extern QemuOptsList qemu_net_opts;
 extern QemuOptsList qemu_rtc_opts;
 
index 3dd76b34bf4b532a5aab7275a09da47fdcd102df..d4cac04aca11a20f08afbed2857dca50f0c4c5ee 100644 (file)
@@ -839,6 +839,16 @@ DEF("net", HAS_ARG, QEMU_OPTION_net,
     "                dump traffic on vlan 'n' to file 'f' (max n bytes per packet)\n"
     "-net none       use it alone to have zero network devices; if no -net option\n"
     "                is provided, the default is '-net nic -net user'\n")
+DEF("netdev", HAS_ARG, QEMU_OPTION_netdev,
+    "-netdev ["
+#ifdef CONFIG_SLIRP
+    "user|"
+#endif
+    "tap|"
+#ifdef CONFIG_VDE
+    "vde|"
+#endif
+    "socket],id=str[,option][,option][,...]\n")
 STEXI
 @item -net nic[,vlan=@var{n}][,macaddr=@var{mac}][,model=@var{type}][,name=@var{name}][,addr=@var{addr}][,vectors=@var{v}]
 Create a new Network Interface Card and connect it to VLAN @var{n} (@var{n}
diff --git a/vl.c b/vl.c
index a4f7edfbb46db6a7c814d899fd24163f5cf05cd7..534a63e821d2499946704e166e49bc76ea7bf108 100644 (file)
--- a/vl.c
+++ b/vl.c
@@ -5087,6 +5087,11 @@ int main(int argc, char **argv, char **envp)
                 fd_bootchk = 0;
                 break;
 #endif
+            case QEMU_OPTION_netdev:
+                if (net_client_parse(&qemu_netdev_opts, optarg) == -1) {
+                    exit(1);
+                }
+                break;
             case QEMU_OPTION_net:
                 if (net_client_parse(&qemu_net_opts, optarg) == -1) {
                     exit(1);