David.Edmondson at sun.com wrote: > Erik and I briefly discussed whether or not we might implement DR > inside Nemo and hide (much of) what is happening from IP (and other DL > clients). > > With the current implementation an application may fail as a result of > DR (for example, in the time period between the removal of the failed > interface and the insertion of the new interface, the IP address > associated with the interface is not available). Some of the failure > cases might be avoided if the work is done below IP.
Let me add even more discussion to this. In a Xen setup with a only virtual Ethernet driver visible in the guest OS, we actually get some more flexibility than we have in a single OS instance on the hardware today; the NIC dying might result in a 'link down' event in the guest OS, and domain zero can repair/replace the broken NIC. This is in a sense analogous to an external networking failure; if the Ethernet switch or router dies there isn't a need to ifconfig things down in order to repair things. My understanding of the Clearview vanity naming support for DR is that it still requires all the users of the device to go away (i.e., ifconfig unplumb) before the device can be DRed. If we want to have a uniform model of network devices/wires/paths coming and going, it might make sense to be able to hide NIC DR operations inside GLDv3 somewhere, so that at most IP sees a 'link down' and 'link up' from a DR operation. (Of course, there is also the case of a NIC permanently being removed, which would require IP to be unplumbed at some point in time, but not necessarily before the NIC is ripped out.) Erik