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

[Xen-devel] Stimulating domains to send gratuitous ARPs


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Graham, Simon" <Simon.Graham@xxxxxxxxxxx>
  • Date: Thu, 5 Jul 2007 14:41:12 -0400
  • Cc: "Graham, Simon" <Simon.Graham@xxxxxxxxxxx>
  • Delivery-date: Thu, 05 Jul 2007 11:39:10 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: Ace/NA+Jw7uFvTqCR2GSNOwivLS3Tw==
  • Thread-topic: Stimulating domains to send gratuitous ARPs

Currently, netfront will send a gratuitous ARP when resumed at the end of a live migration/resume op. However, there are other situations when it is necessary to send a gratuitous ARP; one good example is when you bond NICs in Dom0 for availability and plug the bond into the bridge; in this case, when a failover from primary to backup NIC occurs, you need to send ARPs for all the domains VIFs on the backup link to get traffic routed correctly.

 

Now, there are a number of ways of doing this (including using ebtables in Dom0 to track IP-MAC address translations) but it seems to me that the simplest would be to have a way to poke the netfront driver to send an ARP on demand (especially given that fact that it already needs/has this functionality).

 

I’ve prototyped something fairly simple & gross based on having netfront setup a xenstore watch on a leaf in the domains vif directory in xenstore (that is, device/vif/send_arp); when the watch fires, all netfront instances send the fake ARP just like they do at the end of migration/resume. All you need to do from dom0 then is modify the leaf with xenstore-write/xenstore-rm.

 

I accept that this is not very nice and we should probably have a more organized/documented way to do this but I’m not sure what would be appropriate; any suggestions?

 

Thanks

Simon

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.