docs: design notes for a Redfish/IPMI BMC driver

No code yet. The README explains why one Redfish driver with vendor quirk
modules beats a Supermicro-only IPMI driver, and keeps IPMI over LAN as a
read-only fallback. docs/ holds a draft for a new ManagementController
role base in napalm-device-types, the getter-to-resource map, the first
test device (Supermicro X10DRL-i, Redfish firmware 3.91), the security
points (IPMI RAKP hash disclosure, power control, credentials) and the
test plan with DMTF mockups and fixtures to record.
This commit is contained in:
Christian Manivong committed 2026-10-13 01:15:57 +02:00
commit 5f8a4ef975
9 files changed
+557

No files matched your search

+44
View File
@@ -0,0 +1,44 @@
# Supermicro X10 (first test device: X10DRL-i)
## Firmware
Supermicro shipped Redfish to X10 boards as a separate BMC firmware line, named
`REDFISH_X10_<version>`. For the X10DRL-i the latest is **3.91**
(`REDFISH_X10_391_20200806_unsigned.zip`) in Supermicro's download center. Other X10
boards have 3.86–3.90 from 2019–2020. Users report Redfish version 1.0.x on these
firmwares, so expect:
- the legacy `Chassis/{id}/Thermal` and `Power` resources, not `ThermalSubsystem`/`Sensors`,
- an older `ManagerNetworkProtocol` schema (NTP and SNMP details may be missing),
- fewer collections overall (storage details may be absent).
The X10 BMC firmware is unlikely to get further updates. For the driver that is useful
twice: it is the oldest Redfish the driver has to survive, and a real case for flagging
outdated BMC firmware in netOrk's vulnerability management.
Supermicro's **Redfish Reference Guide 1.0a** was published with the X10 Redfish firmware.
Supermicro's own HTML guide covers X12/H12 and later.
## Check before starting
```bash
# Service root, no login: Redfish version and available collections
curl -sk https://<bmc>/redfish/v1/ | python3 -m json.tool
# The managed server: model, serial, BIOS, power state
curl -sk -u <user>:<password> https://<bmc>/redfish/v1/Systems/1 | python3 -m json.tool
```
## Known Supermicro points (from memory, to verify on the device)
- Older Supermicro BMCs shipped with `ADMIN`/`ADMIN`; newer ones have a unique password on
a label. A BMC still on `ADMIN`/`ADMIN` is a test case for netOrk's default-credential
audit (NetOrk/netork#141).
- Some out-of-band features (BIOS update and BIOS settings through the BMC) need a
Supermicro license (SFT-OOB-LIC / SFT-DCMS-SINGLE). Reading and power control should not.
Which resources the X10 omits without a license shows up in the recorded responses.
- Vendor-specific data sits under `Oem.Supermicro` in several resources.
## IPMI on the same board
The X10DRL-i also speaks IPMI 2.0 over LAN (UDP 623), so the `ipmi` fallback can be tested on
the same device, and so can the check that reports IPMI over LAN as enabled.