xenserver: Improve vif hotplug script for XenServer 5.7.
The vif hotplug script has the following changes:
* Read extra vif details from xenstore instead of using XenAPI.
This reduces unnecessary traffic on the pool master and is good
for scalability. This change makes the dump-vif-details script
redundant.
* Manage network tap devices (emulated network devices created by
qemu) via the hotplug script. Replaces usage
of /etc/xen/qemu-ifup (which is removed in XenServer 5.7). This
is necessary in order to receive tap deletion a well as creation
events. Modified /etc/udev/rules/xen-backend.rules also
attached.
These changes are not compatible with XenServer 5.0 since they require
changes to xapi which were made in the 5.7 branch. The first change
definitely requires xapi support while the second requires a kernel with
correctly working hotplug events on tap devices. I haven't confirmed but
I believe the 2.6.18 kernel used in XenServer 5.0 does not (old kernels
do not generate a hotplug even for a tap device until it is brought up).
The 2.6.27 kernel used in XenServer 5.7 does have usable hotplug events
on tap devices.
(Ian Campbell made all the changes to the vif scripts and xen-backend.rules
files and wrote the above commit log. Ben Pfaff updated the rest of the
file to integrate into the build.)