[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH 0/4] Model specific function for nic announcemen
From: |
Jason Wang |
Subject: |
[Qemu-devel] [RFC PATCH 0/4] Model specific function for nic announcement |
Date: |
Mon, 27 Sep 2010 20:50:44 +0800 |
User-agent: |
StGit/0.15 |
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.
---
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
- [Qemu-devel] [RFC PATCH 0/4] Model specific function for nic announcement,
Jason Wang <=
- [Qemu-devel] [RFC PATCH 1/4] net: move announce_self_create to net.c, Jason Wang, 2010/09/27
- [Qemu-devel] [RFC PATCH 2/4] net: Introduce model specific nic announce function, Jason Wang, 2010/09/27
- [Qemu-devel] [RFC PATCH 3/4] virtio-net: Limit the num of uni/multicast mac addresses, Jason Wang, 2010/09/27
- [Qemu-devel] [RFC PATCH 4/4] virtio-net: implement virtio-net specific announce function, Jason Wang, 2010/09/27
- [Qemu-devel] Re: [RFC PATCH 0/4] Model specific function for nic announcement, Michael S. Tsirkin, 2010/09/27