https://github.com/openbmc/phosphor-ipmi-ethstats
OpenBMC IPMI Library (Handler) For OEM IPMI Commands Corresponding to a Network Device Ethernet Statistics
https://github.com/openbmc/phosphor-ipmi-ethstats
Last synced: 10 months ago
JSON representation
OpenBMC IPMI Library (Handler) For OEM IPMI Commands Corresponding to a Network Device Ethernet Statistics
- Host: GitHub
- URL: https://github.com/openbmc/phosphor-ipmi-ethstats
- Owner: openbmc
- License: apache-2.0
- Created: 2018-09-18T22:13:58.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2025-02-01T13:54:32.000Z (over 1 year ago)
- Last Synced: 2025-03-27T12:08:13.310Z (over 1 year ago)
- Language: C++
- Homepage:
- Size: 155 KB
- Stars: 2
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Ethernet Statistics Command (0x30)
There is the need to read a specific ethernet-level statistic value from the
BMC. This is driven primarily to detect link errors that require hardware swaps
during manufacturing.
This command will be well structured such that there is a request and response
which mirror to some extent.
The request will specify the ethernet interface by name, as a length-prepended
string, and the field they're requesting by identifier (an unsigned byte).
If the command is not supported, the IPMI OEM handler will respond accordingly,
however, if the field is not supported or not recognized, the command will
return 0xcc (invalid field).
The current ethernet statistics available (all future additions must append):
| Identifier | Human Readable Name |
| ---------- | ------------------- |
| 0 | rx_bytes |
| 1 | rx_compressed |
| 2 | rx_crc_errors |
| 3 | rx_dropped |
| 4 | rx_errors |
| 5 | rx_fifo_errors |
| 6 | rx_frame_errors |
| 7 | rx_length_errors |
| 8 | rx_missed_errors |
| 9 | rx_nohandler |
| 10 | rx_over_errors |
| 11 | rx_packets |
| 12 | tx_aborted_errors |
| 13 | tx_bytes |
| 14 | tx_carrier_errors |
| 15 | tx_compressed |
| 16 | tx_dropped |
| 17 | tx_errors |
| 18 | tx_fifo_errors |
| 19 | tx_heartbeat_errors |
| 20 | tx_packets |
| 21 | tx_window_errors |
Request
| Byte(s) | Value | Data |
| ------- | ------------ | -------------------------------------------------- |
| 0x00 | Statistic ID | The identifier of the desired statistic. |
| 0x01 | Length | Length of string (not including null termination). |
| 0x02.. | The name | The string, not null-terminated. |
Response
| Byte(s) | Value | Data |
| -------- | ------- | -------------------------------------------------------------------------------------------------------- |
| 0x00 | Stat ID | The identifier of the desired statistic. |
| 0x01.... | Uint64 | The value. Because these are counters we don't anticipate negative values, and we don't expect overflow. |