From sacadmin Thu Mar 22 07:12:17 2007
Received: from sac.sfbay.sun.com (localhost [127.0.0.1])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id l2MECHf8004860;
	Thu, 22 Mar 2007 07:12:17 -0700 (PDT)
Received: (from cth@localhost)
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6/Submit) id l2MECHvX004856;
	Thu, 22 Mar 2007 07:12:17 -0700 (PDT)
Date: Thu, 22 Mar 2007 07:12:17 -0700 (PDT)
From: Christopher Horne <cth@sac.sfbay.sun.com>
Message-Id: <200703221412.l2MECHvX004856@sac.sfbay.sun.com>
To: PSARC@sac.sfbay.sun.com
Cc: david.kahn@sun.com, sumit.gupta@sun.com
Subject: path-oriented driver alias [PSARC/2007/176 Timeout:  03/29/2007]
Status: RO
Content-Length: 4920

I am sponsoring this following fasttrack for myself, requesting patch
binding and a timeout of 03/29/2007.


Subject: PSARC FastTrack [03/29/2007]: path-oriented driver alias


Template Version: @(#)sac_nextcase %I% %G% SMI
This information is Copyright 2007 Sun Microsystems, Inc.
1. Introduction
    1.1. Project/Component Working Name:
	 path-oriented driver alias
    1.2. Name of Document Author/Supplier:
	 Author:  Chris Horne
    1.3  Date of This Document:
	22 March, 2007
4. Technical Description

   4.1  Background

	Driver aliases are defined by add_drv(1M) and update_drv(1M)
	'-i' option use. Solaris uses the highest precedence IEEE-1275
	'compatible' form with an 'alias' mapping to select a driver
	for a device.

	Solaris currently lacks a mechanism to allow separate device
	instances with identical compatible properties to bind to
	different drivers. A way to overcome this limitation is
	needed.  In addition to being useful during driver development,
	generic hardware may support firmware download that, depending
	on download, presents different functions and interfaces to a
	Solaris driver.

	Future storage appliance configurations will encounter this
	firmware download situation with Fiber Channel connectivity.
	In a storage appliance one instance of FC hardware may need to
	bind to a SCSA HBA driver providing traditional SCSI initiator
	role services, and it's twin may need to bind to a different
	driver to implement SCSI target role services. The initiator
	transports solicited data, the target transports unsolicited
	data: this completely changes driver operation. Different
	firmware for initiator .vs. target operation is downloaded by
	the driver to generic hardware.

    4.2 Proposal

	To address this deficiency, the proposal is to implement a new
	path-oriented alias form where the alias *is* the path below
	/devices to the device. Kernel code will check for a
	path-oriented alias driver binding. If such a binding exists,
	it takes precedence over all IEEE-1275 'compatible' property
	driver bindings.

	A path-oriented alias is configuration specific, and should
	only be used by driver developers to aid in development and
	testing of new driver code, or indirectly by higher level
	configuration utilities.

	For the storage appliance example above, an administrative
	configuration utility will likely be used to establish the
	initiator .vs. target role, with its low level implementation
	based on path-oriented aliases.

	The update_drv(1M) man page will be modified to describe
	path-oriented alias.

	To avoid reboots, kernel code associated with update_drv will
	be enhanced to allow rebinding to a new driver without reboot
	(assuming the device is not in use).

    4.3 Example

	1: On a system with two "pci1077,2200" Qlogic FC cards with
	   paths "/pci@8,600000/SUNW,qlc@4" and
	   "/pci@8,700000/SUNW,qlc@2", to bind the first path to the
	   "qlt" driver instead of the "qlc" driver, the following
	   command could be used:

	   # update_drv -a -i '"/pci@8,600000/SUNW,qlc@4"' qlt

	2: Sequence for testing a new version of ssd driver on root
	device.

	   # cp /kernel/drv/ssd.conf /kernel/drv/xssd.conf
	   # cp <proto>/kernel/drv/sparcv9/ssd /kernel/drv/sparcv9/xssd
	   # mount | grep "/ "
	   / on /dev/dsk/c1t1d0s0 ...
	   # ls -l /dev/dsk/c1t1d0s0
	   ... -> /pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w2100000c50568a97,0:a
	   # add_drv -i '"/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w2100000c50568a97,0" "/pci@8,600000/SUNW,qlc@4/fp@0,0/disk@w2100000c50568a97,0"' xssd
	   # reboot
		<reboot>
	   # prtconf -vD | grep xssd
               ssd, instance #0 (driver name: xssd)
                           value='id1,xssd@n2000000c50568a97'

	   NOTE: For root use, both "ssd" and "disk" paths are needed
	   as aliases because generic name inconsistencies between boot
	   environment and Solaris currently exist, especially for
	   sparc.

    4.4 Interface Table

	------------------------------------------------------------------------
	Interface		  Level			Comments
	------------------------------------------------------------------------

	path-oriented alias        Uncommitted		Allow an 'alias' to
							be path below /devices


    4.5 Changes to update_drv(1M) man page:

  *** 212,218 ****
  --- 209,222 ----
           example#   update_drv -a -P net_tcp -p \
               'write_priv_set=net_tcp read_priv_set=net_tcp' tcp
  
  +        Example 6 Establish a Path-oriented Alias
    
  +        The following command establishes a path-oriented alias
  +        to force a specific driver, qlt, to be used for a particular
  +        device path.
  +   
  +           update_drv -a -i '"/pci@8,600000/SUNW,qlc@4"' qlt
  +   
      EXIT STATUS
         The following exit values are returned:

6. Resources and Schedule
    6.4. Steering Committee requested information
   	6.4.1. Consolidation C-team Name:
		ON
    6.5. ARC review type: FastTrack

From sacadmin Thu Mar 22 10:13:22 2007
Received: from sfbaymail1sca.SFBay.Sun.COM (sfbaymail1sca.SFBay.Sun.COM [129.145.154.35])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id l2MHDM8I010013;
	Thu, 22 Mar 2007 10:13:22 -0700 (PDT)
Received: from gmp-ea-fw-1.sun.com (gmpes-gis-mail-1.UK.Sun.COM [129.156.42.5])
	by sfbaymail1sca.SFBay.Sun.COM (8.13.6+Sun/8.13.6/ENSMAIL,v2.2) with ESMTP id l2MHDL6Y029693;
	Thu, 22 Mar 2007 10:13:22 -0700 (PDT)
Received: from d1-emea-09.sun.com (d1-emea-09.sun.com [192.18.2.119])
	by gmp-ea-fw-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id l2MHDF39014591;
	Thu, 22 Mar 2007 17:13:16 GMT
Received: from conversion-daemon.d1-emea-09.sun.com by d1-emea-09.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 id <0JFB00D01EE16D00@d1-emea-09.sun.com>
 (original mail from Darren.Moffat@Sun.COM); Thu,
 22 Mar 2007 17:13:15 +0000 (GMT)
Received: from [192.168.73.101] (nessieroo.force9.co.uk [81.174.224.49])
 by d1-emea-09.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 with ESMTPSA id <0JFB00CP0EI3DT40@d1-emea-09.sun.com>; Thu,
 22 Mar 2007 17:13:15 +0000 (GMT)
Date: Thu, 22 Mar 2007 17:13:15 +0000
From: Darren J Moffat <Darren.Moffat@Sun.COM>
Subject: Re: path-oriented driver alias [PSARC/2007/176 Timeout:  03/29/2007]
In-reply-to: <200703221412.l2MECHvX004856@sac.sfbay.sun.com>
Sender: Darren.Moffat@Sun.COM
To: Christopher Horne <cth@sac.sfbay.sun.com>
Cc: PSARC@sac.sfbay.sun.com, david.kahn@Sun.COM, Sumit.Gupta@Sun.COM
Message-id: <4602B92B.4030702@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
References: <200703221412.l2MECHvX004856@sac.sfbay.sun.com>
User-Agent: Thunderbird 1.5.0.8 (X11/20061127)
Status: RO
Content-Length: 170

Any reason this is a closed fast-track ?  If not please make it open by 
changing the Exposure entry in the IAM file and resent to PSARC-EXT@sun.com.

--
Darren J Moffat

From cth@sac.sfbay.sun.com Thu Mar 22 20:15:52 2007
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id l2N3FpjC027403
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 22 Mar 2007 20:15:52 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail5.uk.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id l2N3Fjr6004850
	for <@sunmail1brm.central.sun.com:PSARC-EXT@sun.com>; Fri, 23 Mar 2007 03:15:51 GMT
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JFC00B016EDGI00@brm-avmta-1.central.sun.com> for PSARC-EXT@sun.com
 (ORCPT PSARC-EXT@sun.com); Thu, 22 Mar 2007 21:15:49 -0600 (MDT)
Received: from sac.sfbay.sun.com ([129.146.175.66])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JFC00MBE6EDYKE0@brm-avmta-1.central.sun.com> for
 PSARC-EXT@sun.com (ORCPT PSARC-EXT@sun.com); Thu,
 22 Mar 2007 21:15:49 -0600 (MDT)
Received: from sac.sfbay.sun.com (localhost [127.0.0.1])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id l2N3Fma7027400	for
 <PSARC-EXT@sun.com>; Thu, 22 Mar 2007 20:15:48 -0700 (PDT)
Received: (from cth@localhost)	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6/Submit)
 id l2N3Fm2g027399	for PSARC-EXT@sun.com; Thu, 22 Mar 2007 20:15:48 -0700 (PDT)
