qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 0/7] Improvements and clean-ups related to -n


From: Mark Cave-Ayland
Subject: Re: [Qemu-devel] [PATCH v3 0/7] Improvements and clean-ups related to -net
Date: Wed, 21 Feb 2018 10:41:50 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0

On 21/02/18 10:18, Thomas Huth wrote:

"-net" is a legacy option that often causes confusion and
misconfigurations for the users, since most people are not aware
of the underlying "vlan" (i.e. hub) concept that is used for this
parameter. The prefered way of configuring your network stack is
to use "--netdev" instead, which gives you a clean 1:1 connection
between your emulated guest hardware and the host network backend.

However, there are two reasons why we could not completely deprecate
"-net" yet:

1) Convenience:
In some cases, it's more convenient to use "-net" instead of "--netdev",
e.g. if you just want to have a "tap" network connection, it's faster
to type "-net nic -net tap" instead of "--device e1000,netdev=n1
--netdev tap,id=n1".

2) On-board NICs:
Currently the "-net nic" parameter is the only way to configure on-
board NICs on certain (embedded) machines via the nd_table[] array.

So beside some generic clean-ups and removal of code that has been
marked as deprecated since QEMU 2.10 already, this patch series intro-
duces a new parameter "--nic" (in patch 7) which should be able to re-
place "-net" in the long run completely: This new convenience parameter
can be used to configure the default/on-board guest HW together with a
host network backend in a very compact way. To configure a tap backend
for the default NIC, you just have to type "--nic tap" here for example.

Hi Thomas,

This is a great improvement for configuring on-board NICs! I do have a couple of questions about your patchset based on personal experience:

1) Does the new -nic syntax support multiple on-board NICs? I remember seeing this on some of the ARM boards I was studying when trying to implement something similar for SPARC.

2) Is it possible to provide a convenient wrapper function to handle the logic related to determining whether a specified NIC is on-board or not?

For example take a look at https://git.qemu.org/?p=qemu.git;a=blob;f=hw/sparc64/sun4u.c;h=da28ab9413efdbe0bf0e1d3bf2b545577b83d88a;hb=a6e0344fa0e09413324835ae122c4cadd7890231#l596 where we have a nice dance to check whether the device specified is on-board or not, and if it isn't to plug it in as an extra PCI device instead. The complication here is that nd_tables[] is populated by default (and also with -net nic -net user) but not when someone specifies a single card via -netdev.

From memory this was derived from the code in https://git.qemu.org/?p=qemu.git;a=blob;f=hw/arm/realview.c;h=87cd1e583cd20b6d8a2beeef1cba6977496d4477;hb=a6e0344fa0e09413324835ae122c4cadd7890231#l259 if having another example helps?


ATB,

Mark.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]