Commit 42f1e0e49b9c162c211eba0115c5e7d1de861f44
1 parent
27c3f2cb
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
Showing
1 changed file
with
7 additions
and
1 deletions
vl.c
| ... | ... | @@ -3393,6 +3393,7 @@ void help(void) |
| 3393 | 3393 | "-snapshot write to temporary files instead of disk image files\n" |
| 3394 | 3394 | "-m megs set virtual RAM size to megs MB\n" |
| 3395 | 3395 | "-n script set network init script [default=%s]\n" |
| 3396 | + "-tun-fd fd this fd talks to tap/tun, use it.\n" | |
| 3396 | 3397 | "-nographic disable graphical output\n" |
| 3397 | 3398 | "\n" |
| 3398 | 3399 | "Linux boot specific (does not require PC BIOS):\n" |
| ... | ... | @@ -3422,6 +3423,7 @@ struct option long_options[] = { |
| 3422 | 3423 | { "nographic", 0, NULL, 0, }, |
| 3423 | 3424 | { "kernel", 1, NULL, 0, }, |
| 3424 | 3425 | { "append", 1, NULL, 0, }, |
| 3426 | + { "tun-fd", 1, NULL, 0, }, | |
| 3425 | 3427 | { NULL, 0, NULL, 0 }, |
| 3426 | 3428 | }; |
| 3427 | 3429 | |
| ... | ... | @@ -3514,6 +3516,9 @@ int main(int argc, char **argv) |
| 3514 | 3516 | case 7: |
| 3515 | 3517 | kernel_cmdline = optarg; |
| 3516 | 3518 | break; |
| 3519 | + case 8: | |
| 3520 | + net_fd = atoi(optarg); | |
| 3521 | + break; | |
| 3517 | 3522 | } |
| 3518 | 3523 | break; |
| 3519 | 3524 | case 'h': |
| ... | ... | @@ -3568,7 +3573,8 @@ int main(int argc, char **argv) |
| 3568 | 3573 | } |
| 3569 | 3574 | |
| 3570 | 3575 | /* init network tun interface */ |
| 3571 | - net_init(); | |
| 3576 | + if (net_fd < 0) | |
| 3577 | + net_init(); | |
| 3572 | 3578 | |
| 3573 | 3579 | /* init the memory */ |
| 3574 | 3580 | tmpdir = getenv("QEMU_TMPDIR"); | ... | ... |