.de Sc
\\s-1\\$1\\s0\\$2
..
.ds cA 2007/429
.ds aR \s-1PSARC\s0
.LP
.so ../../amac
.Co
.ds LF \fI\*(aR/\*(cA\fP
.ds RF \fICopyright 2007 Sun Microsystems\fP
.if n .ds CF
.IP \fBSubject:\fP 15
Brussels - enhanced network driver configuration via dladm
.IP "\fBSubmitted by:\fP" 15
Sowmini Varadhan
.IP \fBFile:\fP 15
\*(aR/\*(cA/opinion.ms
.IP \fBDate:\fP 15
October 17, 2007
.IP "\fBCommittee:\fP" 15
James D. Carlson
(opinion written by Garrett D'Amore),
Kais Belgaied, Glenn Skinner, Gary Winiger.
.IP "\fBProduct Approval Committee:\fP" 15

Solaris PAC
.br
solaris-pac-opinion@sun.com

.pn 2
.NH
Summary
.LP
Brussels is a project to enhance and standardize network interface
configuration through properties.  It extends the GLDv3 driver interface
to allow drivers to expose device properties to Solaris,
provides normalized access to these properties via the
\fBdladm\fP(1m) command line application, and provides for persistence
of said configuration across reboots.  A compatibility layer for
\fBndd\fP(1m) is included.
.LP
.NH
Decision & Precedence Information
.LP
The project is is approved as specified in reference [1].  The members
have made one technical recommendation as listed in Appendix B below.
.LP
The project may be delivered in a minor release of Solaris.
.LP
.NH
Interfaces
.LP
The project exports the following interfaces.
.if n .ne 8
.if t .ne 3
.TS H
box;
c s s
l | l | l.
Interfaces Exported
_
Interface	Classification	Comments
_
.TH
mac_register	Consol. Private	<sys/mac.h> (modified)
mac_callbacks_t	Consol. Private 	<sys/mac.h> (modified)
MC_SETPROP	Consol. Private	Sect. 2.1 of [3]
MC_GETPROP	Consol. Private	Sect. 2.1 of [3]
mc_setprop	Consol. Private	Sect. 2.2 of [3]
mc_getprop	Consol. Private	Sect. 2.3 of [3]
dld_ioc_prop_val_t	Consol. Private	Sect. 3.2 of [3]
DLDIOCSETPROP	Consol. Private	<sys/dld.h>
DLDIOCGETPROP	Consol. Private	<sys/dld.h>
DLD_PROP_PRIVATE	Consol. Private	<sys/dld.h>
DLD_PROP_*	Consol. Private	Property prefix.
dladm_is_wlan_prop	Consol. Private
dladm_get_single_mac_stat	Consol. Private
default_mtu	Committed	Property name
flowctrl	Volatile	Property name
ifspeed	Committed	Property name
link_duplex	Committed	Property name
link_up	Committed
adv_autoneg_cap	Committed	\*(aR/2003/581
adv_asmpause_cap	Committed	\*(aR/2003/581
adv_pause_cap	Committed	\*(aR/2003/581
adv_1000fdx_cap	Committed	\*(aR/2003/581
adv_1000hdx_cap	Committed	\*(aR/2003/581
adv_100fdx_cap	Committed	\*(aR/2003/581
adv_100hdx_cap	Committed	\*(aR/2003/581
adv_10fdx_cap	Committed	\*(aR/2003/581
adv_10hdx_cap	Committed	\*(aR/2003/581
ndd on data-link drivers	Obsolete	Replace with dladm
.TE
.LP
The project imports the following interfaces.
.if n .ne 8
.if t .ne 3
.TS H
box;
c s s
l | l | l.
Interfaces Imported
_
Interface	Classification	Comments
_
.TH
GLDv3 MAC interfaces	Consolidation Private	PSARC 2006/249
libdladm API	Consol. Private	PSARC 2004/471
mac_maxsdu_update	Consol. Private	Clearview IP Tunneling
.TE
.NH
Opinion
.LP
.NH 2
Link Capabililties
.LP
Several members discussed a desire to to have the ability to enable or disable
offload capabilties (hardware checksum being one example).
However, as this
feature is mostly used to work around bugs that the customer
should not see, it was agreed that this is not in-scope for this project.
.LP
.NH 2
Obsolete NDD
.LP
The members discussed two issues surrounding NDD.  First,
the documentation should be changed to indicate use of NDD to configure
network devices is Obsolete.  The project team agreed with this correction.
.LP
Second is the idea that in
the future it might be possible to make a separate case to either backport
Brussels to Solaris 10, or to provide at least CLI compatibility (via some
kind of wrapper around NDD) in Solaris 10, so as to facilitate removal of
the NDD compatibility layer sooner.  The members ultimately decided that
this is not in scope for this project.
.LP
.NH 2
Crossbow
.LP
The project materials refer to properties that are not
being approved at this time, but that will will be reviewed 
as part of the Crossbow project.  Only the properties that are
called out in [1] are approved as public properties at this time.
.LP
.NH 2
Power Management of Link Interfaces
.LP
One participant discussed the problem of link power management, where power
management policy may result in a link advertising a different set of bits
via the MII register (normally a subset) than was administratively configured
via the adv_* bits.
.LP
The problems surrounding this have resulted in a technical change advised,
which is documented more fully in Appendix B.
.NH
Minority Opinion(s)
.LP
None.
.NH
Advisory Information
.LP
The members would like to see a project enhancement to configure link NIC
offload capabilities proposed.  One example is hardware checksum, but there
are other possibilities as well.
.LP
.NH
Appendices
.NH 2
Appendix A: Technical Changes Required
.LP
None.
.NH 2
Appendix B: Technical Changes Advised
.LP
.RS
.IP 1
Separate out the configuration tunable for administration of MII ethernet link
bits into a separate writable knob (such as \fBenable_100fdx_cap\fP), and a
read-only value indicating the actual state of the bit as it is being exposed
over the wire (i.e. \fBadv_100fdx_cap\fP).
.RE
.NH 2
Appendix C: Reference Material
.LP
Unless stated otherwise, path names are relative to the case
directory \*(aR/\*(cA.
.IP 1.
20 Questions
.br
File: commitment.materials/20q.txt
.IP 2.
Brussels - NIC configuration Design Specification
.br
File: commitment.materials/brussels.pdf
.IP 3.
Brussels Framework Interfaces Specification
.br
File: commitment.materials/framework.pdf
.IP 4.
Brussels Umbrella Overview
.br
File: commitment.materials/umbrella.txt
.IP 5.
Release Notes Update
.br
File: commitment.materials/relnotes-update.txt
.IP 6.
bge(7d)
.br
File: commitment.materials/manpages/bge.7d
.IP 7.
dladm(1m)
.br
File: commitment.materials/manpages/dladm.1m
.IP 7.
ieee802.3(5)
.br
File: commitment.materials/manpages/ieee802.3.5
.IP 8.
ndd(1m)
.br
File: commitment.materials/manpages/ndd.1m
