From cth@sac.sfbay.sun.com Thu Feb 12 17:14:49 2009
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n1D1EnWw024312
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 12 Feb 2009 17:14:49 -0800 (PST)
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.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id n1D1EiqS027492;
	Fri, 13 Feb 2009 01:14:48 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 <0KEZ00E03CSM1B00@brm-avmta-1.central.sun.com>; Thu,
 12 Feb 2009 18:14:46 -0700 (MST)
Received: from dm-sfbay-01.sfbay.sun.com ([129.145.155.118])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KEZ00KF2CSLSAD0@brm-avmta-1.central.sun.com>; Thu,
 12 Feb 2009 18:14:45 -0700 (MST)
Received: from sac.sfbay.sun.com (new-sac.SFBay.Sun.COM [129.146.175.65])
	by dm-sfbay-01.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2)
 with ESMTP id n1D1Eidm064091; Thu, 12 Feb 2009 17:14:44 -0800 (PST)
Received: from sac.sfbay.sun.com (localhost [127.0.0.1])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n1D1EhCK024307; Thu,
 12 Feb 2009 17:14:43 -0800 (PST)
Received: (from cth@localhost)	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8/Submit)
 id n1D1EhsC024303; Thu, 12 Feb 2009 17:14:43 -0800 (PST)
Date: Thu, 12 Feb 2009 17:14:43 -0800 (PST)
From: Christopher Horne <cth@sac.sfbay.sun.com>
Subject: ndi hidden nodes [PSARC/2009/103 Self Review]
To: PSARC-ext@sun.com
Cc: scsav3-eng@sun.com
Message-id: <200902130114.n1D1EhsC024303@sac.sfbay.sun.com>
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
Status: RO
Content-Length: 6041

I am sponsoring the following fasttrack for myself. Micro/patch binding
is requested. I believe the case qualifies for self review (since all
the interfaces are Consolidation Private) and have filed it as Closed Approved
Automatic. If there is a request, I'd be happy to convert it to a
fasttrack and set the timer to enable further discussion.

-Chris


1. Introduction
   1.1. Project/Component Working Name:
	ndi hidden nodes
   1.2. Name of Document Author/Supplier:
	Author: Chris Horne
   1.3. Date of This Document:
	Mon Feb  9 17:45:42 MST 2009

4.0 Technical Description

    A new Nexus Driver Interface (NDI) extension that allows for
    "hidden" devinfo nodes that do not appear in the /devices namespace
    or in a di_init(3DEVINFO) snapshot is proposed.

    This extension allows a nexus driver to control the visibility of
    devinfo nodes it creates in both /devices and in di_init() devinfo
    snapshots. The ability to control visibility allows a nexus to
    create children as an artifact of its discovery implementation,
    while preventing these transitory children from being seen by other
    software.

    Here are two examples of why a nexus driver may want to hide
    certain devinfo nodes:

     o  For a nexus driver that implements a dynamic bus config [1], in
	order to use a bus's existing transport mechanisms to "probe"
	and obtain both configuration and identity information about
	Self-Identifying Device children (SID ddi_dev_is_sid(9F)), a
	fully initialized and linked "probe" devinfo node is needed.

	While kernel creation and full linkage of this "probe" devinfo
	node is necessary to use an existing transport, the "probe"
	node is just an implementation artifact of a nexus driver's
	bus_config implementation, and should not show up in the
	/devices namespace or in devinfo snapshots.

	A facility is needed to allow these "probe" nodes to be created
	as hidden nodes.  After configuration and identity information
	is obtained using an initialized "probe" node, a 'real' node is
	typically created - with the probe information obtained being
	used to form the real node's 'compatible' property.

	As an example, we want common SCSAv3 bus config code (in the
	SCSA framework) to be able to DDI_CTLOPS_INITCHILD
	(tran_tgt_init(9E)) a "probe" devinfo node bound to the
	nulldriver [2] at an enumerated unit-address. Using this
	initialized "probe" node, discovery related SCSI commands (like
	INQUIRY) can be issued using an unmodified HBA transport
	implementation. The information obtained is then used to to
	construct the appropriate self-identifying SCSI target device
	node (devinfo or pathinfo) with a 'compatible' property per
	scsi(4).  The "probe" node can also be used to drive
	enumeration of LUNs associated with a target (using REPORTLUN).

     o  OBP sd(7D)/st(7D) "stub" (wildcard) nodes are an implementation
	artifact that should be hidden. These nodes do not represent
	devices, they have no addressing information. With a facility
	to mark these nodes as hidden in a driver's
	DDI_CTLOPS_INITCHILD, confusion surrounding their existence in
	the Solaris device tree can be avoided.

    The alternative approach of excluding node names that begin with
    "." from /devices and devinfo snapshots was considered but
    rejected.  While a leading "." in a node name does not violate the
    OpenFirmware specification (IEEE 1275), this approach would require
    changing the node name via ndi_devi_set_nodename() to hide OBP
    "stub" nodes.

    NOTE: ndi_devi_clr_hidden is provided for completeness, I am not
    aware of any immediate applicability.

