diff options
Diffstat (limited to 'usr/src/man/man7/ieee802.3.7')
| -rw-r--r-- | usr/src/man/man7/ieee802.3.7 | 555 |
1 files changed, 555 insertions, 0 deletions
diff --git a/usr/src/man/man7/ieee802.3.7 b/usr/src/man/man7/ieee802.3.7 new file mode 100644 index 0000000000..f69db544a1 --- /dev/null +++ b/usr/src/man/man7/ieee802.3.7 @@ -0,0 +1,555 @@ +.\" Copyright 2014 Garrett D'Amore <garrett@damore.org> +.\" Copyright 2016 Joyent, Inc. +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +.\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +.\" COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +.\" USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +.\" ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE +.\" +.Dd "Nov 23, 2016" +.Dt IEEE802.3 7 +.Os +.Sh NAME +.Nm ieee802.3 +.Nd IEEE 802.3 Ethernet parameters and statistics +.Sh DESCRIPTION +The IEEE 802.3 standard specifies the details for Ethernet +networking. +This page describes the various statistics and tunables that device drivers +supporting Ethernet commonly offer. +. +Note that not every device or driver supports every one of these +values, and many devices offer additional statistics and tunables that +are specific to that hardware. +See the device driver's documentation for those specific details. +. +.Lp +Values that are statistics are visible +.Xr kstat 8 , +whereas properties are visible using the +.Xr dladm 8 +.Sy show-linkprop +subcommand. +Tunables are properties that can be changed using the +.Xr dladm 8 +.Sy set-linkprop +subcommand. +A more useful summary of current operational state can be seen with the +.Xr dladm 8 +.Sy show-ether +subcommand. +. +.Ss Statistics +The following statistics are accessible with +.Xr kstat 8 . +Note that some statistics are available in both 32- and 64-bit counters, +in which case the name of the 64 bit statistic will be the same as the +32-bit, but with +.Dq Sy 64 +appended. +For example, +.Sy ipackets64 +is the 64-bit version of the +.Sy ipackets +statistic. +These are indicated with the special suffix +.Op Sy 64 +in the table below. +. +.Bl -tag -width tx_late_collisions +.It Sy adv_cap_1000fdx +Advertises 1000 Mbps full-duplex support. +.It Sy adv_cap_1000hdx +Advertises 1000 Mbps half-duplex support. +.It Sy adv_cap_100fdx +Advertises 100 Mbps full-duplex support. +.It Sy adv_cap_100gfdx +Advertises 100 Gbps support. +.It Sy adv_cap_100hdx +Advertises 100 Mbps half-duplex support. +.It Sy adv_cap_100T4 +Advertises 100BASE-T4 support. +.It Sy adv_cap_10fdx +Advertises 10 Mbps full-duplex support. +.It Sy adv_cap_10gfdx +Advertises 10 Gbps support. +.It Sy adv_cap_10hdx +Advertises 10 Mbps half-duplex support. +.It Sy adv_cap_2500fdx +Advertises 2.5 Gbps support. +.It Sy adv_cap_50gfdx +Advertises 50 Gbps support. +.It Sy adv_cap_40gfdx +Advertises 40 Gbps support. +.It Sy adv_cap_25gfdx +Advertises 25 Gbps support. +.It Sy adv_cap_5000fdx +Advertises 5 Gbps support. +.It Sy adv_cap_autoneg +Advertises auto-negotiation support. +.It Sy adv_cap_asmpause +Advertises asymmetric flow control support. +.It Sy adv_cap_pause +Advertises flow control support. +.It Sy adv_rem_fault +Remote fault status sent to peer. +.It Sy align_errors +Mis-aligned frames received. +.It Sy brdcstrcv +Broadcast frames received. +.It Sy brdcstxmt +Broadcast frames transmitted. +.It Sy cap_1000fdx +Device supports 1000 Mbps full-duplex. +.It Sy cap_1000hdx +Device supports 1000 Mbps half-duplex. +.It Sy cap_100fdx +Device supports 100 Mbps full-duplex. +.It Sy cap_100gfdx +Device supports 100 Gbps. +.It Sy cap_100hdx +Device supports 100 Mbps half-duplex. +.It Sy cap_100T4 +Device supports 100BASE-T4. +.It Sy cap_10fdx +Device supports 10 Mbps full-duplex. +.It Sy cap_10gfdx +Device supports 10 Gpbs. +.It Sy cap_10hdx +Device supports 10 Mbps half-duplex. +.It Sy cap_2500fdx +Device supports 2.5 Gbps. +.It Sy cap_50gfdx +Device supports 50 Gpbs. +.It Sy cap_40gfdx +Device supports 40 Gpbs. +.It Sy cap_25gfdx +Device supports 25 Gpbs. +.It Sy cap_5000fdx +Device supports 5 Gbps. +.It Sy cap_asmpause +Device supports asymmetric flow control. +.It Sy cap_autoneg +Device supports auto-negotiation. +.It Sy cap_pause +Device supports symmetric flow control. +.It Sy cap_rem_fault +Device supports remote fault notification. +.It Sy carrier_errors +Frames dropped due to loss of link. +.It Sy collisions +Collisions. +.It Sy defer_xmts +Transmits deferred due to link activity. +.It Sy ex_collisions +Frames dropped due to too many collisions. +.It Sy fcs_errors +Frames received with bad frame checksum. +.It Sy first_collisions +Frames with at least one collision. +.It Sy ierrors +Receive errors. +.It Sy ifspeed +Link speed in bits per second. +.It Sy ipackets Ns Op Sy 64 +Frames received successfully. +.It Sy jabber_errors +Jabber errors. +.It Sy link_asmpause +Asymmetric flow control; works together with +.Sy link_pause . +See the description for it below. +.It Sy link_autoneg +Link was auto-negotiated. +.It Sy link_duplex +Link duplex status, values as follows: +.Bl -column "0" infinity +.It 0 Ta Unknown. +.It 1 Ta Half-duplex. +.It 2 Ta Full-duplex. +.El +.It Sy link_pause +Link flow control available; works together with +.Sy link_asmpause . +The meanings of these bits are: +.Bl -column "pause" "asmpause" +.It Sy pause Ta Sy asmpause Ta Sy meaning +.It 0 Ta 0 Ta "No flow control." +.It 1 Ta 0 Ta Symmetric flow control. +.It 0 Ta 1 Ta Honor received pause frames. +.It 1 Ta 1 Ta Send pause frames when congested. +.El +.It Sy link_state +Link state; 0 for down, 1 for up. +.It Sy link_up +Link is up if 1. +.It Sy lp_cap_1000fdx +Peer supports 1000 Mbps full-duplex. +.It Sy lp_cap_1000hdx +Peer supports 1000 Mbps half-duplex. +.It Sy lp_cap_100fdx +Peer supports 100 Mbps full-duplex. +.It Sy lp_cap_100gfdx +Peer supports 100 Gbps full-duplex. +.It Sy lp_cap_100hdx +Peer supports 100 Mbps half-duplex. +.It Sy lp_cap_100T4 +Peer supports 100BASE-T4. +.It Sy lp_cap_10fdx +Peer supports 10 Mbps full-duplex. +.It Sy lp_cap_10gfdx +Peer supports 10 Gbps. +.It Sy lp_cap_10hdx +Peer supports 10 Mbps half-duplex. +.It Sy lp_cap_2500fdx +Peer supports 2.5 Gbps. +.It Sy lp_cap_5000fdx +Peer supports 5 Gbps. +.It Sy lp_cap_50gfdx +Peer supports 50 Gbps. +.It Sy lp_cap_40gfdx +Peer supports 40 Gbps. +.It Sy lp_cap_25gfdx +Peer supports 25 Gbps. +.It Sy lp_cap_asmpause +Peer supports asymmetric flow control. +.It Sy lp_cap_autoneg +Peer supports auto-negotiation. +.It Sy lp_cap_pause +Peer advertises flow control support. +.It Sy lp_rem_fault +Peer announces a remote fault. +.It Sy macrv_errors +Generic receive errors. +.It Sy macxmt_errors +Generic transmit errors. +.It Sy multi_collisions +Frames with more than one collision. +.It Sy multircv +Multicast frames received. +.It Sy multixmt +Multicast frames transmitted. +.It Sy norcvbuf +Receive frames dropped due to lack of resources. +.It Sy noxmtbuf +Transmit frames dropped due to lack of resources. +.It Sy obytes Ns Op Sy 64 +Bytes (octets) transmitted successfully. +.It Sy oerrors +Transmit errors. +.It Sy oflo +Overflow errors. +.It Sy opackets Ns Op Sy 64 +Frames successfully transmitted. +.It Sy promisc +Interface is in promiscuous mode. +.It Sy rbytes Ns Op Sy 64 +Bytes (octets) received successfully. +.It Sy runt_errors +Frames received that were too short. +.It Sy sqe_errors +Squelch errors. +.It Sy toolong_errors +Frames received that were too long. +.It Sy tx_late_collisions +Late collisions on transmit. +.It Sy uflo +Underflow errors. +.It Sy unknowns +Frames received with no local recipient. +.It Sy xcvr_addr +Transceiver address. +.It Sy xcvr_id +Transceiver vendor and device ID. +.It Sy xcvr_inuse +Identifies the type of transceiver in use. +Values are as follows: +.Bl -column "0" +.It 0 Ta Unknown or undefined. +.It 1 Ta None. +.It 2 Ta 10 Mbps +.It 3 Ta 100BASE-T4 +.It 4 Ta 100BASE-X +.It 5 Ta 100BASE-T2 +.It 6 Ta 1000BASE-X +.It 7 Ta 1000BASE-T +.El +.El +.Ss Properties +The following parameters are accessible with +.Xr dladm 8 . +Some of these are normally read-only. +Other properties that are not specific to IEEE 802.3 / Ethernet links are also +available via +.Xr dladm 8 , +and are documented in its man page rather than here. +. +.Bl -tag -width adv_1000hdx_cap +.It Sy speed +Link speed, in Mbps per second (dladm only). +.It Sy duplex +Link duplex, either "full" or "half". +.It Sy state +Link state, either "up" or "down". +.It Sy mtu +Maximum link frame size in bytes. +See +.Sx Jumbo Frames . +.It Sy flowctrl +Flow control setting, one of \(dqno\(dq, \(dqtx\(dq, \(dqrx\(dq, or \(dqbi\(dq. +See +.Sx Flow Control . +.It Sy adv_10gfdx_cap +Advertising 10 Gbps support. +.It Sy en_10gfdx_cap +Enable 10 Gbps support. +. +.It Sy adv_1000fdx_cap +Advertising 1000 Mbps full-duplex support. +.It Sy en_1000fdx_cap +Enable 1000 Mbps full-duplex. +. +.It Sy adv_1000hdx_cap +Advertising 1000 Mbps half-duplex support. +.It Sy en_1000hdx_cap +Enable 1000 Mbps half-duplex. +. +.It Sy adv_100fdx_cap +Advertising 100 Mbps full-duplex support. +.It Sy en_100fdx_cap +Enable 100 Mbps full-duplex. +. +.It Sy adv_100hdx_cap +Advertising 100 Mbps half-duplex support. +.It Sy en_100hdx_cap +Enable 100 Mbps half-duplex. +. +.It Sy adv_10fdx_cap +Advertising 10 Mbps full-duplex support. +.It Sy en_10fhdx_cap +Enable 100 Mbps full-duplex. +. +.It Sy adv_10hdx_cap +Advertising 10 Mbps half-duplex support. +.It Sy en_10fhdx_cap +Enable 10 Mbps half-duplex. +.El +.Ss Auto-negotiation +With modern devices, auto-negotiation is normally handled automatically. +With 10 Gbps and 1000 Gbps, it is mandatory (10GBASE-T also requires full-duplex +operation). +It is also +.Em strongly +recommended for use whenever possible; without auto-negotiation the link +will usually not operate unless both partners are configured to use the +same link mode. +.Lp +Auto-negotiation, when enabled, takes place by comparing the local capabilities +that have been advertised (which must also be supported by the local device), +with the capabilities that have been advertised by the link partner (peer). +. +The first of the following modes that is supported by both partners is +selected as the link negotiation result: +.Lp +.Bl -bullet -offset indent -compact +.It +10 Gbps (10gfdx) +.It +1000 Mbps full-duplex (1000fdx) +.It +1000 Mbps half-duplex (1000hdx) +.It +100 Mbps full-duplex (100fdx) +.It +100BASE-T4 (100T4) +.It +100 Mbps half-duplex (100hdx) +.It +10 Mbps full-duplex (10fdx) +.It +10 Mbps half-duplex (10hdx) +.El +.Lp +Advertisement of these modes can be enabled or disabled by setting the +appropriate +.Sy en_ +property in +.Xr dladm 8 . +.Lp +Auto-negotiation may also be disabled, by setting the +.Sy adv_autoneg_cap +property to 0. +In this case, the highest enabled link mode (using the above list) is +.Dq forced +for the link. +.Ss Flow Control +Link layer flow control is available on many modern devices, and is mandatory +for operation at 10 Gbps. +It requires that the link be auto-negotiated, and that the link be full-duplex, +in order to function. +.Lp +Flow control is applied when a receiver becomes congested. +In this case the receiver can send a special frame, called a pause frame, to +request its partner cease transmitting for a short period of time. +.Lp +Flow control can be said to be either symmetric, in which case both partners +can send and honor pause frames, or asymmetric, in which case one partner +may not transmit pause frames. +.Lp +The flow control mode used is driven by the +.Sy flowctrl +property. +It has the following meanings: +.Lp +.Bl -column -compact -offset indent Dv +.It \(dqno\(dq Ta Neither send, nor honor pause frames. +.It \(dqtx\(dq Ta Send pause frames, provided that the peer can support them, +but do not honor them. +.It \(dqrx\(dq Ta Receive and honor pause frames. +.It \(dqbi\(dq Ta Both send and receive (and honor) pause frames. +.El +.Lp +The statistics for flow control +.Po Sy adv_cap_pause , adv_cap_asmpause , lp_cap_pause , lp_cap_asmpause , +.Sy link_pause , +and +.Sy link_asmpause +.Pc +are based on the properties exchanged in the auto-negotiation and are +confusing as a result. +Administrators are advised to use the +.Sy flowctrl +property instead. +. +.Ss Jumbo Frames +The IEEE 802.3 standard specifies a standard frame size of 1518 bytes, +which includes a 4-byte frame checksum, a 14-byte header, and 1500 bytes +of payload. +Most devices support larger frame sizes than this, and when all possible parties +on the same local network can do so, it may be advantageous to choose a larger +frame size; 9000 bytes is the most common option, as it allows a transport layer +to convey 8 KB (8192) of data, while leaving room for various link, network, and +transport layer headers. +.Lp +Note that the use of frames carrying more than 1500 bytes of payload is +not standardized, even though it is common practice. +.Lp +The +.Sy mtu +property is used to configure the frame size. +Note that this is the size of the payload, and excludes the preamble, checksum, +and header. +It also excludes the tag for devices that support tagging (see +.Sx Virtual LANs +below). +.Lp +Care must be taken to ensure that all communication parties agree on the same +size, or communication may cease to function properly. +.Lp +Note that the +.Sy mtu +property refers to the link layer property. +It may be necessary to configure upper layer protocols such as IP to use a +different size when this changes. +See +.Xr ifconfig 8 . +. +.Ss Virtual LANs +Most devices support virtual LANs (and also priority control tagging) though +the use of a 4-byte tag inserted between the frame header and payload. +The details of configuration of this are covered in the +.Xr dladm 8 +manual. +. +.Ss Data Link Provider Interface (DLPI) Details +. +The correct method for applications to access Ethernet devices directly +is to use the DLPI. +See +.Xr dlpi 4P +and +.Xr libdlpi 3LIB +for further information. +.Lp +The following DLPI parameters are presented to applications. +.Bl -column -offset indent "Broadcast address" +.It Maximum SDU Ta 1500 (or larger, as determined by the Sy mtu No property.) +.It Minimum SDU Ta 0 +.It Address length Ta 6 +.It MAC type Ta Dv DL_ETHER +.It SAP length Ta \(mi2 +.It Service mode Ta Dv DL_CLDLS +.It Broadcast address Ta Li ff:ff:ff:ff:ff:ff No (6 bytes with all bits set) +.El +.Lp +Note that if the application binds to SAP of 0, then standard IEEE 802.3 +mode is assumed and the frame length is stored in place of the Ethernet type. +Frames that arrive with the type field set to 1500 or less, are delivered +to applications that bind to SAP 0. +.Lp +Ethernet drivers on the support both DLPI style 1 and style 2 operation. +Additionally, it is possible to configure provide +.Dq vanity +names to interfaces using the +.Xr dladm 8 +.Sy rename-link +subcommand. +Such vanity names are only accessible using DLPI style 1. +.Sh NOTES +There may be other mechanisms available to configure link layer properties. +Historically the +.Xr ndd 8 +command, and +.Xr driver.conf 5 +files could be used to do this. +These methods are deprecated in favor of +.Xr dladm 8 +properties. +. +.Sh INTERFACE STABILITY +When present, the statistics and properties presented here +are +.Sy Committed . +However, note that not every Ethernet device supports all of these, +and some devices may support additional statistics and properties. +.Lp +The DLPI and IEEE 802.3 itself are +.Sy Standard . +.Sh SEE ALSO +.Xr libdlpi 3LIB , +.Xr dlpi 4P , +.Xr driver.conf 5 , +.Xr dladm 8 , +.Xr ifconfig 8 , +.Xr kstat 8 , +.Xr ndd 8 , +.Xr netstat 8 +.Rs +.%T IEEE 802.3: Ethernet +.%Q IEEE Standards Association +.Re +.Rs +.%B Data Link Provider Interface (DLPI) +.%Q The Open Group +.%D 1997 +.Re +.Rs +.%B STREAMs Programming Guide +.%Q Sun Microsystems, Inc. +.%D January 2005 +.Re |
