diff options
| author | Thomas Huth <thuth@redhat.com> | 2018-02-21 11:18:36 +0100 |
|---|---|---|
| committer | Jason Wang <jasowang@redhat.com> | 2018-03-05 10:30:16 +0800 |
| commit | 78cd6f7bf6b196a96388a37e730706cf0c497fda (patch) | |
| tree | 63e7f18c6e600323ac0689ddc68a3804e5b215e4 /vl.c | |
| parent | 7cc28cb061040cb089d29de2d9a73f404b94bc66 (diff) | |
| download | focaccia-qemu-78cd6f7bf6b196a96388a37e730706cf0c497fda.tar.gz focaccia-qemu-78cd6f7bf6b196a96388a37e730706cf0c497fda.zip | |
net: Add a new convenience option "--nic" to configure default/on-board NICs
The legacy "-net" option can be quite confusing for the users since most people do not expect to get a "vlan" hub between their emulated guest hardware and the host backend. But so far, we are also not able to get rid of "-net" completely, since it is the only way to configure on-board NICs that can not be instantiated via "-device" yet. It's also a little bit shorter to type "-net nic -net tap" instead of "-device xyz,netdev=n1 -netdev tap,id=n1". So what we need is a new convenience option that is shorter to type than the full -device + -netdev stuff, and which can be used to configure the on-board NICs that can not be handled via -device yet. Thus this patch now provides such a new option "--nic": It adds an entry in the nd_table to configure a on-board / default NIC, creates a host backend and connects the two directly, without a confusing "vlan" hub inbetween. Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'vl.c')
| -rw-r--r-- | vl.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/vl.c b/vl.c index 1931621426..d15985ddac 100644 --- a/vl.c +++ b/vl.c @@ -3091,6 +3091,7 @@ int main(int argc, char **argv, char **envp) qemu_add_opts(&qemu_chardev_opts); qemu_add_opts(&qemu_device_opts); qemu_add_opts(&qemu_netdev_opts); + qemu_add_opts(&qemu_nic_opts); qemu_add_opts(&qemu_net_opts); qemu_add_opts(&qemu_rtc_opts); qemu_add_opts(&qemu_global_opts); @@ -3311,6 +3312,12 @@ int main(int argc, char **argv, char **envp) exit(1); } break; + case QEMU_OPTION_nic: + default_net = 0; + if (net_client_parse(qemu_find_opts("nic"), optarg) == -1) { + exit(1); + } + break; case QEMU_OPTION_net: default_net = 0; if (net_client_parse(qemu_find_opts("net"), optarg) == -1) { |