4.5 Interfaces:

    The following private NDI extensions allow a nexus driver to
    create/mark devinfo nodes so they are excluded from /devices and
    from devinfo snapshots. These are extensions of existing ndi
    Private interfaces [3, 4]. The commitment level of the proposed
    extensions is also Sun Private.

    ------------------------------------------------------------------
    Interface Name		Comm.Lev.	Comments
    ------------------------------------------------------------------

    DEVI_SID_HIDDEN_NODEID Cons.Private New i_ddi_alloc_node nodeid
					argument used to create a node
					that should be considered an
					implementation artifact.
					Create hidden SID node.  Peer
					of DEVI_SID_NODEID.

    ndi_devi_set_hidden         "       Mark a node as hidden.  Can be
					used in initchild to hide nodes
					that lack correct addressing
					information (like stub sd OBP
					nodes) or against nodes that
					become implementation
					artifacts. Peer of interfaces
					like ndi_devi_set_nodename().

    ndi_devi_clr_hidden         "       Mark a node as not hidden.

    ndi_dev_is_hidden_node      "       Determine if a node is hidden.
					Peer of interfaces like
					ndi_dev_is_persistent_node().

    DDI_HIDDEN                  "       New devi_node_attributes bit.
					Peer of DDI_PERSISTENT.

    Prototypes:

	void	ndi_devi_set_hidden(dev_info_t *);
	void	ndi_devi_clr_hidden(dev_info_t *);
	int	ndi_dev_is_hidden_node(dev_info_t *);

4.6 Man page changes:

    None.

4.7 Release Binding

    Micro/patch binding is requested.

4.8 References

    [1] PSARC/2002/168	Bus Config
        http://sac.sfbay/PSARC/2002/168
        http://www.opensolaris.org/os/community/arc/caselog/2002/168

    [2] PSARC/2008/674	nulldriver
        http://sac.sfbay/PSARC/2008/674
        http://www.opensolaris.org/os/community/arc/caselog/2008/674

    [3] PSARC/1993/687 Hot Plugging and Dynamic Configuration
        http://sac.sfbay/PSARC/1993/687
        http://www.opensolaris.org/os/community/arc/caselog/1993/687

    [4]	PSARC/1996/409 Modifications to Solaris I/O Hotplug
        http://sac.sfbay/PSARC/1996/409
        http://www.opensolaris.org/os/community/arc/caselog/1996/409


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


From David.Kahn@sun.com Thu Feb 12 18:15:00 2009
Received: from sunmail3mpk.sfbay.sun.com (sunmail3mpk.SFBay.Sun.COM [129.146.11.52])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n1D2F0b6025569
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 12 Feb 2009 18:15:00 -0800 (PST)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail3mpk.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n1D2F0x3026509;
	Thu, 12 Feb 2009 18:15:00 -0800 (PST)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KEZ00003FKXRL00@nwk-avmta-1.sfbay.Sun.COM>; Thu,
 12 Feb 2009 18:14:57 -0800 (PST)
