DEVLINK-HEALTH(8)

๐Ÿ“ฆ
version 7.3.0 ยท 2 versions
, in alpine 3.24, arch rolling, centos-stream 10, nixos 26.05, nixpkgs unstable, ubuntu resolute, ubuntu stonking

okay bestie, pull up a chair ๐Ÿซถ this is the devlink-health page from section 8 of the Linux manual โ€” it's all about devlink health reporting and recovery, and it's genuinely one of the most useful things in the whole devlink family. iykyk. โœจ


๐ŸŒธ NAME ๐ŸŒธ

devlink-health โ€” devlink health reporting and recovery ๐Ÿ’…


๐ŸŽ€ SYNOPSIS ๐ŸŽ€

devlink [ OPTIONS ] health  { COMMAND | help }

OPTIONS := { -V[ersion] }

devlink health show [ { DEV | DEV/PORT_INDEX } reporter REPORTER ]

devlink health recover { DEV | DEV/PORT_INDEX } reporter REPORTER

devlink health diagnose { DEV | DEV/PORT_INDEX } reporter REPORTER

devlink health dump show { DEV | DEV/PORT_INDEX } reporter REPORTER

devlink health test { DEV | DEV/PORT_INDEX } reporter REPORTER

devlink health dump clear { DEV | DEV/PORT_INDEX } reporter REPORTER

devlink health set { DEV | DEV/PORT_INDEX } reporter REPORTER [
        grace_period MSEC ] [ burst_period MSEC ] [ auto_recover { true
        | false } ] [ auto_dump { true | false } ]

devlink health help

so basically: you get the devlink command, you can hand it some OPTIONS, and those options are literally just -V[ersion] โ€” that's the whole menu, no cap. then you say health and pick a COMMAND, or you just ask for help. ๐ŸŒˆ


โœจ DESCRIPTION โœจ

shows you the info about all the reporters registered on your devlink devices and ports. it's giving overview, and we love that. ๐Ÿ‘‘

  • DEV โ€” specifies the devlink device.
  • DEV/PORT_INDEX โ€” specifies the devlink port.
  • REPORTER โ€” specifies the reporter's name registered on specified devlink device or port.

this kicks off a recovery. if it goes through, the recoveries counter goes up โ€” success behavior, periodt. ๐Ÿ’ช

  • DEV โ€” specifies the devlink device.
  • DEV/PORT_INDEX โ€” specifies the devlink port.
  • REPORTER โ€” specifies the reporter's name registered on specified devlink device or port.

pulls the diagnostics data for you. like a lil checkup for your reporter. ๐Ÿฉบ

  • DEV โ€” specifies the devlink device.
  • DEV/PORT_INDEX โ€” specifies the devlink port.
  • REPORTER โ€” specifies the reporter's name registered on specified devlink device or port.

makes a test event happen on purpose. yes, on purpose. it's a whole vibe. ๐Ÿ”ฅ

  • DEV โ€” specifies the devlink device.
  • REPORTER โ€” specifies the reporter's name registered on the devlink device.
heads up bestie: for test, the description only lists DEV โ€” no DEV/PORT_INDEX here, even though the synopsis shows the braced form. i'm just telling you what the page says. ๐Ÿ™ˆ

devlink health saves a single dump per reporter. if a dump is not already stored by the Devlink, this command will generate a new dump. and that dump can be generated either automatically when a reporter reports on an error, or manually at the user's request. so likeโ€ฆ it's always got your back. ๐Ÿ’–

  • DEV โ€” specifies the devlink device.
  • DEV/PORT_INDEX โ€” specifies the devlink port.
  • REPORTER โ€” specifies the reporter's name registered on specified devlink device or port.

deleting the saved dump enables a generation of a new dump on the next "devlink health dump show" command. out with the old, in with the fresh dump. slay. โœจ

  • DEV โ€” specifies the devlink device.
  • DEV/PORT_INDEX โ€” specifies the devlink port.
  • REPORTER โ€” specifies the reporter's name registered on specified devlink device or port.

please note that some params are not supported on a reporter which doesn't support a recovery or dump method. so if your reporter is built different, some knobs just won't do anything. ๐Ÿ˜ญ
  • DEV โ€” specifies the devlink device.
  • DEV/PORT_INDEX โ€” specifies the devlink port.
  • REPORTER โ€” specifies the reporter's name registered on specified devlink device or port.

๐Ÿ• grace_period MSEC

time interval between consecutive auto recoveries.

๐Ÿ’ฅ burst_period MSEC

time window for error recoveries before starting the grace period. configuring burst_period is invalid when the grace period is disabled. so don't do that, fr fr. ๐Ÿ™…

๐Ÿ” auto_recover { true | false }

indicates whether the devlink should execute automatic recover on error.

๐Ÿ“ธ auto_dump { true | false }

indicates whether the devlink should execute automatic dump on error.


๐ŸŒˆ EXAMPLES ๐ŸŒˆ

list status and configuration of available reporters on devices and ports.

list status and configuration of tx reporter registered on port on pci/0000:00:09.0/1

initiate recovery on fw_fatal reporter registered on device on pci/0000:00:09.0.

initiate recovery on tx reporter registered on port on pci/0000:00:09.0/1.

list diagnostics data on the specified device and reporter.

display the last saved dump on the specified port and reporter.

delete saved dump on the specified port and reporter.

set time interval between auto recoveries to minimum of 3500 msec on the specified device and reporter.

set time interval between auto recoveries to minimum of 3500 msec on the specified port and reporter.

turn off auto recovery on the specified device and reporter.

set the burst period to 5000 milliseconds on the specified device and reporter, prior to initiating the grace period.

disable grace period on the specified device and reporter. disabling the grace period also deactivates the burst period. (two-for-one, iconic honestly.)


๐Ÿฆ‹ SEE ALSO ๐Ÿฆ‹

devlink(8), devlink-dev(8), devlink-port(8), devlink-param(8), devlink-region(8),


๐ŸŽ€ AUTHOR ๐ŸŽ€

Aya Levin <ayal@mellanox.com>


okay and the lil sign-off at the bottom of the page โ€” that's the iproute2 crew, dated 20 Feb 2019. go forth and diagnose, bestie, you got this ๐Ÿ’œ๐ŸŒธ๐Ÿ’