Sowmini.Varadhan at Sun.COM writes: > On (05/01/09 16:16), James Carlson wrote: > > I'm not quite sure what you meant here, but there's no need for > > administrative action to recover a DAD-failed interface. The system > > runs a timer on all DAD-failed interfaces and periodically tries to > > bring them back up. This is the solution to the "closet server" > > problem described in the design document. > > Yeah, I know. But (while you were on vacation) the argument was made > that the admin might be too impatient to wait for the restart timer > thread and would then "need" to restart DAD at will.
The system also retries DAD when the link goes up, which should cover at least some of the cases where this issue matters. Yes, if you want to retry _right now_, then the only way to do that is with some user command, and setting the interface back IFF_UP is one way to get there. > > I guess a new function could be added as well, but if nobody uses it > > on other platforms, why bother? > > I was thinking of some application like quagga that hears about a physical > interface and an address on a routing socket, and then wants to, say, > find the netmask of that address.. the "addr_to_lif()" function that > I proposed would save this application the trouble of marching down > the addrlist and doing comparisons. Currently, you can have multiple logical interfaces with the same address on a single physical address, so long as no more than one of them is "up" at any one time. I'd assume that a function like this would just ignore "down" addresses. > It would just be a minor helper function, of course. At least with the daemons I've worked on, it's effectively the opposite that's true: we know about the logical interface name, and we deal with things that happen on the logical address, and sometimes need to strip the ":N" to figure out what physical interface that corresponds to. (Worse, we need to "guess" at IPMP relationships, though that's historical now.) Even in the cases where you do look up an address to figure out what logical it belongs to, you don't just want the name; you usually want the internal data structure that represents it. Going from physical plus address to a logical name via a system library interface isn't a problem I think I've seen ... at least in daemons that need to track SIOCGIFCONF and routing sockets. But, sure, it could be added. -- James Carlson, Solaris Networking <james.d.carlson at sun.com> Sun Microsystems / 35 Network Drive 71.232W Vox +1 781 442 2084 MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677