Received: from dm-sfbay-02.sfbay.sun.com ([129.146.11.31])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KEZ000NEFKXAA80@nwk-avmta-1.sfbay.Sun.COM>; Thu,
 12 Feb 2009 18:14:57 -0800 (PST)
Received: from dtmail.sfbay.sun.com (pkg.SFBay.Sun.COM [129.146.90.56])
	by dm-sfbay-02.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2)
 with ESMTP id n1D2EvEV030974; Thu, 12 Feb 2009 18:14:57 -0800 (PST)
Received: from [192.168.0.39] (noho.SFBay.Sun.COM [10.6.92.101])
	by dtmail.sfbay.sun.com (8.14.3+Sun/8.14.3) with ESMTP id n1D2EsaK018296; Thu,
 12 Feb 2009 18:14:54 -0800 (PST)
Date: Thu, 12 Feb 2009 18:14:29 -0800
From: David Kahn <David.Kahn@sun.com>
Subject: Re: ndi hidden nodes [PSARC/2009/103 Self Review]
To: Christopher Horne <cth@sac.sfbay.sun.com>
Cc: PSARC-ext@sun.com, scsav3-eng@sun.com
Message-id: <4994D785.70308@sun.com>
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
User-Agent: Thunderbird 2.0.0.19 (Windows/20081209)
Status: RO
Content-Length: 1179



Christopher Horne wrote:

>      o  OBP sd(7D)/st(7D) "stub" (wildcard) nodes are an implementation
> 	artifact that should be hidden. These nodes do not represent
> 	devices, they have no addressing information. With a facility
> 	to mark these nodes as hidden in a driver's
> 	DDI_CTLOPS_INITCHILD, confusion surrounding their existence in
> 	the Solaris device tree can be avoided.

I'm not sure you can hide those nodes without making
some other changes to the glue code that's used to
convert OS dev_t's and/or device pathnames to OBP
pathnames used by the reboot command and by the installers,
for example.

They really shouldn't be a problem. They don't have
unit addresses and are effectively equivalent to what
you are proposing to do, except there's only 1 per
target device type per scsi-like bus.

Will that glue code still see the obp wildcard nodes?
I'm pretty sure it needs them to get the correct target
device name. Maybe they are only needed for legacy
non-generic target device names, but I don't know if
the code distinguishes between those cases or not.

Either way, the "compatible" propval is still needed
from them for mounting root, I believe.

-David

From Chris.Horne@sun.com Fri Feb 13 07:23:13 2009
Received: from sunmail2sca.sfbay.sun.com (sunmail2sca.SFBay.Sun.COM [129.145.155.234])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n1DFNDnh029713
	for <psarc-ext@sac.sfbay.sun.com>; Fri, 13 Feb 2009 07:23:13 -0800 (PST)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail2sca.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n1DFNCY8025233;
	Fri, 13 Feb 2009 07:23:12 -0800 (PST)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KF000C03G2OZK00@nwk-avmta-2.sfbay.sun.com>; Fri,
 13 Feb 2009 07:23:12 -0800 (PST)
Received: from brmea-mail-2.sun.com ([192.18.98.43])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KF0004CZG2NVZ90@nwk-avmta-2.sfbay.sun.com>; Fri,
 13 Feb 2009 07:23:11 -0800 (PST)
Received: from fe-amer-10.sun.com ([192.18.109.80])
	by brmea-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n1DFNBLY016100; Fri,
 13 Feb 2009 15:23:11 +0000 (GMT)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7.0-3.01 64bit (built Dec 23 2008))
 id <0KF000400F19OH00@mail-amer.sun.com>; Fri, 13 Feb 2009 08:23:11 -0700 (MST)
