Moving this discussion exclusively to brussels-dev on popular demand. On (04/28/09 19:16), Peter Memishian wrote: > > > And we can't really suppress ~IFF_UP addresses from GLIFCONF output > > easily because then we may end up suppressing the information for > > net0 itself, and thereby confusing applications that see net0:1, net0:2 > > etc, but no net0 itself. > > Doesn't that already happen today in a zone?
yes, it does. > Stepping back, SIOCG[L]IFCONF is very hard to program to. I think we > should focus on providing better alternatives (like getifaddrs()). > Ideally, there should be an API to get usable addresses, and another to > get usable interfaces, as both the objects and the use-cases are > different. yes, it is true that GLIFCONF is a clumsy interface, and we should provide better APIs. But the fundamental problem remains: today we can "disable" (mark ~IFF_UP) or delete (removeif) any address (logical interface) except the 0'th one, for which the only option is ~IFF_UP when we wish to take it gently out of commission (without tearing down other interfaces). And being forced to leave the 0'th interface as ~IFF_UP trips up any system call (e.g. GLIFFLAGS) that would otherwise be used to find status on other OS'es. Providing better API's is nice, but it also makes us even more different, and does not reduce the work for application porting/maintenance.
