Go to main content

man pages section 7: Standards, Environments, Macros, Character Sets, and Miscellany

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

adv_cap_10hdx(7)

Name

ieee802.3, cap_autoneg, cap_1000fdx, cap_1000hdx, cap_100fdx, cap_100hdx, cap_10fdx, cap_10hdx, cap_rem_fault, cap_pause, cap_asym_pause, adv_cap_autoneg, adv_cap_1000fdx, adv_cap_1000hdx, adv_cap_100fdx, adv_cap_100hdx, adv_cap_10fdx, adv_cap_10hdx, adv_cap_pause, adv_cap_asym_pause, adv_rem_fault, lp_cap_autoneg, lp_cap_1000fdx, lp_cap_1000hdx, lp_cap_100fdx, lp_cap_100hdx, lp_cap_10fdx, lp_cap_10hdx, lp_cap_pause, lp_cap_asym_pause, lp_rem_fault, xcvr_addr, xcvr_id, xcvr_inuse, link_up, link_duplex, link_tx_pause, link_rx_pause, phys_up - Ethernet mii kstat and dladm parameters

Description

This page describes the kernel statistics and the dladm(8) configuration parameters used to monitor and configure the Ethernet physical layer.

The cap_* parameters exist in the kernel statistics for an Ethernet device. The parameters describe the maximum capability of a device. When the value of a statistic is 1, the device has the capability described. When the value is 0, the device does not have the capability.

The exceptions to this rule are the cap_asym_pause and cap_pause parameters which are explained later in this page.

cap_autoneg

Capable of auto-negotiation

cap_1000fdx

Capable of 1000 full duplex operation

cap_1000hdx

Capable of 1000 half duplex operation

cap_100fdx

Capable of 100 full duplex operation

cap_100hdx

Capable of 100 half duplex operation

cap_10fdx

Capable of 10 full duplex operation

cap_10hdx

Capable of 10 half duplex operation

cap_rem_fault

Capable of reporting locally detected faults to link partner

The adv_cap_* parameters exist in the kernel statistics and represent a mirror image of the dladm adv_*_cap parameter list for an Ethernet device. The dladm adv_*_cap tuning parameters allow fine grain control of the Ethernet device physical layer. The parameters are also a subset of the cap_* statistics. If the cap_* value is 0, the corresponding adv_cap_* must also be 0. The exceptions to this rule are the adv_cap_asym_pause and adv_cap_pause parameters.

When auto-negotiation is enabled, the adv_*_cap statistics show which capabilities are advertised to the link partner. When auto-negotiation is disabled in forced mode, the statistics precisely show how a link should function and that it must be matched on the link partner to achieve a valid link up.

Statistics with values other than 0 and 1 are also described in the following.

adv_cap_autoneg

Advertise auto-negotiation capability

adv_cap_1000fdx

Advertise 1000 full duplex capability

adv_cap_1000hdx

Advertise 1000 half duplex capability

adv_cap_100fdx

Advertise 100 full duplex capability

adv_cap_100hdx

Advertise 100 half duplex capability

adv_cap_10fdx

Advertise 10 full duplex capability

adv_cap_10hdx

Advertise 10 half duplex capability

adv_rem_fault

Fault value reported by the local system to the peer

0

Link is good

1

Fault

The lp_cap_* parameters exist as kernel statistics for an Ethernet device. The statistics are the advertised capabilities provided by the link partner on completion of auto-negotiation. If the capabilities match the capabilities provided in the local advertisement, the link can proceed to a link up state. If no match is found, the link remains down. In two other instances, lp_cap_* values might all be zero: (1) when a cable is not present and (2) when forced mode is enabled.

lp_cap_autoneg

Link partner advertises auto-negotiation capability

lp_cap_1000fdx

Link partner advertises 1000 full duplex capability

lp_cap_1000hdx

Link partner advertises 1000 half duplex capability

lp_cap_100fdx

Link partner advertises 100 full duplex capability

lp_cap_100hdx

Link partner advertises 100 half duplex capability

lp_cap_10fdx

Link partner advertises 10 full duplex capability

lp_cap_10hdx

Link partner advertises 10 half duplex capability

lp_rem_fault

Fault value the remote system reports

0

Link is good

1

Fault

The xcvr_* kernel statistics provide information about the physical layer device that is in use.

xcvr_addr

MII address in the 0 to 31 range of the physical layer device in use for a given Ethernet device

xcvr_id

MII transceiver manufacturer and device ID

xcvr_inuse

MII transceiver type, based on the following list:

0 other

Undefined

1 none

MII present, but nothing connected

2 10Mb/s

10Mb/s Manchester encoding

3 100BaseT4

100 Mb/s 8B/6T

4 100BaseX

100 Mb/s 4B/5B

5 100BaseT2

100 Mb/s PAM5X5

6 1000BaseX

1000 Mb/s 8B/10B

7 1000BaseT

1000 Mb/s 4D-PAM5

The above values define maximum capability. In many cases, lower speeds can occur. The cap_* statistics must be viewed to establish the range of capability.

The link_* kernel statistics show the link state at the local end of the connection.

link_up
1
Link is up
0
Link is down
link_duplex
2
Full duplex link
1
Half duplex link
0
Unknown
phys_up
1
Link has connectivity to external network
0
Link has no connectivity to external network

The cap_asym_pause, cap_pause, adv_cap_asym_pause, and adv_cap_pause parameters do not follow the rules of other cap_* and adv_cap_* kstats or parameters. The cap_*pause kstats provide information about the capabilities supported by the device and constrain the values that may be set to the corresponding adv_cap_*pause parameters.

