>>>>> On Mon, 17 Sep 2001 21:06:23 +0200 (CEST), 
>>>>> Erik Nordmark <[EMAIL PROTECTED]> said:

>> For RAW sockets, an application can use any procotol for IPv4.  In IPv6, I
>> imagine there are problems if a RAW application opens a socket and uses a
>> known IPv6 extension header number as the protocol since now the IP layer
>> will expect that next header field to be an extension header.  Therefore,
>> is it a restriction now that an IPv6 RAW application cannot use an known
>> IPv6 extension header as the protocol on the socket call?

> Good question.

> I suspect this is implementation dependent since the Advanced API is
> silent on the issue.

I think so, too.

> What do different implementations do?

KAME (perhaps unintentionally) does not allow applications to specify
a next header ID for an extension header as a socket protocol.  The
implementation has protocol switch structures for the extension header
types with specifying NULL as the corresponding user request
functions.  As a result, the kernel routing for the socket(2) call
fails, with the EPROTONOSUPPORT error, when the protocol value is one
of the extension header types.

I've checked this behavior with a tiny test program.  If you're
interested, you may be able to do the same test for your own
implementation by:
- grab the latest version at
  http://orange.kame.net/dev/cvsweb.cgi/kame/kame/kame/advapitest/
- compile the "accept" command in the test kit.
- execute "accept -P ipv6-opts" etc.
(I don't know if the test kit is portable enough, though.)

                                        JINMEI, Tatuya
                                        Communication Platform Lab.
                                        Corporate R&D Center, Toshiba Corp.
                                        [EMAIL PROTECTED]
--------------------------------------------------------------------
IETF IPng Working Group Mailing List
IPng Home Page:                      http://playground.sun.com/ipng
FTP archive:                      ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]
--------------------------------------------------------------------

Reply via email to