Date: Thu, 22 Mar 2007 20:15:48 -0700 (PDT)
From: Christopher Horne <cth@sac.sfbay.sun.com>
Subject: path-oriented driver alias [PSARC/2007/176 Timeout:  03/29/2007]
To: PSARC-EXT@sun.com
Message-id: <200703230315.l2N3Fm2g027399@sac.sfbay.sun.com>
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
Status: RO
Content-Length: 4989

[[resend to PSARC-EXT@sun.com instead of PSARC@sac.sfbay.sun.com]]

I am sponsoring this following fasttrack for myself, requesting patch
binding and a timeout of 03/29/2007.


Subject: PSARC FastTrack [03/29/2007]: path-oriented driver alias


Template Version: @(#)sac_nextcase %I% %G% SMI
This information is Copyright 2007 Sun Microsystems, Inc.
1. Introduction
    1.1. Project/Component Working Name:
	 path-oriented driver alias
    1.2. Name of Document Author/Supplier:
	 Author:  Chris Horne
    1.3  Date of This Document:
	22 March, 2007
4. Technical Description

   4.1  Background

	Driver aliases are defined by add_drv(1M) and update_drv(1M)
	'-i' option use. Solaris uses the highest precedence IEEE-1275
	'compatible' form with an 'alias' mapping to select a driver
	for a device.

	Solaris currently lacks a mechanism to allow separate device
	instances with identical compatible properties to bind to
	different drivers. A way to overcome this limitation is
	needed.  In addition to being useful during driver development,
	generic hardware may support firmware download that, depending
	on download, presents different functions and interfaces to a
	Solaris driver.

	Future storage appliance configurations will encounter this
	firmware download situation with Fiber Channel connectivity.
	In a storage appliance one instance of FC hardware may need to
	bind to a SCSA HBA driver providing traditional SCSI initiator
	role services, and it's twin may need to bind to a different
	driver to implement SCSI target role services. The initiator
	transports solicited data, the target transports unsolicited
	data: this completely changes driver operation. Different
	firmware for initiator .vs. target operation is downloaded by
	the driver to generic hardware.

    4.2 Proposal

	To address this deficiency, the proposal is to implement a new
	path-oriented alias form where the alias *is* the path below
	/devices to the device. Kernel code will check for a
	path-oriented alias driver binding. If such a binding exists,
	it takes precedence over all IEEE-1275 'compatible' property
	driver bindings.

	A path-oriented alias is configuration specific, and should
	only be used by driver developers to aid in development and
	testing of new driver code, or indirectly by higher level
	configuration utilities.

	For the storage appliance example above, an administrative
	configuration utility will likely be used to establish the
	initiator .vs. target role, with its low level implementation
	based on path-oriented aliases.

	The update_drv(1M) man page will be modified to describe
	path-oriented alias.

	To avoid reboots, kernel code associated with update_drv will
	be enhanced to allow rebinding to a new driver without reboot
	(assuming the device is not in use).

    4.3 Example

	1: On a system with two "pci1077,2200" Qlogic FC cards with
	   paths "/pci@8,600000/SUNW,qlc@4" and
	   "/pci@8,700000/SUNW,qlc@2", to bind the first path to the
	   "qlt" driver instead of the "qlc" driver, the following
	   command could be used:

	   # update_drv -a -i '"/pci@8,600000/SUNW,qlc@4"' qlt

	2: Sequence for testing a new version of ssd driver on root
	device.

	   # cp /kernel/drv/ssd.conf /kernel/drv/xssd.conf
	   # cp <proto>/kernel/drv/sparcv9/ssd /kernel/drv/sparcv9/xssd
	   # mount | grep "/ "
	   / on /dev/dsk/c1t1d0s0 ...
	   # ls -l /dev/dsk/c1t1d0s0
	   ... -> /pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w2100000c50568a97,0:a
	   # add_drv -i '"/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w2100000c50568a97,0" "/pci@8,600000/SUNW,qlc@4/fp@0,0/disk@w2100000c50568a97,0"' xssd
	   # reboot
		<reboot>
	   # prtconf -vD | grep xssd
               ssd, instance #0 (driver name: xssd)
                           value='id1,xssd@n2000000c50568a97'

	   NOTE: For root use, both "ssd" and "disk" paths are needed
	   as aliases because generic name inconsistencies between boot
	   environment and Solaris currently exist, especially for
	   sparc.

    4.4 Interface Table

	------------------------------------------------------------------------
	Interface		  Level			Comments
	------------------------------------------------------------------------

	path-oriented alias        Uncommitted		Allow an 'alias' to
							be path below /devices


    4.5 Changes to update_drv(1M) man page:

  *** 212,218 ****
  --- 209,222 ----
           example#   update_drv -a -P net_tcp -p \
               'write_priv_set=net_tcp read_priv_set=net_tcp' tcp
  
  +        Example 6 Establish a Path-oriented Alias
    
  +        The following command establishes a path-oriented alias
  +        to force a specific driver, qlt, to be used for a particular
  +        device path.
  +   
  +           update_drv -a -i '"/pci@8,600000/SUNW,qlc@4"' qlt
  +   
      EXIT STATUS
         The following exit values are returned:

6. Resources and Schedule
    6.4. Steering Committee requested information
   	6.4.1. Consolidation C-team Name:
		ON
    6.5. ARC review type: FastTrack


From Chris.Horne@sun.com Thu Mar 29 07:08:28 2007
Received: from sunmail2sca.sfbay.sun.com (sunmail2sca.SFBay.Sun.COM [129.145.155.234])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id l2TE8SFd005059
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 29 Mar 2007 07:08:28 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail2sca.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id l2TE8PJL018808
	for <@sunmail1brm.central.sun.com:PSARC-EXT@sun.com>; Thu, 29 Mar 2007 07:08:28 -0700 (PDT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JFO00F1H4M3XU00@brm-avmta-1.central.sun.com> for PSARC-EXT@sun.com
 (ORCPT PSARC-EXT@sun.com); Thu, 29 Mar 2007 08:08:27 -0600 (MDT)
Received: from brmea-mail-2.sun.com ([192.18.98.43])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JFO00BJ14M2ZC30@brm-avmta-1.central.sun.com> for
 PSARC-EXT@sun.com (ORCPT PSARC-EXT@sun.com); Thu,
 29 Mar 2007 08:08:26 -0600 (MDT)
Received: from fe-amer-10.sun.com ([192.18.108.184])
	by brmea-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id l2TE8QlL006508	for
 <PSARC-EXT@sun.com>; Thu, 29 Mar 2007 14:08:26 +0000 (GMT)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 id <0JFO002014IMTJ00@mail-amer.sun.com>
 (original mail from Chris.Horne@Sun.COM)
 for PSARC-EXT@sun.com (ORCPT PSARC-EXT@sun.com); Thu,
 29 Mar 2007 08:08:26 -0600 (MDT)
Received: from sun.com ([129.150.34.239])
 by mail-amer.sun.com (Sun Java System Messaging Server 6.2-6.01 (built Apr  3
 2006)) with ESMTPSA id <0JFO0057P4M2YO00@mail-amer.sun.com> for
 PSARC-EXT@sun.com (ORCPT PSARC-EXT@sun.com); Thu,
 29 Mar 2007 08:08:26 -0600 (MDT)
Date: Thu, 29 Mar 2007 08:08:26 -0600
From: Chris Horne <Chris.Horne@sun.com>
Subject: Re: path-oriented driver alias [PSARC/2007/176 Timeout:  03/29/2007]
In-reply-to: <4602B92B.4030702@Sun.COM>
Sender: Chris.Horne@sun.com
To: PSARC-EXT@sun.com
Cc: Sumit.Gupta@sun.com
Message-id: <460BC85A.90007@sun.com>
MIME-version: 1.0
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
X-Accept-Language: en-us, en
X-PMX-Version: 5.2.0.264296
References: <200703221412.l2MECHvX004856@sac.sfbay.sun.com>
 <4602B92B.4030702@Sun.COM>
User-Agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.4) Gecko/20040414
Status: RO
Content-Length: 62

This case was approved at yesterday's PSARC meeting.

-Chris


