From gd78059@sac.sfbay.sun.com Wed May 30 19:26:02 2007
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 l4V2Q2vX010349
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 30 May 2007 19:26:02 -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 l4V2OfNq024721;
	Wed, 30 May 2007 19:24:42 -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 <0JIV00A05W15QG00@brm-avmta-1.central.sun.com>; Wed,
 30 May 2007 20:24:41 -0600 (MDT)
Received: from sfbaymail2sca.sfbay.sun.com ([129.145.155.42])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JIV00LQNW14X450@brm-avmta-1.central.sun.com>; Wed,
 30 May 2007 20:24:40 -0600 (MDT)
Received: from sac.sfbay.sun.com (sac.SFBay.Sun.COM [129.146.226.132])
	by sfbaymail2sca.sfbay.sun.com (8.13.6+Sun/8.12.10/ENSMAIL,v2.2)
 with ESMTP id l4V2OeTe018729; Wed, 30 May 2007 19:24:40 -0700 (PDT)
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 l4V2PwAB010337; Wed,
 30 May 2007 19:25:58 -0700 (PDT)
Received: (from gd78059@localhost)
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8/Submit) id l4V2PwdP010333; Wed,
 30 May 2007 19:25:58 -0700 (PDT)
Date: Wed, 30 May 2007 19:25:58 -0700 (PDT)
From: "Garrett D'Amore - sun microsystems" <gd78059@sac.sfbay.sun.com>
Subject: HME GLDv3 conversion [PSARC/2007/319 FastTrack timeout 06/07/2007]
To: PSARC-ext@sun.com
Message-id: <200705310225.l4V2PwdP010333@sac.sfbay.sun.com>
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
Status: RO
Content-Length: 4324


Template Version: @(#)sac_nextcase 1.61 05/24/07 SMI
This information is Copyright 2007 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
	 HME GLDv3 conversion
    1.2. Name of Document Author/Supplier:
	 Author:  Garrett D'Amore
    1.3  Date of This Document:
	30 May, 2007
4. Technical Description

Requested Binding : Minor

Problem
-------

Solaris Nevada has introduced a new API for NIC driver writers, known
as GLDv3 (code named "Nemo").  This framework offers a lot of advantages
to drivers, without the limitations that the prevented adoption of GLDv2
by various Sun drivers.  See PSARC cases 2004/471, 2005/365, 2006/248,
and 2006/249 for more detail.  Among these advantages are support for VLANs
and 802.3ad link aggregation.

One of the popular drivers is "hme", which supports the device found on
SunSwift add-in SBus and PCI cards and found on certain earlier generation
UltraSPARC systems.  (UltraSPARC I, II, and IIi systems, such as the Sun Ultra
1/2/5/10/30/60/80, Sun Enterprise 250/450/3000/3500/4000/4500/6000/6500,
etc.)

The hme driver contains a lot of code related to DLPI functionality
that is redundant with code provided by Nemo (around 2,500 lines).
Additionally, Nemo offers some features that may be useful for
systems based on hme such as full support for VLANs and 802.3 link
aggregation.  This is also useful for additional stack features such
as IP instances.

All this redundancy and extra code increases support costs, and does
not align with our preferred solutions going forward.


Proposed Solution
-----------------

We propose to address this by converting hme to GLDv3.  This is very similar
in scope to PSARC 2007/243.


NDD Change
----------

Part of changing this driver to GLDv3 means that the device can support
DLPI style 1 as well as style 2.  And, as a consequence, ndd(1m) commands
will only work when used with the style 1 node.

For example instead of doing the following to advertise autonegotiation:

	ndd /dev/hme -set instance 0
	ndd /dev/hme -set adv_cap_autoneg 1

The following would be used:

	ndd /dev/hme0 -set adv_cap_autoneg 1

One side effect of this change is that on systems with more than a single
hme device, multiple administrators can be updating hme parameters at
the same time without the race condition that is implicit in DLPI style 2
handling.


Kstat Changes
-------------

Some of the kstats that were formerly part of the "hme0" kstat block
will be moved to a new kstat block called "driver_info".  This is 
because the DLS module which sits above Nemo provides an "hme0" kstat
block for most of the usual kstats.  (Kstats provided by DLS will not
be replicated in the driver_info kstat block.)

Note that we also rely on PSARC 2007/220 and 2007/296, which addresses the
need for some other kstats in Nemo, to avoid further impact upon the kstats.

A new kstat named "link_state" will also be added, since it is provided
by Nemo by default.

We do not believe that these kstat changes will have any impact on
consumers, as the kstats that are being moved are not part of any
ARC'd interface.


Other Interfaces
----------------

Nemo supplies both style 1 and style 2 DLPI nodes.  Existing consumers
will continue to function, even if they are not prepared to deal with
style 1 nodes.  (One such consumer is SunVTS.)

Additionally, except as noted above, all ndd and driver.conf tunables are
retained in this conversion.  


Future Directions
-----------------

In the future, we would like to expand support for the hme driver to the
devices historically covered by the closed qfe driver, which covers the
same devices behind a transparent PCI bridge.  (4 of them on a single PCI
card.)  However, there are non-trivial concerns in updating hme to qfe, due
to incompatible implementations of 802.3ad, and different device naming and
numbering schemes.  We hope to address this in a separate future case.

We would also like to expand support for the hme driver x86 and amd64
platforms so that the qfe cards which are very common can see deployment in
small form-factor x86 machines  We hope this will also be the subject matter
of a separate, follow-on case.

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 Garrett.Damore@sun.com Wed Jun  6 10:59:09 2007
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 l56Hx8Xq016253
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 6 Jun 2007 10:59:08 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail5.uk.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id l56HvPDD023640
	for <@sunmail3mpk.sfbay.sun.com:PSARC-ext@sun.com>; Wed, 6 Jun 2007 18:57:40 +0100 (BST)
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 <0JJ800B03783TE00@nwk-avmta-2.sfbay.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@Sun.Com); Wed, 06 Jun 2007 10:57:39 -0700 (PDT)
Received: from sca-es-mail-2.sun.com ([192.18.43.133])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JJ8003H8782S1E0@nwk-avmta-2.sfbay.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@Sun.Com); Wed,
 06 Jun 2007 10:57:38 -0700 (PDT)
