The driver is able to extract information from the hardware in order to easily detect the reason for the port link to be in inactive state.
The driver supports providing a more detailed, human-readable reason for "port down" state as it is held by the firmware.
This information is available to administrators as the extended media report in normal ifconfig(8) status output.
# ifconfig mce0
mce0: flags=8843
<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0
mtu 1500
options=3ed07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWFILTER,VLAN_HWTSO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6,TXRTLMT,HWRXTSTMP>
ether 24
:8a:07
:a5:28
:70
inet6 fe80::268a:7ff:fea5:2870
%mce0 prefixlen 64
scopeid 0x6
media: Ethernet autoselect <full-duplex,rxpause,txpause> (100GBase-CR4 <full-duplex,rxpause,txpause>)
status: no carrier (FEC sync loss)
nd6 options=21
<PERFORMNUD,AUTO_LINKLOCAL>
Events report on module plugging and unplugging, as well as related error conditions. Unlike the process of "port down" state cause detection, events are reported upon change by emitting a kernel message.
For instance, when a successful detection of the newly inserted module occurs, the following message is printed.
mlx5_core0: INFO: mlx5_port_module_event:710:(pid 11): Module 0, status: plugged and enabled
Statistics for each supported module event type is available under the sysctl OID dev.mlx5_core.N.pme_stats.errors per type.