Send a RARP packet after migration.
authorNolan <nolan@sigbus.net>
Thu, 15 Oct 2009 23:53:55 +0000 (16:53 -0700)
committerAnthony Liguori <aliguori@us.ibm.com>
Tue, 27 Oct 2009 17:28:36 +0000 (12:28 -0500)
commitdbde5a6d5ad05226f09f0db8cacbf57f4b780257
treee2ac79258deed330f3c25e352b728a588e1064b6
parent1efe56fdb0b5f849211b70c86f329438fcdb1df9
Send a RARP packet after migration.

Currently, after a migration qemu sends a broadcast packet to update
switches' MAC->port mappings.

Unfortunately, it picks a random (constant) ethertype and crosses its
fingers that no one else is using it.

This patch causes it to send a RARP packet instead.  RARP was chosen for
2 reasons.  One, it is always harmless, and will continue to be so even
as new ethertypes are allocated.  Two, it is what VMware ESX sends, so
people who write filtering rules for switches already know about it.

I also changed the code to send SELF_ANNOUNCE_ROUNDS packets, instead of
SELF_ANNOUNCE_ROUNDS + 1, and added a simple backoff scheme.

Signed-off-by: Nolan Leake <nolan <at> sigbus.net>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
savevm.c