cap_pause

Symmetric pause capability.

cap_asym_pause

Asymmetric pause capability.

The adv_cap_pause and adv_cap_asym_pause statistics are limited by the available settings for cap_pause and cap_asym_pause. These statistics are read-only values whose settings may be administratively controlled by setting the flowctrl property supported by dladm(8). For a device that is fully capable of pausing both Rx (receive) and Tx (transmit) operations, the settings available are defined in the truth table that follows the adv_cap_pause and adv_cap_asm_pause parameter descriptions below.

adv_cap_pause

When adv_cap_pause is 1, the device can both assert and respond to flow control. This is the pre-Gigabit, symmetric mode of operation, and implies a full (both send and receive) implementation of the PAUSE mechanism within the device. In addition, if adv_cap_asym_pause is 1, the device can operate either symmetrically or asymmetrically in either direction.

If adv_cap_pause is 0, advertised, flow-control behavior is determined by adv_cap_asym_pause. If the value of adv_cap_asym_pause is 1, the device can assert flow control, but cannot resend.

No flow control is available when bot adv_cap_pause and adv_cap_asym_pause are 0.

adv_cap_asym_pause

Asymmetric pause capability.

The cap_asym_pause and cap_pause statistics show the capability of a device and also limit the legal setting for adv_cap_asym_pause and adv_cap_pause. The following truth table describes the available adv_cap_asym_pause and adv_cap_pause settings limited by cap_asym_pause and cap_pause statistics. The abbreviations below are used in the table.

CA

cap_asym_pause

CP

cap_pause

AA

adv_cap_asym_pause

AP

adv_cap_pause

CP
CA
AP
AA
Description
0
0
0
0
No pause in use.
0
0
x
x
Device not pause capable, cannot set.
0
1
0
0
Asymmetric Rx pause capable, but not advertised.
0
1
0
1
Asymmetric Rx pause capable and advertised.
0
1
1
0
Asymmetric Rx pause capable, but not advertised. Not capable of symmetric pause.
0
1
1
1
Asymmetric Rx pause capable and advertised. No symmetric pause capability or asymmetric Tx pause.
1
0
0
0
Symmetric pause capable, but not advertised.
1
0
0
1
Symmetric pause capable, advertising asymmetric Rx pause only.
1
0
1
0
Symmetric pause capable, advertising symmetric Rx and Tx pause capability.
1
0
1
1
Symmetric pause capable and advertised.
1
1
0
0
Symmetric and asymmetric pause capable, but not advertised.
1
1
0
1
Symmetric and asymmetric Tx pause capable. Only asymmetric Tx pause advertised.
1
1
1
0
Symmetric and symmetric Tx pause capable. Only symmetric pause advertised.
1
1
1
1
Asymmetric Tx pause capable and advertised.

In the cases above, an error is posted when a device driver cannot advertise. A new setting is ignored and values revert to the previous setting.

The lp_cap_pause and the lp_cap_asym_pause provide the advertised capabilities of the link partners.

lp_cap_pause

When lp_cap_pause is 1, the link-partner can both assert and respond to flow control. This is the pre-Gigabit, symmetric mode of operation, and implies a full (both send and receive) implementation of the PAUSE mechanism within the device. In addition, if lp_cap_asym_pause is 1, the link-partner can operate either symmetrically or asymmetrically in either direction.

If lp_cap_pause is 0, the flow-control behavior supported by the link-partner is determined by lp_cap_asym_pause . If the value of lp_cap_asym_pause is 1, the link-partner can assert flow control, but cannot respond to any pause-frames sent to it.

No flow control is available when both lp_cap_pause and lp_cap_asym_pause are 0.

lp_cap_asym_pause

Asymmetric pause capability

When adv_*pause_cap and lp_*pause_cap are compared on completion of auto-negotiation, the chosen flow control mechanism for the link depends on what is most meaningful.

link_tx_pause

Link partner can assert flow control by sending pause frames when congestion is experienced.

link_rx_pause

Link partner can respond to pause frames received.

The following truth table illustrates the meaningful flow control combinations related to local and link partner configurations. The abbreviations below are used in the table.

AA

adv_cap_asym_pause

AP

adv_cap_pause

LAC

lp_cap_asym_pause

LPC

lp_cap_pause

LA

link_asym_pause

LP

link_pause

AA
AP
LAC
LPC
LA
LP
Description
1
0
1
1
1
0
Local station will Tx a pause when Rx is congested.
0
1
0
1
0
1
Flow control in both Rx and Tx directions.
x
1
1
0
1
1
Local station honors received Pause frames by temporarily suspending Transmit.
x
x
x
x
0
0
All other combinations: Flow control not available on the link

When forced mode is enabled, the current setting of adv_cap_asym_pause and adv_cap_pause are used for the link. The link_asym_pause and link_pause become equal to the current adv_cap_asym_pause and adv_cap_pause settings. The above table also applies in forced mode, but the link partner configuration must be checked to verify that flow control is operating on the link.

See Also

bge(4D), gld(4D), dlpi(4P), driver.conf(5), dladm(8)

Notes

When adv_cap_autoneg is set to 0, the highest priority speed and duplex is used for forced mode.

The highest priority is the highest speed at full duplex. The lowest priority is the lowest speed at half duplex.

MII transceivers can exist internally to a system or can be connected to an external MII connector. Typically, an internal transceiver has an xcvr_addr of 1, while an external connection has an xcvr_addr of 0.