netdev
[Top] [All Lists]

Re: sin6_scope_id

To: sekiya@xxxxxxx (Yuji Sekiya)
Subject: Re: sin6_scope_id
From: kuznet@xxxxxxxxxxxxx
Date: Wed, 29 Dec 1999 19:07:59 +0300 (MSK)
Cc: netdev@xxxxxxxxxxx, users@xxxxxxxx, yoshfuji@xxxxxxxxxxxxxxxxx
In-reply-to: <st2902ei0wk.wl@xxxxxxxxxxxxxxxxxxxxx> from "Yuji Sekiya" at Dec 29, 99 05:53:00 pm
Sender: owner-netdev@xxxxxxxxxxx
Hello!

> We(Linux IPv6 Group in Japan) found the portability problem that
> sin6_scope_id member is missing in Linux kernel.

Yes.


> RFC2553 says in section 2.4 that follow

Linux does not follow this RFC. It complies to previous RFC.


> In case that the destination of outgoing packets is an
> IPv6 global address, kernel may select an outgoing interface as routing
> table. But in case of a link-local address, how can I select the interface
> for outgoing packets without sin6_scope_id ?

Certainly, it is IPV6_PKTINFO.

> Of course, I know the method of using SO_BINDTODEVICE, 

Or this one.

> In IPv4 environment, there are few applications which have to select an
> outgoing interface.

IP_PKTINFO.

IPv4 has the same problems as IPv6 does.

After thinking a bit, you will understand that IPv4 has both link local
and site local and all the kinds of addresses. The only difference of IPv6
is returning to brain-dead "classful" addressing, which was rejected
in IPv4 years ago.


> But IPv6, we can select one of addresses from three address types, global,
> site-local and link-local. So it is not rare case for us to specify
> an outgoing interface.

site-local addresses have no differences of global scope at all.


> Do you have any plan to add sin6_scope_id in in6.h ?

No. I really have plan to resist to this silly idea until the last
cartridge 8)8)8) And to accept the defeat 8)

Yes, I do think that this idea is deathly broken.
Application must not refer to this field and then they will be
not only portable, but also free of ambiguity.


> BTW, if we add sin6_scope_id into **ONLY LINUX KERNEL**
> or **ONLY LIBC HEADER FILE**, we encounter the problem of
> inconsistency between kernel and libc structure.

Even not commented. I do not understand at all, how struct
definitions may be got from different sources.

> If you aren't interested in the sockaddr_in6 problem,
> we would like take any solution to the problem.

IPV6_PKTINFO.

Alexey

<Prev in Thread] Current Thread [Next in Thread>