tun-fd option support for external tundev config (Rusty Russell)


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@398 c046a42c-6fe2-441c-8c8c-71466251a162
diff --git a/vl.c b/vl.c
index 89a9e06..f70c6af 100644
--- a/vl.c
+++ b/vl.c
@@ -3393,6 +3393,7 @@
 	   "-snapshot       write to temporary files instead of disk image files\n"
            "-m megs         set virtual RAM size to megs MB\n"
            "-n script       set network init script [default=%s]\n"
+           "-tun-fd fd      this fd talks to tap/tun, use it.\n"
            "-nographic      disable graphical output\n"
            "\n"
            "Linux boot specific (does not require PC BIOS):\n"
@@ -3422,6 +3423,7 @@
     { "nographic", 0, NULL, 0, },
     { "kernel", 1, NULL, 0, },
     { "append", 1, NULL, 0, },
+    { "tun-fd", 1, NULL, 0, },
     { NULL, 0, NULL, 0 },
 };
 
@@ -3514,6 +3516,9 @@
             case 7:
                 kernel_cmdline = optarg;
                 break;
+	    case 8:
+		net_fd = atoi(optarg);
+		break;
             }
             break;
         case 'h':
@@ -3568,7 +3573,8 @@
     }
 
     /* init network tun interface */
-    net_init();
+    if (net_fd < 0)
+	net_init();
 
     /* init the memory */
     tmpdir = getenv("QEMU_TMPDIR");