> > If we don't turnoff load spreading, the packets might get dropped if > > there are no non-FAILED/INACTIVE interfaces for it to go out. > > > >Specifically, it seems to me that the interface must be functioning in > >order to have data addresses and thus to receive an ICMP_ECHO_REQUEST > >message in the first place. Given that the interface is functioning, that > >means there must be at least one functioning interface for the packet to > >go out of and thus I don't see how the above comment applies. > > > True we received the echo request, but I think the assumption is that the > transmit and receive are separate paths in the NIC and could potentially > fail independently.
But if the transmit path of the interface has failed and IPMP is enabled on that interface, then in.mpathd will have already marked it IFF_FAILED. If the transmit path is not being tested (e.g., because only link-based failure detection is enabled) then the interface will not be marked IFF_FAILED and the comment above doesn't apply. (Further, this concern seems suspect, since IPMP may pick any set of hosts as probe targets, and those be running other operating systems that have no regard for the concerns of in.mpathd's probes.) Do you recall what caused this code to be added? It seems to be there since IPMP was introduced in Solaris 8. I think it either needs to be clearly justified or removed. -- meem