Received: from sun.com ([unknown] [129.150.34.45])
 by mail-amer.sun.com (Sun Java(tm) System Messaging Server 7.0-3.01 64bit
 (built Dec 23 2008)) with ESMTPSA id <0KF0004BQG24NVC0@mail-amer.sun.com>; Fri,
 13 Feb 2009 08:22:58 -0700 (MST)
Date: Fri, 13 Feb 2009 08:22:52 -0700
From: Chris Horne <Chris.Horne@sun.com>
Subject: Re: ndi hidden nodes [PSARC/2009/103 Self Review]
In-reply-to: <4994D785.70308@sun.com>
Sender: Chris.Horne@sun.com
To: David Kahn <David.Kahn@sun.com>
Cc: Christopher Horne <cth@sac.sfbay.sun.com>, PSARC-ext@sun.com,
        scsav3-eng@sun.com
Message-id: <4995904C.3020408@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.4.1.325704
References: <4994D785.70308@sun.com>
User-Agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.4) Gecko/20040414
Status: RO
Content-Length: 1500

David

> Christopher Horne wrote:
> 
>>   o  OBP sd(7D)/st(7D) "stub" (wildcard) nodes are an implementation
>>	artifact that should be hidden. These nodes do not represent
>>	devices, they have no addressing information. With a facility
>>	to mark these nodes as hidden in a driver's
>>	DDI_CTLOPS_INITCHILD, confusion surrounding their existence in
>>	the Solaris device tree can be avoided.
> 
> I'm not sure you can hide those nodes without making
> some other changes to the glue code that's used to
> convert OS dev_t's and/or device pathnames to OBP
> pathnames used by the reboot command and by the installers,
> for example.
> 
> They really shouldn't be a problem. They don't have
> unit addresses and are effectively equivalent to what
> you are proposing to do, except there's only 1 per
> target device type per scsi-like bus.
> 
> Will that glue code still see the obp wildcard nodes?
> I'm pretty sure it needs them to get the correct target
> device name. Maybe they are only needed for legacy
> non-generic target device names, but I don't know if
> the code distinguishes between those cases or not.
> 
> Either way, the "compatible" propval is still needed
> from them for mounting root, I believe.
> 
> -David

The issue of how Solaris deals with OBP 'wilcard' nodes draws attention
away from the primary focus of this proposal. I have removed the above
paragraph, and placed an updated proposal text here:

http://sac.eng/PSARC/2009/203/materials/ndi_hide.fasttrack.txt

-Chris


From Chris.Horne@sun.com Fri Feb 13 07:36:32 2009
Received: from sunmail3mpk.sfbay.sun.com (sunmail3mpk.SFBay.Sun.COM [129.146.11.52])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n1DFaWAX000184
	for <psarc-ext@sac.sfbay.sun.com>; Fri, 13 Feb 2009 07:36:32 -0800 (PST)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail3mpk.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n1DFaVNI002809;
	Fri, 13 Feb 2009 07:36:32 -0800 (PST)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KF000091GOV5Z00@nwk-avmta-1.sfbay.Sun.COM>; Fri,
 13 Feb 2009 07:36:31 -0800 (PST)
Received: from brmea-mail-4.sun.com ([192.18.98.36])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KF000798GOTCAD0@nwk-avmta-1.sfbay.Sun.COM>; Fri,
 13 Feb 2009 07:36:30 -0800 (PST)
Received: from fe-amer-09.sun.com ([192.18.109.79])
	by brmea-mail-4.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n1DFaTnY020857; Fri,
 13 Feb 2009 15:36:29 +0000 (GMT)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7.0-3.01 64bit (built Dec 23 2008))
 id <0KF000D00F1DEO00@mail-amer.sun.com>; Fri, 13 Feb 2009 08:36:29 -0700 (MST)
