> 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]

Reply via email to