From jbeck@eng.sun.com  Tue Jun 29 12:49:32 1999
Return-Path: <jbeck@eng.sun.com>
Received: from opal.eng.sun.com by sac.eng.sun.com (SMI-8.6/SMI-SVR4)
	id MAA17020; Tue, 29 Jun 1999 12:49:31 -0700
Received: from opal (localhost [127.0.0.1])
	by opal.eng.sun.com (8.10.0.PreAlpha3+Sun/8.10.0.PreAlpha3) with ESMTP id d5TJng0179362;
	Tue, 29 Jun 1999 12:49:42 -0700 (PDT)
Message-Id: <199906291949.d5TJng0179362@opal.eng.sun.com>
X-Mailer: exmh version 2.1.0 (cvs) May 13, 1999
To: psarc@sac.eng.sun.com
Cc: Erik Nordmark <nordmark@eng.sun.com>, Jim Paugh <jpaugh@eng.sun.com>,
        John Beck <jbeck@eng.sun.com>
Subject: IPv6 over ATM (PSARC/1999/446)
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Date: Tue, 29 Jun 1999 12:49:42 -0700
From: John Beck <jbeck@eng.sun.com>
content-length: 6452

I am sponsoring this fast-track, which expires July 6, 1999.


                            IPv6 over ATM
			    Erik Nordmark
			    June 28, 1999


These interface additions are for the following two RFEs:
1163956: ifconfig never reports ethernet controller is in promiscuous mode
	 even if it is
4246024: ATM for IPv6 needs additional IP support

Some of these changes are based on the DLPI notification mechanism provided
by IP Network Multipathing (PSARC/1999/225).

The first one will be addresses by adding two new notifications using the
framework added by PSARC/1999/225:
DL_NOTE_PROMISC_ON_PHYS
			At least one DLS user attached to the ppa has enabled
			DL_PROMISC_PHYS. (Used by IP to set IFF_PROMISC.)

DL_NOTE_PROMISC_OFF_PHYS
			All of the DLS users attached to the ppa have disabled
			DL_PROMISC_PHYS. (Used by IP to clear IFF_PROMISC.)

			The default when no notification is sent is OFF.



In order for ATM to work with IPv6 there are a few things missing
relating to the differences between how IPv4 and ARP interact and how
IPv6 and Neighbor Discovery interact.
The underlying reason for these changes are the fact that IPv6 Neighbor
Discovery is essentially a part of IP, which is quite different than
the IPv4/ARP separation in functionality. This implies that IP needs
to be more tied in with link-layer address formats etc and these
proposed changes accomplish that goal without having to hard code
knowledge of specific link layers in IP.

The missing pieces are:
1. The ability to have an external address resolver for IPv6.
	This will be done by adding IFF_XRESOLV and the "xresolv" ifconfig 
	command. Enabling this will make IP send AR_ messages to the resolver.

2. The ability to resolve from the address in a ND link layer address option
   to a DL_UNITDATA_REQ.
	This will be done by adding the AR_ENTRY_LLAQUERY message.
	(Note that AR_ENTRY_SQUERY will be used to map from (multicast) IPv6 
	addresses to DL_UNITDATA_REQ messages.)

3. The ability for IP to get the IPv6 address token from the device driver.
   (Currently IP uses hardcoded rules to construct tokens for IEEE 802 style
   interfaces. We do not want to hard-code the ATM specific token generation
   rules in IP.)
	This will be done by adding the DL_IPV6_TOKEN flag for
	dl_phys_addr_req.

4. The ability for IP to get the local link-layer address in the format
   that is used in the Neighbor Discovery Link-layer address options.
   (Currently IP uses hardcoded rules to construct these options for IEEE 802 
   style interfaces.)
	This will be done by adding the DL_IPV6_LINK_LAYER_ADDR flag for 
	dl_phys_addr_req.

5. Additional DLPI notifications when the physical address changes
	DL_NOTE_PHYS_ADDR using the dl_notify_ind specified in PSARC/1999/225.

6. Additional DLPI notifications for the MTU size
	DL_NOTE_SDU_SIZE using the dl_notify_ind specified in PSARC/1999/225.


The following interfaces are imported:

        _________________________________________________________________
        | Imported Interfaces                                           |
        |_______________________________________________________________|
        |Interface         |  Classification|       Comments            |
        |__________________|________________|___________________________|
        |IFF_* flags       | Stable         | <net/if.h> if_tcp(7P)     |
        |SIOC?LIF* ioctls  | Stable         | <sys/sockio.h> if_tcp(7P) |
        |DL_NOTIFY_REQ     | Evolving       | dl_notify_req_t           |
        |DL_NOTIFY_ACK     | Evolving       | dl_notify_ack_t           |
        |DL_NOTIFY_IND     | Evolving       | dl_notify_ind_t           |
        |DL_NOTE_*         | Evolving       | PSARC/1999/225            |
        |_______________________________________________________________|


The project adds new interfaces in the following areas:

        _________________________________________________________________
        | DLPI extensions                                               |
        |_______________________________________________________________|
        |Interface                 |  Classification|       Comments    |
        |__________________________|________________|___________________|
        |DL_NOTE_PROMISC_ON_PHYS   | Evolving       | dl_notify_*_t     |
        |DL_NOTE_PROMISC_OFF_PHYS  | Evolving       | dl_notify_*_t     |
        |DL_NOTE_PHYS_ADDR         | Evolving       | dl_notify_*_t     |
        |DL_NOTE_SDU_SIZE          | Evolving       | dl_notify_*_t     |
        |DL_IPV6_TOKEN             | Evolving       | dl_phys_addr_req  |
        |DL_IPV6_LINK_LAYER_ADDR   | Evolving       | dl_phys_addr_req  |
        |_______________________________________________________________|

        _________________________________________________________________
        | New if_tcp(1m) ioctls and fields (In <net/if.h>)              |
        |_______________________________________________________________|
        |Interface         |  Classification|       Comments            |
        |__________________|________________|___________________________|
        |IFF_XRESOLV       |  Stable        | Applies to physical if    |
        |_______________________________________________________________|

        _________________________________________________________________
        | New ifconfig(1m) subcommands                                  |
        |_______________________________________________________________|
        |Interface         |  Classification|       Comments            |
        |__________________|________________|___________________________|
        |xresolv           |  Stable        | Enable IFF_XRESOLV        |
        |-xresolv          |  Stable        | Disable IFF_XRESOLV       |
        |__________________|________________|___________________________|



        _________________________________________________________________
        | Extensions to contract private AR_* between IP and Sun ATM *) |
        |_______________________________________________________________|
        |Interface         |  Classification  |       Comments          |
        |__________________|__________________|_________________________|
        |AR_ENTRY_LLAQUERY | Contract private | Uses arel_t structure   |
        |_______________________________________________________________|

*) I haven't found an ARC case number for the interfaces.

From jbeck@eng.sun.com  Tue Jul  6 18:06:37 1999
To: psarc@sac.eng.sun.com
Cc: Erik Nordmark <nordmark@eng.sun.com>, Jim Paugh <jpaugh@eng.sun.com>,
        John Beck <jbeck@eng.sun.com>
Subject: Re: IPv6 over ATM (PSARC/1999/446) 
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Date: Tue, 06 Jul 1999 18:06:48 -0700
From: John Beck <jbeck@eng.sun.com>
Content-Length: 216

> I am sponsoring this fast-track, which expires July 6, 1999.
> 
>                           IPv6 over ATM
> 			    Erik Nordmark

As there have been no comments, I have marked this case "closed approved".

-- John

