Peter Memishian wrote:
 > > wanted to also get rid of the administrative-enable/disable-address knob
 > > altogether (partially on the grounds that other Unix variants don't have
 > > it, and partially on the grounds that it's more complexity).  I think
> > Yes, and that's a valid argument in defense of interface enable/disable.
 > For example, routing daemons like quagga already have code to deal
 > with interface up/down notifications, and have historically had to
 > maintain special code to deal with the "address up/down" state.

Except that such code will still be needed to correctly deal with an
address that fails DAD -- which is my earlier point: you end up removing
flexibility without being able to actually simplify the architecture
because the state inherently exists.

We have that complexity today. What is broken today is that IFF_UP, which means administratively enabled, has been overloaded to mean operationally usable for an address since the kernel clears IFF_UP when DAD fails. That overloading is highly undesirable and should be fixed.

Prior to that being fixed the admin interface works like this:
1. ifconfig bge0 addif 10.1.2.3/24 up
2. <time goes by, admin detects that IFF_DUPLICATE was set and fixes the problem and wants to restart DAD immediately instead of waiting for IP to do this with its timer. Admin does>
3. ifconfig bge0 up

Once the overloading of IFF_UP has been fixed then there will need to be something else the admin types in #3 since IFF_UP would still be there.

If you suspend disbelief, once the above overloading has been fixed, what benefits is there in up/down of an address?

 > > being able to down/up addresses is both convenient (temporary disable
 > > without teardown) and also a reasonable mechanism to do things like
 > > retrigger DAD (not to mention that it's also going to still be possible
 > > for some time to come via ifconfig), so I'm not in favor of that.
> > If we separate the retrigger DAD functionality (which is relatively recent
 > and afaict is not a documented interface) from the IFF_UP per address
> functionality, do we actually have a valid need to down an address?
As above, I see no value in that separation: we end up with all the same
complexity but less flexibility and generality.

Am I correct in assuming you are talking about implementation complexity? I'm concerned about the complexity the admin needs to handle and due to the overloading of IFF_UP that is a lot higher than it needs to be.

   Erik

_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to