Received: from sun.com ([unknown] [129.150.34.45])
 by mail-amer.sun.com (Sun Java(tm) System Messaging Server 7.0-3.01 64bit
 (built Dec 23 2008)) with ESMTPSA id <0KF0001PPGOD6IC0@mail-amer.sun.com>; Fri,
 13 Feb 2009 08:36:19 -0700 (MST)
Date: Fri, 13 Feb 2009 08:36:13 -0700
From: Chris Horne <Chris.Horne@sun.com>
Subject: Re: ndi hidden nodes [PSARC/2009/103 Self Review]
In-reply-to: <4995904C.3020408@sun.com>
Sender: Chris.Horne@sun.com
Cc: PSARC-ext@sun.com, scsav3-eng@sun.com
Message-id: <4995936D.7040108@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.4.1.325704
References: <4994D785.70308@sun.com> <4995904C.3020408@sun.com>
User-Agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.4) Gecko/20040414
Status: RO
Content-Length: 138


> http://sac.eng/PSARC/2009/203/materials/ndi_hide.fasttrack.txt
http://sac.eng/PSARC/2009/103/materials/ndi_hide.fasttrack.txt

-Chris


From Peter.Cudhea@sun.com Fri Feb 13 07:37:46 2009
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n1DFbkXm000215
	for <psarc-ext@sac.sfbay.sun.com>; Fri, 13 Feb 2009 07:37:46 -0800 (PST)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n1DFbi1v006284;
	Fri, 13 Feb 2009 08:37:45 -0700 (MST)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KF00000PGQXGM00@nwk-avmta-1.sfbay.Sun.COM>; Fri,
 13 Feb 2009 07:37:45 -0800 (PST)
Received: from brmea-mail-1.sun.com ([192.18.98.31])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KF0007RQGQWC5C0@nwk-avmta-1.sfbay.Sun.COM>; Fri,
 13 Feb 2009 07:37:44 -0800 (PST)
Received: from fe-amer-10.sun.com ([192.18.109.80])
	by brmea-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n1DFbg8Y022222; Fri,
 13 Feb 2009 15:37:44 +0000 (GMT)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7.0-3.01 64bit (built Dec 23 2008))
 id <0KF000400GIDGF00@mail-amer.sun.com>; Fri, 13 Feb 2009 08:37:43 -0700 (MST)
Received: from [129.148.169.178] ([unknown] [129.148.169.178])
 by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7.0-3.01 64bit (built Dec 23 2008))
 with ESMTPSA id <0KF0004CHGQENVD0@mail-amer.sun.com>; Fri,
 13 Feb 2009 08:37:33 -0700 (MST)
Date: Fri, 13 Feb 2009 10:36:32 -0500
From: Peter Cudhea <Peter.Cudhea@sun.com>
Subject: Re: ndi hidden nodes [PSARC/2009/103 Self Review]
In-reply-to: <4995904C.3020408@sun.com>
Sender: Peter.Cudhea@sun.com
To: Chris Horne <Chris.Horne@sun.com>
Cc: David Kahn <David.Kahn@sun.com>, Christopher Horne <cth@sac.sfbay.sun.com>,
        PSARC-ext@sun.com, scsav3-eng@sun.com
Reply-to: Peter.Cudhea@sun.com
Message-id: <49959380.4020508@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <4994D785.70308@sun.com> <4995904C.3020408@sun.com>
User-Agent: Thunderbird 2.0.0.17 (X11/20081023)
Status: RO
Content-Length: 402



Chris Horne wrote:
>
> The issue of how Solaris deals with OBP 'wilcard' nodes draws attention
> away from the primary focus of this proposal. I have removed the above
> paragraph, and placed an updated proposal text here:
>
> http://sac.eng/PSARC/2009/203/materials/ndi_hide.fasttrack.txt
>
> -Chris
>
>   
I think the correct URL is

http://sac.eng/PSARC/2009/103/materials/ndi_hide.fasttrack.txt


