1 .\" Copyright 2014 Garrett D'Amore <garrett@damore.org>
2 .\" Copyright 2016 Joyent, Inc.
3 .\" Redistribution and use in source and binary forms, with or without
4 .\" modification, are permitted provided that the following conditions
6 .\" 1. Redistributions of source code must retain the above copyright
7 .\" notice, this list of conditions and the following disclaimer.
8 .\" 2. Redistributions in binary form must reproduce the above copyright
9 .\" notice, this list of conditions and the following disclaimer in the
10 .\" documentation and/or other materials provided with the distribution.
12 .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS
13 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
14 .\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
15 .\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
16 .\" COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
17 .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
18 .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
19 .\" USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
20 .\" ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
22 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
29 .Nd IEEE 802.3 Ethernet parameters and statistics
31 The IEEE 802.3 standard specifies the details for Ethernet
33 This page describes the various statistics and tunables that device drivers
34 supporting Ethernet commonly offer.
36 Note that not every device or driver supports every one of these
37 values, and many devices offer additional statistics and tunables that
38 are specific to that hardware.
39 See the device driver's documentation for those specific details.
42 Values that are statistics are visible
44 whereas properties are visible using the
48 Tunables are properties that can be changed using the
52 A more useful summary of current operational state can be seen with the
58 The following statistics are accessible with
60 Note that some statistics are available in both 32- and 64-bit counters,
61 in which case the name of the 64 bit statistic will be the same as the
67 is the 64-bit version of the
70 These are indicated with the special suffix
74 .Bl -tag -width tx_late_collisions
75 .It Sy adv_cap_1000fdx
76 Advertises 1000 Mbps full-duplex support.
77 .It Sy adv_cap_1000hdx
78 Advertises 1000 Mbps half-duplex support.
80 Advertises 100 Mbps full-duplex support.
81 .It Sy adv_cap_100gfdx
82 Advertises 100 Gbps support.
84 Advertises 100 Mbps half-duplex support.
86 Advertises 100BASE-T4 support.
88 Advertises 10 Mbps full-duplex support.
90 Advertises 10 Gbps support.
92 Advertises 10 Mbps half-duplex support.
93 .It Sy adv_cap_2500fdx
94 Advertises 2.5 Gbps support.
96 Advertises 50 Gbps support.
98 Advertises 40 Gbps support.
100 Advertises 25 Gbps support.
101 .It Sy adv_cap_5000fdx
102 Advertises 5 Gbps support.
103 .It Sy adv_cap_autoneg
104 Advertises auto-negotiation support.
105 .It Sy adv_cap_asmpause
106 Advertises asymmetric flow control support.
108 Advertises flow control support.
110 Remote fault status sent to peer.
112 Mis-aligned frames received.
114 Broadcast frames received.
116 Broadcast frames transmitted.
118 Device supports 1000 Mbps full-duplex.
120 Device supports 1000 Mbps half-duplex.
122 Device supports 100 Mbps full-duplex.
124 Device supports 100 Gbps.
126 Device supports 100 Mbps half-duplex.
128 Device supports 100BASE-T4.
130 Device supports 10 Mbps full-duplex.
132 Device supports 10 Gpbs.
134 Device supports 10 Mbps half-duplex.
136 Device supports 2.5 Gbps.
138 Device supports 50 Gpbs.
140 Device supports 40 Gpbs.
142 Device supports 25 Gpbs.
144 Device supports 5 Gbps.
146 Device supports asymmetric flow control.
148 Device supports auto-negotiation.
150 Device supports symmetric flow control.
152 Device supports remote fault notification.
153 .It Sy carrier_errors
154 Frames dropped due to loss of link.
158 Transmits deferred due to link activity.
160 Frames dropped due to too many collisions.
162 Frames received with bad frame checksum.
163 .It Sy first_collisions
164 Frames with at least one collision.
168 Link speed in bits per second.
169 .It Sy ipackets Ns Op Sy 64
170 Frames received successfully.
174 Asymmetric flow control; works together with
176 See the description for it below.
178 Link was auto-negotiated.
180 Link duplex status, values as follows:
181 .Bl -column "0" infinity
183 .It 1 Ta Half-duplex.
184 .It 2 Ta Full-duplex.
187 Link flow control available; works together with
189 The meanings of these bits are:
190 .Bl -column "pause" "asmpause"
191 .It Sy pause Ta Sy asmpause Ta Sy meaning
192 .It 0 Ta 0 Ta "No flow control."
193 .It 1 Ta 0 Ta Symmetric flow control.
194 .It 0 Ta 1 Ta Honor received pause frames.
195 .It 1 Ta 1 Ta Send pause frames when congested.
198 Link state; 0 for down, 1 for up.
201 .It Sy lp_cap_1000fdx
202 Peer supports 1000 Mbps full-duplex.
203 .It Sy lp_cap_1000hdx
204 Peer supports 1000 Mbps half-duplex.
206 Peer supports 100 Mbps full-duplex.
207 .It Sy lp_cap_100gfdx
208 Peer supports 100 Gbps full-duplex.
210 Peer supports 100 Mbps half-duplex.
212 Peer supports 100BASE-T4.
214 Peer supports 10 Mbps full-duplex.
216 Peer supports 10 Gbps.
218 Peer supports 10 Mbps half-duplex.
219 .It Sy lp_cap_2500fdx
220 Peer supports 2.5 Gbps.
221 .It Sy lp_cap_5000fdx
222 Peer supports 5 Gbps.
224 Peer supports 50 Gbps.
226 Peer supports 40 Gbps.
228 Peer supports 25 Gbps.
229 .It Sy lp_cap_asmpause
230 Peer supports asymmetric flow control.
231 .It Sy lp_cap_autoneg
232 Peer supports auto-negotiation.
234 Peer advertises flow control support.
236 Peer announces a remote fault.
238 Generic receive errors.
240 Generic transmit errors.
241 .It Sy multi_collisions
242 Frames with more than one collision.
244 Multicast frames received.
246 Multicast frames transmitted.
248 Receive frames dropped due to lack of resources.
250 Transmit frames dropped due to lack of resources.
251 .It Sy obytes Ns Op Sy 64
252 Bytes (octets) transmitted successfully.
257 .It Sy opackets Ns Op Sy 64
258 Frames successfully transmitted.
260 Interface is in promiscuous mode.
261 .It Sy rbytes Ns Op Sy 64
262 Bytes (octets) received successfully.
264 Frames received that were too short.
267 .It Sy toolong_errors
268 Frames received that were too long.
269 .It Sy tx_late_collisions
270 Late collisions on transmit.
274 Frames received with no local recipient.
278 Transceiver vendor and device ID.
280 Identifies the type of transceiver in use.
281 Values are as follows:
283 .It 0 Ta Unknown or undefined.
294 The following parameters are accessible with
296 Some of these are normally read-only.
297 Other properties that are not specific to IEEE 802.3 / Ethernet links are also
300 and are documented in its man page rather than here.
302 .Bl -tag -width adv_1000hdx_cap
304 Link speed, in Mbps per second (dladm only).
306 Link duplex, either "full" or "half".
308 Link state, either "up" or "down".
310 Maximum link frame size in bytes.
314 Flow control setting, one of \(dqno\(dq, \(dqtx\(dq, \(dqrx\(dq, or \(dqbi\(dq.
317 .It Sy adv_10gfdx_cap
318 Advertising 10 Gbps support.
320 Enable 10 Gbps support.
322 .It Sy adv_1000fdx_cap
323 Advertising 1000 Mbps full-duplex support.
324 .It Sy en_1000fdx_cap
325 Enable 1000 Mbps full-duplex.
327 .It Sy adv_1000hdx_cap
328 Advertising 1000 Mbps half-duplex support.
329 .It Sy en_1000hdx_cap
330 Enable 1000 Mbps half-duplex.
332 .It Sy adv_100fdx_cap
333 Advertising 100 Mbps full-duplex support.
335 Enable 100 Mbps full-duplex.
337 .It Sy adv_100hdx_cap
338 Advertising 100 Mbps half-duplex support.
340 Enable 100 Mbps half-duplex.
343 Advertising 10 Mbps full-duplex support.
345 Enable 100 Mbps full-duplex.
348 Advertising 10 Mbps half-duplex support.
350 Enable 10 Mbps half-duplex.
353 With modern devices, auto-negotiation is normally handled automatically.
354 With 10 Gbps and 1000 Gbps, it is mandatory (10GBASE-T also requires full-duplex
358 recommended for use whenever possible; without auto-negotiation the link
359 will usually not operate unless both partners are configured to use the
362 Auto-negotiation, when enabled, takes place by comparing the local capabilities
363 that have been advertised (which must also be supported by the local device),
364 with the capabilities that have been advertised by the link partner (peer).
366 The first of the following modes that is supported by both partners is
367 selected as the link negotiation result:
369 .Bl -bullet -offset indent -compact
373 1000 Mbps full-duplex (1000fdx)
375 1000 Mbps half-duplex (1000hdx)
377 100 Mbps full-duplex (100fdx)
381 100 Mbps half-duplex (100hdx)
383 10 Mbps full-duplex (10fdx)
385 10 Mbps half-duplex (10hdx)
388 Advertisement of these modes can be enabled or disabled by setting the
394 Auto-negotiation may also be disabled, by setting the
397 In this case, the highest enabled link mode (using the above list) is
401 Link layer flow control is available on many modern devices, and is mandatory
402 for operation at 10 Gbps.
403 It requires that the link be auto-negotiated, and that the link be full-duplex,
404 in order to function.
406 Flow control is applied when a receiver becomes congested.
407 In this case the receiver can send a special frame, called a pause frame, to
408 request its partner cease transmitting for a short period of time.
410 Flow control can be said to be either symmetric, in which case both partners
411 can send and honor pause frames, or asymmetric, in which case one partner
412 may not transmit pause frames.
414 The flow control mode used is driven by the
417 It has the following meanings:
419 .Bl -column -compact -offset indent Dv
420 .It \(dqno\(dq Ta Neither send, nor honor pause frames.
421 .It \(dqtx\(dq Ta Send pause frames, provided that the peer can support them,
422 but do not honor them.
423 .It \(dqrx\(dq Ta Receive and honor pause frames.
424 .It \(dqbi\(dq Ta Both send and receive (and honor) pause frames.
427 The statistics for flow control
428 .Po Sy adv_cap_pause , adv_cap_asmpause , lp_cap_pause , lp_cap_asmpause ,
433 are based on the properties exchanged in the auto-negotiation and are
434 confusing as a result.
435 Administrators are advised to use the
440 The IEEE 802.3 standard specifies a standard frame size of 1518 bytes,
441 which includes a 4-byte frame checksum, a 14-byte header, and 1500 bytes
443 Most devices support larger frame sizes than this, and when all possible parties
444 on the same local network can do so, it may be advantageous to choose a larger
445 frame size; 9000 bytes is the most common option, as it allows a transport layer
446 to convey 8 KB (8192) of data, while leaving room for various link, network, and
447 transport layer headers.
449 Note that the use of frames carrying more than 1500 bytes of payload is
450 not standardized, even though it is common practice.
454 property is used to configure the frame size.
455 Note that this is the size of the payload, and excludes the preamble, checksum,
457 It also excludes the tag for devices that support tagging (see
461 Care must be taken to ensure that all communication parties agree on the same
462 size, or communication may cease to function properly.
466 property refers to the link layer property.
467 It may be necessary to configure upper layer protocols such as IP to use a
468 different size when this changes.
473 Most devices support virtual LANs (and also priority control tagging) though
474 the use of a 4-byte tag inserted between the frame header and payload.
475 The details of configuration of this are covered in the
479 .Ss Data Link Provider Interface (DLPI) Details
481 The correct method for applications to access Ethernet devices directly
487 for further information.
489 The following DLPI parameters are presented to applications.
490 .Bl -column -offset indent "Broadcast address"
491 .It Maximum SDU Ta 1500 (or larger, as determined by the Sy mtu No property.)
493 .It Address length Ta 6
494 .It MAC type Ta Dv DL_ETHER
495 .It SAP length Ta \(mi2
496 .It Service mode Ta Dv DL_CLDLS
497 .It Broadcast address Ta Li ff:ff:ff:ff:ff:ff No (6 bytes with all bits set)
500 Note that if the application binds to SAP of 0, then standard IEEE 802.3
501 mode is assumed and the frame length is stored in place of the Ethernet type.
502 Frames that arrive with the type field set to 1500 or less, are delivered
503 to applications that bind to SAP 0.
505 Ethernet drivers on the support both DLPI style 1 and style 2 operation.
506 Additionally, it is possible to configure provide
508 names to interfaces using the
512 Such vanity names are only accessible using DLPI style 1.
514 There may be other mechanisms available to configure link layer properties.
519 files could be used to do this.
520 These methods are deprecated in favor of
524 .Sh INTERFACE STABILITY
525 When present, the statistics and properties presented here
528 However, note that not every Ethernet device supports all of these,
529 and some devices may support additional statistics and properties.
531 The DLPI and IEEE 802.3 itself are
543 .%T IEEE 802.3: Ethernet
544 .%Q IEEE Standards Association
547 .%B Data Link Provider Interface (DLPI)
552 .%B STREAMs Programming Guide
553 .%Q Sun Microsystems, Inc.