[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [RFC PATCH 0/4] Model specific function for nic announc
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] Re: [RFC PATCH 0/4] Model specific function for nic announcement |
Date: |
Mon, 27 Sep 2010 16:25:13 +0200 |
User-agent: |
Mutt/1.5.20 (2009-12-10) |
On Mon, Sep 27, 2010 at 08:50:44PM +0800, Jason Wang wrote:
> This series of patch tries to solve the problem of migration with nics who
> have
> multiple mac addresses or vlans. Qemu currently only send gratuitous packet
> for
> first mac address, so after migration other mac addresses or vlans were
> broken.
>
> The information of mac addresses and vlans were often stored in model specific
> structure, so a model specific function were introduced and used after
> migration during self announcement. A sample announcing function for
> virtio-net
> is also implemented in this series. Other model could be also done in this
> way. The previous method is kept for the model who does not implement model
> specific function.
>
> While there's still issues which need your comments and need to be solved.
>
> 1 Virtio specification allows filtering any number of destination mac
> addresses
> which looks impossible for the migration. Then we need to record an
> unlimited
> numbers of mac address which is not safe.
>
> 2 Virtio specification allows filtering of vlan and mac address but neither
> the
> spec nor the implementation could decide the mappings between vlans and mac
> addresses. This could make it impossible to send correct tagged gratuitous
> packet.
> For issue 1, the number of mac addresses were limited in this series.
> For issue 2, I suspect it needs the modification of guest drivers to send the
> mappings in order to make migration work. Or is there any method to get this
> without touching guest drivers? For safety, all the mac addresses were only
> announced when there's no vlan in guest which means the vlan after migration
> is
> still broken.
>
> This patchset is just an RFC and need your suggestions and comments.
>
> Thanks.
For 1, all guests actually do is on error status is print
a warning. This does not sound all that useful, does it?
I note that we also have a similar issue with promisc mode.
For 2, we could at least make it work for a common case of 1 mac,
which would already cover many users.
> ---
>
> Jason Wang (4):
> net: move announce_self_create to net.c
> net: Introduce model specific nic announce function
> virtio-net: Limit the num of uni/multicast mac addresses
> virtio-net: implement virtio-net specific announce function
>
>
> hw/virtio-net.c | 47 ++++++++++++++++++++++++++++++++++++++++++-----
> net.c | 31 +++++++++++++++++++++++++++++++
> net.h | 3 +++
> savevm.c | 42 ++++++++----------------------------------
> 4 files changed, 84 insertions(+), 39 deletions(-)
>
> --
> Jason Wang