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?
_______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel