{"id":18368662,"url":"https://github.com/openbmc/phosphor-ipmi-ethstats","last_synced_at":"2025-10-17T14:59:51.568Z","repository":{"id":74554826,"uuid":"149358330","full_name":"openbmc/phosphor-ipmi-ethstats","owner":"openbmc","description":"OpenBMC IPMI Library (Handler) For OEM IPMI Commands Corresponding to a Network Device Ethernet Statistics","archived":false,"fork":false,"pushed_at":"2025-02-01T13:54:32.000Z","size":159,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-27T12:08:13.310Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openbmc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-09-18T22:13:58.000Z","updated_at":"2024-12-18T20:01:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"cce4ce7b-c9f8-495d-b3e3-56bb9cc7242e","html_url":"https://github.com/openbmc/phosphor-ipmi-ethstats","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openbmc%2Fphosphor-ipmi-ethstats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openbmc%2Fphosphor-ipmi-ethstats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openbmc%2Fphosphor-ipmi-ethstats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openbmc%2Fphosphor-ipmi-ethstats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openbmc","download_url":"https://codeload.github.com/openbmc/phosphor-ipmi-ethstats/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248788868,"owners_count":21161726,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T23:26:55.887Z","updated_at":"2025-10-17T14:59:51.482Z","avatar_url":"https://github.com/openbmc.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ethernet Statistics Command (0x30)\n\nThere is the need to read a specific ethernet-level statistic value from the\nBMC. This is driven primarily to detect link errors that require hardware swaps\nduring manufacturing.\n\nThis command will be well structured such that there is a request and response\nwhich mirror to some extent.\n\nThe request will specify the ethernet interface by name, as a length-prepended\nstring, and the field they're requesting by identifier (an unsigned byte).\n\nIf the command is not supported, the IPMI OEM handler will respond accordingly,\nhowever, if the field is not supported or not recognized, the command will\nreturn 0xcc (invalid field).\n\nThe current ethernet statistics available (all future additions must append):\n\n| Identifier | Human Readable Name |\n| ---------- | ------------------- |\n| 0          | rx_bytes            |\n| 1          | rx_compressed       |\n| 2          | rx_crc_errors       |\n| 3          | rx_dropped          |\n| 4          | rx_errors           |\n| 5          | rx_fifo_errors      |\n| 6          | rx_frame_errors     |\n| 7          | rx_length_errors    |\n| 8          | rx_missed_errors    |\n| 9          | rx_nohandler        |\n| 10         | rx_over_errors      |\n| 11         | rx_packets          |\n| 12         | tx_aborted_errors   |\n| 13         | tx_bytes            |\n| 14         | tx_carrier_errors   |\n| 15         | tx_compressed       |\n| 16         | tx_dropped          |\n| 17         | tx_errors           |\n| 18         | tx_fifo_errors      |\n| 19         | tx_heartbeat_errors |\n| 20         | tx_packets          |\n| 21         | tx_window_errors    |\n\nRequest\n\n| Byte(s) | Value        | Data                                               |\n| ------- | ------------ | -------------------------------------------------- |\n| 0x00    | Statistic ID | The identifier of the desired statistic.           |\n| 0x01    | Length       | Length of string (not including null termination). |\n| 0x02..  | The name     | The string, not null-terminated.                   |\n\nResponse\n\n| Byte(s)  | Value   | Data                                                                                                     |\n| -------- | ------- | -------------------------------------------------------------------------------------------------------- |\n| 0x00     | Stat ID | The identifier of the desired statistic.                                                                 |\n| 0x01.... | Uint64  | The value. Because these are counters we don't anticipate negative values, and we don't expect overflow. |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenbmc%2Fphosphor-ipmi-ethstats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenbmc%2Fphosphor-ipmi-ethstats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenbmc%2Fphosphor-ipmi-ethstats/lists"}