> Overloading IFF_UP seems to create a lot of confusion here. I agree it's confusing. However, it is a flag that applications account for and even have been known to get right :-) If we go invent some new flags here, nothing outside of ON will handle them for a long, long time. We have already demonstrated this with IFF_NOFAILOVER and IFF_DEPRECATED, which were a complete failure. Adding new flags works fine when the flag is merely informative or impacts very few applications. New flags that many applications need to be updated to act on just don't work.
If we have addresses that we want applications using e.g., SIOCG[L]IFCONF and routing sockets to handle specially, and there's a reasonable default handling (e.g., applications should simply not be interested in these addresses), then I urge you to consider the model established by Clearview IPMP wherein those addresses/interfaces are simply hidden unless the application opts in with special flags ala LIFC_UNDER_IPMP / RTAW_UNDER_IPMP. > I think that if we stopped using IFF_UP for the ipifs, we'd at least > have a better chance of not confusing the listeners about what actually > went up or down. Shouldn't the model be IFA_INVALID (for the address), > IFF_UP (for the interface), and IFA_DISABLE (for an address that has > been administratively disabled- though I still don't see why a simple > address-delete is not sufficient). If I'm an admin and I've configured an address to my liking (flags, zoneid, whatever), why should I have to delete it and then recreate it later just because I want the system to stop using it for a few minutes? As another example, with current Fishworks bits we need the clustering failover between nodes to be as efficient and simple as possible. Right now that's done by configuring both nodes with identical configurations, except that half of the addresses on one node are IFF_UP on one node, and half are IFF_UP on the other node. When one node fails and the other takes over, the act of "importing" those addresses to the surviving node does the IFF_UP. If the surviving node instead needs to do all of the configuration in addition to setting the IFF_UP this will add significant complexity to the state replication model between nodes and to the actual act of failing over. -- meem _______________________________________________ networking-discuss mailing list [email protected]
