4 releases (2 breaking)

0.3.0 Sep 4, 2024
0.2.1 Jan 16, 2024
0.2.0 Jun 5, 2023
0.1.1 May 28, 2023
0.1.0 May 28, 2023

#729 in Parser implementations

Download history 2/week @ 2024-06-08 2/week @ 2024-06-22 2/week @ 2024-06-29 10/week @ 2024-07-06 4/week @ 2024-07-27 126/week @ 2024-08-31 16/week @ 2024-09-07 15/week @ 2024-09-14 13/week @ 2024-09-21

170 downloads per month
Used in ipmitool-dcmi-power-readi…

MIT/Apache

275KB
7.5K SLoC

ipmi-rs

A Rust IPMI library.

Examples

get-info

Configure the log level of this example with RUST_LOG. info is recommended.

This example usually has to be run as root.

This example will, using the /dev/ipmi0 file:

  1. Get SEL info
  2. (If supported) get SEL allocation information
  3. (If present) get the first SEL record
  4. Get the Device ID
  5. Get SDR info
  6. Get SDR repository info
  7. (If supported) get SDR allocation information
  8. Load all of the SDRs from the repository
  9. Attempt to read the value of all of the sensors from the SDR repository

Features

  • SEL info
  • SDR repository info
  • Get SDR repository entries
  • Read sensor data from sensors obtained from SDR repository
  • FRU information lookup
  • ioctl-based IPMI device file interface support
    • Supports bridging IPMI requests to other IPMBs.
  • RMCP Supported auth types:
    • Unauthenticated
    • MD5
    • MD2
    • Key
  • RMCP+
    • The security aspects of the RMCP+ implementation itself is not specifically security-vetted. It should be secure, but you must not rely on it.
    • Authentication algorithms:
      • RAKP-None
      • RAKP-HMAC-SHA1
      • RAKP-HMAC-MD5
      • RAKP-HMAC-SHA256
    • Confidentiality algorithms:
      • None
      • AES-CBC-128
      • xRC4-128
      • xRC4-40
    • Integrity algorithms:
      • None
      • HMAC-SHA1-96
      • HMAC-MD5-128
      • MD5-128
      • HMAC-SHA256-128

License

All source code (including code snippets) is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.

This project aims to conform to Conventional Commits. If you make contributions, please be so kind to stick to that format :)

Dependencies

~1.8–7MB
~54K SLoC