* [Qemu-devel] Nic devices' name are wrongly repeated
@ 2013-04-10 12:05 Amos Kong
2013-04-10 12:28 ` Andreas Färber
0 siblings, 1 reply; 13+ messages in thread
From: Amos Kong @ 2013-04-10 12:05 UTC (permalink / raw)
To: Stefan Hajnoczi; +Cc: qemu-devel
Hi Stefan,
If we don't assign 'id' for nic device, device name will be $model.$idx. The $idx are always 0 if we set nic by new style.
# qemu-upstream -device virtio-net-pci,netdev=h1 -netdev tap,id=h1 -device virtio-net-pci,netdev=h2 -netdev tap,id=h2 ...
(qemu) info network
virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
\ h1: index=0,type=tap,ifname=tap0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:57
\ h2: index=0,type=tap,ifname=tap1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
it's introduced by commit d33d93b2
If we set links down by 'set_link virtio-net-pci.0', the first nic
will be set down. But how to set the second link down by id?
--
Amos.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] Nic devices' name are wrongly repeated
2013-04-10 12:05 [Qemu-devel] Nic devices' name are wrongly repeated Amos Kong
@ 2013-04-10 12:28 ` Andreas Färber
2013-04-10 14:17 ` Amos Kong
2013-04-18 8:19 ` [Qemu-devel] 'id' assigned to -device could not be set as net-client name (was Re: Nic devices' name are wrongly repeated) Amos Kong
0 siblings, 2 replies; 13+ messages in thread
From: Andreas Färber @ 2013-04-10 12:28 UTC (permalink / raw)
To: Amos Kong
Cc: Anthony Liguori, Paolo Bonzini, qemu-devel, Stefan Hajnoczi,
Gerd Hoffmann
Hi,
Am 10.04.2013 14:05, schrieb Amos Kong:
> If we don't assign 'id' for nic device, device name will be $model.$idx. The $idx are always 0 if we set nic by new style.
>
> # qemu-upstream -device virtio-net-pci,netdev=h1 -netdev tap,id=h1 -device virtio-net-pci,netdev=h2 -netdev tap,id=h2 ...
> (qemu) info network
> virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
> \ h1: index=0,type=tap,ifname=tap0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
> virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:57
> \ h2: index=0,type=tap,ifname=tap1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
>
> it's introduced by commit d33d93b2
I can see that's inconvenient, but...
> If we set links down by 'set_link virtio-net-pci.0', the first nic
> will be set down. But how to set the second link down by id?
As you would do for all devices? I.e., add ,id=youruniqueid to -device.
Having said that, in a different context (USB) I was made aware that we
don't know the bus name at QOM initialization time yet and, if we want
to create a bus at that point, will need to rename it later. Thus we'd
need an overridable ID setter hook to propagate to busses, and if we had
such a settable ID property it would be convenient for your use case to
have a matching monitor command as well to be able to resolve name
conflicts at runtime rather than with a QEMU restart.
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] Nic devices' name are wrongly repeated
2013-04-10 12:28 ` Andreas Färber
@ 2013-04-10 14:17 ` Amos Kong
2013-04-11 8:22 ` Stefan Hajnoczi
2013-04-18 8:19 ` [Qemu-devel] 'id' assigned to -device could not be set as net-client name (was Re: Nic devices' name are wrongly repeated) Amos Kong
1 sibling, 1 reply; 13+ messages in thread
From: Amos Kong @ 2013-04-10 14:17 UTC (permalink / raw)
To: Andreas Färber
Cc: Anthony Liguori, Paolo Bonzini, qemu-devel, Stefan Hajnoczi,
Gerd Hoffmann
On Wed, Apr 10, 2013 at 02:28:40PM +0200, Andreas Färber wrote:
> Hi,
>
> Am 10.04.2013 14:05, schrieb Amos Kong:
> > If we don't assign 'id' for nic device, device name will be $model.$idx. The $idx are always 0 if we set nic by new style.
> >
> > # qemu-upstream -device virtio-net-pci,netdev=h1 -netdev tap,id=h1 -device virtio-net-pci,netdev=h2 -netdev tap,id=h2 ...
> > (qemu) info network
> > virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
> > \ h1: index=0,type=tap,ifname=tap0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
> > virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:57
> > \ h2: index=0,type=tap,ifname=tap1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
> >
> > it's introduced by commit d33d93b2
>
> I can see that's inconvenient, but...
>
> > If we set links down by 'set_link virtio-net-pci.0', the first nic
> > will be set down. But how to set the second link down by id?
>
> As you would do for all devices? I.e., add ,id=youruniqueid to -device.
If we also assigned unique ids for nic devices, it works.
> Having said that, in a different context (USB) I was made aware that we
> don't know the bus name at QOM initialization time yet and, if we want
> to create a bus at that point, will need to rename it later. Thus we'd
> need an overridable ID setter hook to propagate to busses, and if we had
> such a settable ID property it would be convenient for your use case to
> have a matching monitor command as well to be able to resolve name
> conflicts at runtime rather than with a QEMU restart.
It's better to allocate an increased & uniqued index suffix
automatically as past. monitor command is good for human, but
it's difficult for management tools to identify & resolve the
conflicts.
> Andreas
>
> --
> SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
> GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
--
Amos.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] Nic devices' name are wrongly repeated
2013-04-10 14:17 ` Amos Kong
@ 2013-04-11 8:22 ` Stefan Hajnoczi
2013-04-11 11:58 ` [Qemu-devel] [PATCH] net: make nic name unique Amos Kong
0 siblings, 1 reply; 13+ messages in thread
From: Stefan Hajnoczi @ 2013-04-11 8:22 UTC (permalink / raw)
To: Amos Kong
Cc: Paolo Bonzini, Gerd Hoffmann, Andreas Färber,
Anthony Liguori, qemu-devel
On Wed, Apr 10, 2013 at 10:17:04PM +0800, Amos Kong wrote:
> On Wed, Apr 10, 2013 at 02:28:40PM +0200, Andreas Färber wrote:
> > Hi,
> >
> > Am 10.04.2013 14:05, schrieb Amos Kong:
> > > If we don't assign 'id' for nic device, device name will be $model.$idx. The $idx are always 0 if we set nic by new style.
> > >
> > > # qemu-upstream -device virtio-net-pci,netdev=h1 -netdev tap,id=h1 -device virtio-net-pci,netdev=h2 -netdev tap,id=h2 ...
> > > (qemu) info network
> > > virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
> > > \ h1: index=0,type=tap,ifname=tap0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
> > > virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:57
> > > \ h2: index=0,type=tap,ifname=tap1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
> > >
> > > it's introduced by commit d33d93b2
> >
> > I can see that's inconvenient, but...
> >
> > > If we set links down by 'set_link virtio-net-pci.0', the first nic
> > > will be set down. But how to set the second link down by id?
> >
> > As you would do for all devices? I.e., add ,id=youruniqueid to -device.
>
> If we also assigned unique ids for nic devices, it works.
I was unaware of this issue. Do you want to send a fix so NICs get
unique names?
Stefan
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Qemu-devel] [PATCH] net: make nic name unique
2013-04-11 8:22 ` Stefan Hajnoczi
@ 2013-04-11 11:58 ` Amos Kong
2013-04-12 9:06 ` Stefan Hajnoczi
2013-04-15 10:55 ` [Qemu-devel] [PATCH v2] net: make network client " Amos Kong
0 siblings, 2 replies; 13+ messages in thread
From: Amos Kong @ 2013-04-11 11:58 UTC (permalink / raw)
To: qemu-devel; +Cc: anthony, stefanha, afaerber
If we don't assign 'id' for nic device, device's name will be $model.$idx.
The $idx is always 0 if we use new style of cmdline. This problem was
introduced by commit d33d93b2.
eg:
# qemu-upstream -device virtio-net-pci,netdev=h1 -netdev tap,id=h1 \
-device virtio-net-pci,netdev=h2 -netdev tap,id=h2 ..
(qemu) info network
virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
\ h1: index=0,type=tap,ifname=tap0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:57
\ h2: index=0,type=tap,ifname=tap1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
This patch remove the check of hub, allocate increased id for all devices
that have same model.
Signed-off-by: Amos Kong <akong@redhat.com>
---
net/net.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/net/net.c b/net/net.c
index 67032f5..631e7d0 100644
--- a/net/net.c
+++ b/net/net.c
@@ -171,8 +171,7 @@ static char *assign_name(NetClientState *nc1, const char *model)
continue;
}
/* For compatibility only bump id for net clients on a vlan */
- if (strcmp(nc->model, model) == 0 &&
- net_hub_id_for_client(nc, NULL) == 0) {
+ if (strcmp(nc->model, model) == 0) {
id++;
}
}
--
1.8.1.4
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [PATCH] net: make nic name unique
2013-04-11 11:58 ` [Qemu-devel] [PATCH] net: make nic name unique Amos Kong
@ 2013-04-12 9:06 ` Stefan Hajnoczi
2013-04-12 10:50 ` Markus Armbruster
2013-04-15 10:55 ` [Qemu-devel] [PATCH v2] net: make network client " Amos Kong
1 sibling, 1 reply; 13+ messages in thread
From: Stefan Hajnoczi @ 2013-04-12 9:06 UTC (permalink / raw)
To: Amos Kong; +Cc: stefanha, qemu-devel, anthony, afaerber
On Thu, Apr 11, 2013 at 07:58:39PM +0800, Amos Kong wrote:
> If we don't assign 'id' for nic device, device's name will be $model.$idx.
> The $idx is always 0 if we use new style of cmdline. This problem was
> introduced by commit d33d93b2.
>
> eg:
> # qemu-upstream -device virtio-net-pci,netdev=h1 -netdev tap,id=h1 \
> -device virtio-net-pci,netdev=h2 -netdev tap,id=h2 ..
> (qemu) info network
> virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
> \ h1: index=0,type=tap,ifname=tap0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
> virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:57
> \ h2: index=0,type=tap,ifname=tap1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
>
> This patch remove the check of hub, allocate increased id for all devices
> that have same model.
>
> Signed-off-by: Amos Kong <akong@redhat.com>
> ---
> net/net.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
I looked a bit more into this. Markus added NIC naming in
53e51d85ef1fdd295c8f09792b8e7490c148f4b3. Please include this commit ID
in the commit message.
My hub patches incorrectly dropped Markus' fix and I actually documented
this:
+/**
+ * Generate a name for net client
+ *
+ * Only net clients created with the legacy -net option need this.
Naming is
+ * mandatory for net clients created with -netdev.
+ */
static char *assign_name(VLANClientState *vc1, const char *model)
Please update this comment to say "Only net clients created with the legacy
-net option and NICs need this".
> diff --git a/net/net.c b/net/net.c
> index 67032f5..631e7d0 100644
> --- a/net/net.c
> +++ b/net/net.c
> @@ -171,8 +171,7 @@ static char *assign_name(NetClientState *nc1, const char *model)
> continue;
> }
> /* For compatibility only bump id for net clients on a vlan */
> - if (strcmp(nc->model, model) == 0 &&
> - net_hub_id_for_client(nc, NULL) == 0) {
> + if (strcmp(nc->model, model) == 0) {
> id++;
> }
Please delete the incorrect comment about compatibility when dropping the
net_hub_id_for_client() call.
Stefan
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [PATCH] net: make nic name unique
2013-04-12 9:06 ` Stefan Hajnoczi
@ 2013-04-12 10:50 ` Markus Armbruster
0 siblings, 0 replies; 13+ messages in thread
From: Markus Armbruster @ 2013-04-12 10:50 UTC (permalink / raw)
To: Stefan Hajnoczi; +Cc: anthony, Amos Kong, qemu-devel, stefanha, afaerber
Stefan Hajnoczi <stefanha@gmail.com> writes:
> On Thu, Apr 11, 2013 at 07:58:39PM +0800, Amos Kong wrote:
>> If we don't assign 'id' for nic device, device's name will be $model.$idx.
>> The $idx is always 0 if we use new style of cmdline. This problem was
>> introduced by commit d33d93b2.
>>
>> eg:
>> # qemu-upstream -device virtio-net-pci,netdev=h1 -netdev tap,id=h1 \
>> -device virtio-net-pci,netdev=h2 -netdev tap,id=h2 ..
>> (qemu) info network
>> virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
>> \ h1: index=0,type=tap,ifname=tap0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
>> virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:57
>> \ h2: index=0,type=tap,ifname=tap1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
There are two kinds of names around here: network client names and
device (qdev) IDs. Commit message could be tweaked to make it clearer
that this is about network client names.
As a general rule in QEMU, we call all objects "device", and all classes
"driver" %-/
>>
>> This patch remove the check of hub, allocate increased id for all devices
>> that have same model.
>>
>> Signed-off-by: Amos Kong <akong@redhat.com>
>> ---
>> net/net.c | 3 +--
>> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> I looked a bit more into this. Markus added NIC naming in
> 53e51d85ef1fdd295c8f09792b8e7490c148f4b3.
Added it to non-VLAN clients, actually. It already existed for VLAN
clients.
> Please include this commit ID
> in the commit message.
>
> My hub patches incorrectly dropped Markus' fix and I actually documented
> this:
>
> +/**
> + * Generate a name for net client
> + *
> + * Only net clients created with the legacy -net option need this.
> Naming is
> + * mandatory for net clients created with -netdev.
> + */
> static char *assign_name(VLANClientState *vc1, const char *model)
>
> Please update this comment to say "Only net clients created with the legacy
>
>> diff --git a/net/net.c b/net/net.c
>> index 67032f5..631e7d0 100644
>> --- a/net/net.c
>> +++ b/net/net.c
>> @@ -171,8 +171,7 @@ static char *assign_name(NetClientState *nc1, const char *model)
>> continue;
>> }
>> /* For compatibility only bump id for net clients on a vlan */
>> - if (strcmp(nc->model, model) == 0 &&
>> - net_hub_id_for_client(nc, NULL) == 0) {
>> + if (strcmp(nc->model, model) == 0) {
>> id++;
>> }
>
> Please delete the incorrect comment about compatibility when dropping the
> net_hub_id_for_client() call.
>
> Stefan
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Qemu-devel] [PATCH v2] net: make network client name unique
2013-04-11 11:58 ` [Qemu-devel] [PATCH] net: make nic name unique Amos Kong
2013-04-12 9:06 ` Stefan Hajnoczi
@ 2013-04-15 10:55 ` Amos Kong
2013-04-18 11:25 ` Stefan Hajnoczi
1 sibling, 1 reply; 13+ messages in thread
From: Amos Kong @ 2013-04-15 10:55 UTC (permalink / raw)
To: qemu-devel; +Cc: stefanha
assign_name() creates a name MODEL.NUM, where MODEL is the client's model,
and NUM is the number of MODELs that already exist.
Markus added NIC naming for non-VLAN clients in commit 53e51d85.
commit d33d93b2 incorrectly added a judgement of net-hub. It caused
net clients created with -netdev get same names.
eg:
# qemu-upstream -device virtio-net-pci,netdev=h1 -netdev tap,id=h1 \
-device virtio-net-pci,netdev=h2 -netdev tap,id=h2 ..
(qemu) info network
virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
\ h1: index=0,type=tap,ifname=tap0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:57
\ h2: index=0,type=tap,ifname=tap1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
This patch removed the check of nic-hub, and created unique names for
all net clients that have same model.
v2: update commitlog & comments
Signed-off-by: Amos Kong <akong@redhat.com>
---
net/net.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/net/net.c b/net/net.c
index 67032f5..9011174 100644
--- a/net/net.c
+++ b/net/net.c
@@ -157,8 +157,7 @@ void qemu_macaddr_default_if_unset(MACAddr *macaddr)
/**
* Generate a name for net client
*
- * Only net clients created with the legacy -net option need this. Naming is
- * mandatory for net clients created with -netdev.
+ * Only net clients created with the legacy -net option and NICs need this.
*/
static char *assign_name(NetClientState *nc1, const char *model)
{
@@ -170,9 +169,7 @@ static char *assign_name(NetClientState *nc1, const char *model)
if (nc == nc1) {
continue;
}
- /* For compatibility only bump id for net clients on a vlan */
- if (strcmp(nc->model, model) == 0 &&
- net_hub_id_for_client(nc, NULL) == 0) {
+ if (strcmp(nc->model, model) == 0) {
id++;
}
}
--
1.8.1.4
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] 'id' assigned to -device could not be set as net-client name (was Re: Nic devices' name are wrongly repeated)
2013-04-10 12:28 ` Andreas Färber
2013-04-10 14:17 ` Amos Kong
@ 2013-04-18 8:19 ` Amos Kong
2013-04-18 9:12 ` KONRAD Frédéric
1 sibling, 1 reply; 13+ messages in thread
From: Amos Kong @ 2013-04-18 8:19 UTC (permalink / raw)
To: Andreas Färber, fred.konrad
Cc: Paolo Bonzini, Stefan Hajnoczi, qemu-devel, Anthony Liguori,
Gerd Hoffmann
On Wed, Apr 10, 2013 at 02:28:40PM +0200, Andreas Färber wrote:
> Hi,
>
> Am 10.04.2013 14:05, schrieb Amos Kong:
> > If we don't assign 'id' for nic device, device name will be $model.$idx. The $idx are always 0 if we set nic by new style.
> >
> > # qemu-upstream -device virtio-net-pci,netdev=h1 -netdev tap,id=h1 -device virtio-net-pci,netdev=h2 -netdev tap,id=h2 ...
> > (qemu) info network
> > virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
> > \ h1: index=0,type=tap,ifname=tap0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
> > virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:57
> > \ h2: index=0,type=tap,ifname=tap1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
> >
> > it's introduced by commit d33d93b2
>
> I can see that's inconvenient, but...
>
> > If we set links down by 'set_link virtio-net-pci.0', the first nic
> > will be set down. But how to set the second link down by id?
>
> As you would do for all devices? I.e., add ,id=youruniqueid to -device.
Hi KONRAD,
Your following patch just introduced a regression, 'id' assigned to -device
could not be set as net-client name.
qemu -device virtio-net-pci,netdev=ndev1,id=id1 -netdev tap,id=ndev1 \
-device e1000,netdev=ndev2,id=id2 -netdev tap,id=ndev2
(qemu) info network
virtio-net-device.0: index=0,type=nic,model=virtio-net-device,macaddr=52:54:00:12:34:56
\ ndev1: index=0,type=tap,ifname=tap0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
id2: index=0,type=nic,model=e1000,macaddr=52:54:00:12:34:57
\ ndev2: index=0,type=tap,ifname=tap1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
===============================================
commit 1773d9ee6e7138e3956081670215e8bc0ae14828
Author: KONRAD Frederic <fred.konrad@greensocs.com>
Date: Thu Apr 11 16:30:02 2013 +0200
virtio-net: cleanup: init and exit function.
This remove old init and exit function as they are no longer needed.
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Message-id: 1365690602-22729-8-git-send-email-fred.konrad@greensocs.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
commit 17a0ca55657114c055cb407291c1163e09b29973
Author: KONRAD Frederic <fred.konrad@greensocs.com>
Date: Thu Apr 11 16:30:01 2013 +0200
virtio-net: cleanup: use QOM cast.
As the virtio-net-pci and virtio-net-s390 are switched to the new API,
we can use QOM casts.
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Message-id: 1365690602-22729-7-git-send-email-fred.konrad@greensocs.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
commit 89334c8b6baebb1e84cd9bb6e796683e53391769
Author: KONRAD Frederic <fred.konrad@greensocs.com>
Date: Thu Apr 11 16:30:00 2013 +0200
virtio-net-ccw: switch to the new API.
Here the virtio-net-ccw is modified for the new API. The device
virtio-net-ccw extends virtio-ccw-device as before. It creates and
connects a virtio-net-device during the init. The properties are not modified.
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Message-id: 1365690602-22729-6-git-send-email-fred.konrad@greensocs.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
commit 74b4fe3d79098b72813e461af565557bb5d35649
Author: KONRAD Frederic <fred.konrad@greensocs.com>
Date: Thu Apr 11 16:29:59 2013 +0200
virtio-net-s390: switch to the new API.
Here the virtio-net-s390 is modified for the new API. The device
virtio-net-s390 extends virtio-s390-device as before. It creates and
connects a virtio-net-device during the init. The properties are not modified.
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Message-id: 1365690602-22729-5-git-send-email-fred.konrad@greensocs.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
commit e37da3945fa2fde161e1b217f937fc318c4b7639
Author: KONRAD Frederic <fred.konrad@greensocs.com>
Date: Thu Apr 11 16:29:58 2013 +0200
virtio-net-pci: switch to the new API.
Here the virtio-net-pci is modified for the new API. The device
virtio-net-pci extends virtio-pci. It creates and connects a
virtio-net-device during the init. The properties are not changed.
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Message-id: 1365690602-22729-4-git-send-email-fred.konrad@greensocs.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
commit 17ec5a8686143da66208273d355f2eeb09807614
Author: KONRAD Frederic <fred.konrad@greensocs.com>
Date: Thu Apr 11 16:29:57 2013 +0200
virtio-net: add the virtio-net device.
Create virtio-net-device which extends virtio-device, so it can be connected on
virtio-bus.
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Message-id: 1365690602-22729-3-git-send-email-fred.konrad@greensocs.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
commit 6a87acf7df4b31ca0896b95b86dac9698420a9ed
Author: KONRAD Frederic <fred.konrad@greensocs.com>
Date: Thu Apr 11 16:29:56 2013 +0200
virtio: add two functions to VirtioDeviceClass.
Recent changes need two functions to VirtioDevice. This just add them
into VirtioDeviceClass.
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Message-id: 1365690602-22729-2-git-send-email-fred.konrad@greensocs.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
--
Amos.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] 'id' assigned to -device could not be set as net-client name (was Re: Nic devices' name are wrongly repeated)
2013-04-18 8:19 ` [Qemu-devel] 'id' assigned to -device could not be set as net-client name (was Re: Nic devices' name are wrongly repeated) Amos Kong
@ 2013-04-18 9:12 ` KONRAD Frédéric
2013-04-18 9:47 ` Amos Kong
0 siblings, 1 reply; 13+ messages in thread
From: KONRAD Frédéric @ 2013-04-18 9:12 UTC (permalink / raw)
To: Amos Kong
Cc: Anthony Liguori, qemu-devel, Gerd Hoffmann, Stefan Hajnoczi,
Paolo Bonzini, Andreas Färber
On 18/04/2013 10:19, Amos Kong wrote:
> On Wed, Apr 10, 2013 at 02:28:40PM +0200, Andreas Färber wrote:
>> Hi,
>>
>> Am 10.04.2013 14:05, schrieb Amos Kong:
>>> If we don't assign 'id' for nic device, device name will be $model.$idx. The $idx are always 0 if we set nic by new style.
>>>
>>> # qemu-upstream -device virtio-net-pci,netdev=h1 -netdev tap,id=h1 -device virtio-net-pci,netdev=h2 -netdev tap,id=h2 ...
>>> (qemu) info network
>>> virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
>>> \ h1: index=0,type=tap,ifname=tap0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
>>> virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:57
>>> \ h2: index=0,type=tap,ifname=tap1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
>>>
>>> it's introduced by commit d33d93b2
>> I can see that's inconvenient, but...
>>
>>> If we set links down by 'set_link virtio-net-pci.0', the first nic
>>> will be set down. But how to set the second link down by id?
>> As you would do for all devices? I.e., add ,id=youruniqueid to -device.
>
> Hi KONRAD,
>
> Your following patch just introduced a regression, 'id' assigned to -device
> could not be set as net-client name.
A regression from "net: make nic name unique" ?
>
> qemu -device virtio-net-pci,netdev=ndev1,id=id1 -netdev tap,id=ndev1 \
> -device e1000,netdev=ndev2,id=id2 -netdev tap,id=ndev2
>
> (qemu) info network
> virtio-net-device.0: index=0,type=nic,model=virtio-net-device,macaddr=52:54:00:12:34:56
> \ ndev1: index=0,type=tap,ifname=tap0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
> id2: index=0,type=nic,model=e1000,macaddr=52:54:00:12:34:57
> \ ndev2: index=0,type=tap,ifname=tap1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
yes :/, that seems to be the side effect of cutting virtio-net-pci in
virtio-net-pci + virtio-net-device.
Here virtio-net-device is the network device as you see in info network.
virtio-net-pci isn't anymore.
I wonder how to solve that as we can't duplicate the id.
I will take a look.
Fred
>
>
> ===============================================
> commit 1773d9ee6e7138e3956081670215e8bc0ae14828
> Author: KONRAD Frederic <fred.konrad@greensocs.com>
> Date: Thu Apr 11 16:30:02 2013 +0200
>
> virtio-net: cleanup: init and exit function.
>
> This remove old init and exit function as they are no longer needed.
>
> Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
> Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
> Message-id: 1365690602-22729-8-git-send-email-fred.konrad@greensocs.com
> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
>
> commit 17a0ca55657114c055cb407291c1163e09b29973
> Author: KONRAD Frederic <fred.konrad@greensocs.com>
> Date: Thu Apr 11 16:30:01 2013 +0200
>
> virtio-net: cleanup: use QOM cast.
>
> As the virtio-net-pci and virtio-net-s390 are switched to the new API,
> we can use QOM casts.
>
> Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
> Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
> Message-id: 1365690602-22729-7-git-send-email-fred.konrad@greensocs.com
> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
>
> commit 89334c8b6baebb1e84cd9bb6e796683e53391769
> Author: KONRAD Frederic <fred.konrad@greensocs.com>
> Date: Thu Apr 11 16:30:00 2013 +0200
>
> virtio-net-ccw: switch to the new API.
>
> Here the virtio-net-ccw is modified for the new API. The device
> virtio-net-ccw extends virtio-ccw-device as before. It creates and
> connects a virtio-net-device during the init. The properties are not modified.
>
> Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
> Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
> Message-id: 1365690602-22729-6-git-send-email-fred.konrad@greensocs.com
> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
>
> commit 74b4fe3d79098b72813e461af565557bb5d35649
> Author: KONRAD Frederic <fred.konrad@greensocs.com>
> Date: Thu Apr 11 16:29:59 2013 +0200
>
> virtio-net-s390: switch to the new API.
>
> Here the virtio-net-s390 is modified for the new API. The device
> virtio-net-s390 extends virtio-s390-device as before. It creates and
> connects a virtio-net-device during the init. The properties are not modified.
>
> Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
> Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
> Message-id: 1365690602-22729-5-git-send-email-fred.konrad@greensocs.com
> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
>
> commit e37da3945fa2fde161e1b217f937fc318c4b7639
> Author: KONRAD Frederic <fred.konrad@greensocs.com>
> Date: Thu Apr 11 16:29:58 2013 +0200
>
> virtio-net-pci: switch to the new API.
>
> Here the virtio-net-pci is modified for the new API. The device
> virtio-net-pci extends virtio-pci. It creates and connects a
> virtio-net-device during the init. The properties are not changed.
>
> Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
> Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
> Message-id: 1365690602-22729-4-git-send-email-fred.konrad@greensocs.com
> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
>
> commit 17ec5a8686143da66208273d355f2eeb09807614
> Author: KONRAD Frederic <fred.konrad@greensocs.com>
> Date: Thu Apr 11 16:29:57 2013 +0200
>
> virtio-net: add the virtio-net device.
>
> Create virtio-net-device which extends virtio-device, so it can be connected on
> virtio-bus.
>
> Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
> Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
> Message-id: 1365690602-22729-3-git-send-email-fred.konrad@greensocs.com
> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
>
> commit 6a87acf7df4b31ca0896b95b86dac9698420a9ed
> Author: KONRAD Frederic <fred.konrad@greensocs.com>
> Date: Thu Apr 11 16:29:56 2013 +0200
>
> virtio: add two functions to VirtioDeviceClass.
>
> Recent changes need two functions to VirtioDevice. This just add them
> into VirtioDeviceClass.
>
> Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
> Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
> Message-id: 1365690602-22729-2-git-send-email-fred.konrad@greensocs.com
> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
>
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] 'id' assigned to -device could not be set as net-client name (was Re: Nic devices' name are wrongly repeated)
2013-04-18 9:12 ` KONRAD Frédéric
@ 2013-04-18 9:47 ` Amos Kong
2013-04-18 10:03 ` KONRAD Frédéric
0 siblings, 1 reply; 13+ messages in thread
From: Amos Kong @ 2013-04-18 9:47 UTC (permalink / raw)
To: KONRAD Frédéric
Cc: Anthony Liguori, qemu-devel, Gerd Hoffmann, Stefan Hajnoczi,
Paolo Bonzini, Andreas Färber
On Thu, Apr 18, 2013 at 11:12:56AM +0200, KONRAD Frédéric wrote:
> On 18/04/2013 10:19, Amos Kong wrote:
> >On Wed, Apr 10, 2013 at 02:28:40PM +0200, Andreas Färber wrote:
> >>Hi,
> >>
> >>Am 10.04.2013 14:05, schrieb Amos Kong:
> >>>If we don't assign 'id' for nic device, device name will be $model.$idx. The $idx are always 0 if we set nic by new style.
> >>>
> >>># qemu-upstream -device virtio-net-pci,netdev=h1 -netdev tap,id=h1 -device virtio-net-pci,netdev=h2 -netdev tap,id=h2 ...
> >>>(qemu) info network
> >>>virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
> >>> \ h1: index=0,type=tap,ifname=tap0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
> >>>virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:57
> >>> \ h2: index=0,type=tap,ifname=tap1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
> >>>
> >>>it's introduced by commit d33d93b2
> >>I can see that's inconvenient, but...
> >>
> >>>If we set links down by 'set_link virtio-net-pci.0', the first nic
> >>>will be set down. But how to set the second link down by id?
> >>As you would do for all devices? I.e., add ,id=youruniqueid to -device.
> >
> >Hi KONRAD,
> >
> > Your following patch just introduced a regression, 'id' assigned to -device
> > could not be set as net-client name.
>
> A regression from "net: make nic name unique" ?
No, regression caused by commit: e37da3945fa2fde161e1b217f937fc318c4b7639
> >qemu -device virtio-net-pci,netdev=ndev1,id=id1 -netdev tap,id=ndev1 \
> > -device e1000,netdev=ndev2,id=id2 -netdev tap,id=ndev2
> >
> >(qemu) info network
> >virtio-net-device.0: index=0,type=nic,model=virtio-net-device,macaddr=52:54:00:12:34:56
> > \ ndev1: index=0,type=tap,ifname=tap0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
> >id2: index=0,type=nic,model=e1000,macaddr=52:54:00:12:34:57
> > \ ndev2: index=0,type=tap,ifname=tap1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
>
> yes :/, that seems to be the side effect of cutting virtio-net-pci in
>
> virtio-net-pci + virtio-net-device.
>
> Here virtio-net-device is the network device as you see in info network.
>
> virtio-net-pci isn't anymore.
>
> I wonder how to solve that as we can't duplicate the id.
If we don't assign 'id' for -device, the net-client name will be auto
generated (not duplicated).
Before your commit e37da394, user assigned 'id' will be record to
(DeviceState *)dev->id, it will be used in qemu_new_nic().
> I will take a look.
> > Fred
--
Amos.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] 'id' assigned to -device could not be set as net-client name (was Re: Nic devices' name are wrongly repeated)
2013-04-18 9:47 ` Amos Kong
@ 2013-04-18 10:03 ` KONRAD Frédéric
0 siblings, 0 replies; 13+ messages in thread
From: KONRAD Frédéric @ 2013-04-18 10:03 UTC (permalink / raw)
To: Amos Kong
Cc: Anthony Liguori, qemu-devel, Gerd Hoffmann, Stefan Hajnoczi,
Paolo Bonzini, Andreas Färber
On 18/04/2013 11:47, Amos Kong wrote:
> On Thu, Apr 18, 2013 at 11:12:56AM +0200, KONRAD Frédéric wrote:
>> On 18/04/2013 10:19, Amos Kong wrote:
>>> On Wed, Apr 10, 2013 at 02:28:40PM +0200, Andreas Färber wrote:
>>>> Hi,
>>>>
>>>> Am 10.04.2013 14:05, schrieb Amos Kong:
>>>>> If we don't assign 'id' for nic device, device name will be $model.$idx. The $idx are always 0 if we set nic by new style.
>>>>>
>>>>> # qemu-upstream -device virtio-net-pci,netdev=h1 -netdev tap,id=h1 -device virtio-net-pci,netdev=h2 -netdev tap,id=h2 ...
>>>>> (qemu) info network
>>>>> virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
>>>>> \ h1: index=0,type=tap,ifname=tap0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
>>>>> virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:57
>>>>> \ h2: index=0,type=tap,ifname=tap1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
>>>>>
>>>>> it's introduced by commit d33d93b2
>>>> I can see that's inconvenient, but...
>>>>
>>>>> If we set links down by 'set_link virtio-net-pci.0', the first nic
>>>>> will be set down. But how to set the second link down by id?
>>>> As you would do for all devices? I.e., add ,id=youruniqueid to -device.
>>> Hi KONRAD,
>>>
>>> Your following patch just introduced a regression, 'id' assigned to -device
>>> could not be set as net-client name.
>> A regression from "net: make nic name unique" ?
> No, regression caused by commit: e37da3945fa2fde161e1b217f937fc318c4b7639
>
>>> qemu -device virtio-net-pci,netdev=ndev1,id=id1 -netdev tap,id=ndev1 \
>>> -device e1000,netdev=ndev2,id=id2 -netdev tap,id=ndev2
>>>
>>> (qemu) info network
>>> virtio-net-device.0: index=0,type=nic,model=virtio-net-device,macaddr=52:54:00:12:34:56
>>> \ ndev1: index=0,type=tap,ifname=tap0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
>>> id2: index=0,type=nic,model=e1000,macaddr=52:54:00:12:34:57
>>> \ ndev2: index=0,type=tap,ifname=tap1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
>> yes :/, that seems to be the side effect of cutting virtio-net-pci in
>>
>> virtio-net-pci + virtio-net-device.
>>
>> Here virtio-net-device is the network device as you see in info network.
>>
>> virtio-net-pci isn't anymore.
>>
>> I wonder how to solve that as we can't duplicate the id.
> If we don't assign 'id' for -device, the net-client name will be auto
> generated (not duplicated).
>
> Before your commit e37da394, user assigned 'id' will be record to
> (DeviceState *)dev->id, it will be used in qemu_new_nic().
Yes sure, what I mean, is:
virtio-net-pci actually get the id and is not the nic device anymore.
and virtio-net-pci create the new virtio-net-device which has no id
(so it is autogenerated).
That's why you didn't the id in info network.
>> I will take a look.
>>> Fred
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [PATCH v2] net: make network client name unique
2013-04-15 10:55 ` [Qemu-devel] [PATCH v2] net: make network client " Amos Kong
@ 2013-04-18 11:25 ` Stefan Hajnoczi
0 siblings, 0 replies; 13+ messages in thread
From: Stefan Hajnoczi @ 2013-04-18 11:25 UTC (permalink / raw)
To: Amos Kong; +Cc: qemu-devel
On Mon, Apr 15, 2013 at 06:55:19PM +0800, Amos Kong wrote:
> assign_name() creates a name MODEL.NUM, where MODEL is the client's model,
> and NUM is the number of MODELs that already exist.
>
> Markus added NIC naming for non-VLAN clients in commit 53e51d85.
> commit d33d93b2 incorrectly added a judgement of net-hub. It caused
> net clients created with -netdev get same names.
>
> eg:
> # qemu-upstream -device virtio-net-pci,netdev=h1 -netdev tap,id=h1 \
> -device virtio-net-pci,netdev=h2 -netdev tap,id=h2 ..
> (qemu) info network
> virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
> \ h1: index=0,type=tap,ifname=tap0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
> virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:57
> \ h2: index=0,type=tap,ifname=tap1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
>
> This patch removed the check of nic-hub, and created unique names for
> all net clients that have same model.
>
> v2: update commitlog & comments
>
> Signed-off-by: Amos Kong <akong@redhat.com>
> ---
> net/net.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
Thanks, applied to my net tree:
https://github.com/stefanha/qemu/commits/net
Stefan
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2013-04-18 11:25 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-10 12:05 [Qemu-devel] Nic devices' name are wrongly repeated Amos Kong
2013-04-10 12:28 ` Andreas Färber
2013-04-10 14:17 ` Amos Kong
2013-04-11 8:22 ` Stefan Hajnoczi
2013-04-11 11:58 ` [Qemu-devel] [PATCH] net: make nic name unique Amos Kong
2013-04-12 9:06 ` Stefan Hajnoczi
2013-04-12 10:50 ` Markus Armbruster
2013-04-15 10:55 ` [Qemu-devel] [PATCH v2] net: make network client " Amos Kong
2013-04-18 11:25 ` Stefan Hajnoczi
2013-04-18 8:19 ` [Qemu-devel] 'id' assigned to -device could not be set as net-client name (was Re: Nic devices' name are wrongly repeated) Amos Kong
2013-04-18 9:12 ` KONRAD Frédéric
2013-04-18 9:47 ` Amos Kong
2013-04-18 10:03 ` KONRAD Frédéric
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).