Hello!
> > ANK: what you think about this ?
Function getting address list can be implemented via
/proc/net/if_inet6. The question, how to call this function getifaddrs()
or somewhat differently, does not make much of sense, because
there is no consensus in this area yet.
I would prefer KAME way, no matter, what is it. 8).
Low level ioctl() set is different question and it is not
an important question at all. I think that overloading SIOCGIFCONF
does not make much of sense in 4.3BSD framework, which Linux is.
BTW do you know how does Solaris work?
Actually, I am even not sure that creating standard high level
function getting address list is useful. All known IP applications,
using SIOCGIFCONF were hopelessly broken and must be reimplemented
to use routing socket and its analogues in non-4.4BSD systems
in any case. For IPv6, where addresses are more dynamic, it becomes
critical and function getifaddrs() only open door for bugs,
which are impossible to repaire without complete redesign
of application as rule. Standartizing evidently wrong thing
is bad idea.
> It might be done AFTER sin6_scope_id goes into the kernel.
I see no connection... If you are about to return an array of addresses
without explicit record marking, it is wrong and will not pass
in any case. We have enough of pain with SIOCGIFCONF.
> (Alexey, please, please take it into the kernel!)
I have already taken. Unfortunately, the patch, which I got at apps.ipv6
is too ugly (and, seems, wrong) to be applied in that form. It will
take a (short) time to make something reasonable and working instead...
Alexey
|