From sacadmin Wed Jun  9 05:50:16 2004
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Date: Wed, 9 Jun 2004 08:49:40 -0400
From: James Carlson <james.d.carlson@sun.com>
To: psarc@sac.sfbay.sun.com
cc: michael.hunter@sun.com
Subject: 2004/477 IPv6 RECVDSTOPTS Compatibility
Content-Length: 3603

I'm sponsoring this fast-track request for Michael Hunter.  The timer
is set to 06/16/2004.


Background:
---------

"IPv6 Advanced Sockets API" (PSARC 2002/508) documents support for RFC
2292bis (now RFC 3542).  In S8 support for an earlier revision of RFC
2292bis had been implemented.  One difference not caught in PSARC
2002/508 between the early revision of 2292bis and the final version
were changes in the use of socket option IPV6_RECVDSTOPTS.  This case
deals with managing those differences.

2002/508 project had a Minor release binding and was integrated into
s10_47.  This case also has a Minor release binding, and changes the
Evolving (now Standard; RFC 3542) interfaces from 2002/508.  Because
2002/508 hasn't been in an actual Minor release yet, it's asserted
that these changes are proper.


Details:
-------

The IPv6 specification calls out a set of headers that can occur in
an IPv6 packet and a suggested order.  Those are:

	IPv6 header
	Hop-by-Hop Options header
	Destination Options header
	Routing header
	Fragment header
	Authentication header
	Encapsulating Security Payload header
	Destination Options header
	upper-layer header

Note that the Destination Options header can occur twice.  An
occurrence of this header before the routing header indicates it is
processed by destinations listed in the routing header and the initial
destination address field.  An occurrence of this header after the
routing header is processed by only the final destination.

In the revision of 2292bis implemented in S8, IPV6_RECVRTHDRDSTOPTS
was used to turn on receipt of the first header and IPV6_RECVDSTOPTS
was used to turn on receipt of the second header.

In the final revision of 2292bis (RFC 3542), IPV6_RECVDSTOPTS is used
to turn on both, and the user should use header ordering to figure out
which is which.

To maintain backwards binary and source compatibility,
IPV6_RECVRTHDRDSTOPTS will be restored to the functionality shipped
with S8 (this functionality was broken with 2002/508).  Note that the
KAME source base still supports this option.  IPV6_RECVRTHDRDSTOPTS is
now marked Obsolete.

For IPV6_RECVDSTOPTS we will leave the old option value in place and
restore the old semantics for binary compatibility.  But due to the
name clash we will rename it to _OLD_IPV6_RECVDSTOPTS which will be
Consolidation Private.

[Note that there will be some binary incompatibilities between
releases of Sx and previous Solaris release until the change proposed
in this case is released.]

If a program is compiled setting IPV6_RECVRTHDRDSTOPTS (old) and
IPV6_RECVDSTOPTS (new), the outcome will be to get both option headers
just as if the program had only specified IPV6_RECVDSTOPTS.  If a
program that expects the old semantics and uses only IPV6_RECVDSTOPTS
is recompiled then it will start receiving two headers.  Currently
there are not any options that should occur before the routing header
so the impact should be small.

The ip6(7P) man page will be changed:
***************
*** 163,169 ****
  
       IPV6_RECVRTHDRDSTOPTS
  	   Enable/disable  receipt  of	 the   inbound	 packet's
! 	   intermediate-hops options extension header.
  
       IPV6_RECVTCLASS
  	   Enable/disable receipt of the  traffic  class  of  the
--- 163,171 ----
  
       IPV6_RECVRTHDRDSTOPTS
  	   Enable/disable  receipt  of	 the   inbound	 packet's
! 	   intermediate-hops options extension header.  This
! 	   option is Obsolete.  IPV6_RECVDSTOPTS turns on
! 	   receipt of both destination option headers.
  
       IPV6_RECVTCLASS
  	   Enable/disable receipt of the  traffic  class  of  the

From sacadmin Wed Jun 16 11:13:45 2004
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Date: Wed, 16 Jun 2004 14:13:06 -0400
From: James Carlson <james.d.carlson@sun.com>
To: psarc@sac.sfbay.sun.com
cc: michael.hunter@sun.com
Subject: 2004/477 IPv6 RECVDSTOPTS Compatibility
Content-Length: 366

This fast-track request was approved during ARC business at today's
meeting.  The final specification is in the case directory as
'spec.txt'.

-- 
James Carlson, IP Systems Group                <james.d.carlson@sun.com>
Sun Microsystems / 1 Network Drive         71.234W   Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757   42.497N   Fax +1 781 442 1677