Received: from fe-sfbay-10.sun.com ([192.18.43.129])
	by sca-es-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id l56HvcAP006461	for
 <PSARC-ext@Sun.Com>; Wed, 06 Jun 2007 10:57:38 -0700 (PDT)
Received: from conversion-daemon.fe-sfbay-10.sun.com by fe-sfbay-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0JJ800101742H100@fe-sfbay-10.sun.com>
 (original mail from Garrett.Damore@Sun.COM)
 for PSARC-ext@Sun.Com (ORCPT PSARC-ext@Sun.Com); Wed,
 06 Jun 2007 10:57:38 -0700 (PDT)
Received: from [192.168.251.21] ([76.174.83.55])
 by fe-sfbay-10.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb
 28 2007)) with ESMTPSA id <0JJ80053G781TWH0@fe-sfbay-10.sun.com>; Wed,
 06 Jun 2007 10:57:38 -0700 (PDT)
Date: Wed, 06 Jun 2007 10:55:51 -0700
From: "Garrett D'Amore" <Garrett.Damore@sun.com>
Subject: Re: HME GLDv3 conversion [PSARC/2007/319 FastTrack timeout 06/07/2007]
In-reply-to: <200705310225.l4V2PwdP010333@sac.sfbay.sun.com>
Sender: Garrett.Damore@sun.com
To: "Garrett D'Amore - sun microsystems" <gd78059@sac.sfbay.sun.com>
Cc: PSARC-ext@sun.com
Message-id: <4666F527.1060600@sun.com>
Organization: Sun Microsystems
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <200705310225.l4V2PwdP010333@sac.sfbay.sun.com>
User-Agent: Thunderbird 2.0b2 (X11/20070227)
Status: RO
Content-Length: 75

FYI, this fasttrack was approved at today's PSARC meeting.

    -- Garrett

