Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Design] How to configure station IP address from SMBIOS type 42 record #21

Open
nicklela opened this issue May 30, 2023 · 4 comments
Open
Assignees
Labels
enhancement New feature or request

Comments

@nicklela
Copy link
Contributor

We need to have a way to configure station IP address.

  • If it is DHCP, we are done.
  • If it is static ip, we can configure station IP address based on Redfish service IP because they need to talk with each other.

While Redfish service IP can be determinated by existing IPMI network command (need to check), we can define a rule like host IP address is Redfish service IP minus one. Other filed like format, type and netmask must to be the same as Redfish service IP type, format and netmask, so that they can talk with each other.

@nicklela nicklela added the enhancement New feature or request label May 30, 2023
@nicklela nicklela self-assigned this May 30, 2023
@changab
Copy link
Member

changab commented May 30, 2023

After #25
Use IPMI NetFn: Net to retrieve the channel information,

Device Descriptor Data for Device Type 04h (USB Network Interface v2)

Locate all UsbIo handles
Check the EFI Device Path on each handle that is matched to the one retrieved in #25 step 1.
The above confirms the handle that produces UsbIo protocol is consumed by USB NIC

VendorID/ProductID/Serial Number: Use UsbIo to get the information
Device Characteristics: Send IPMI Bootstrap command to probe the capability
Credential Bootstrapping Handle: Handle of SMBIOS 42 record
Redfish over IP Protocol

Service UUID: NetFn: App (6), Get System GUID (0x37)

Host IP Assignment Type: NetFn: Transport (0x0c), get LAN Config (0x02), Parameter selector (0x4)

Host IP Address Format: NetFn: Transport (0x0c), get LAN Config (0x02), Parameter selector (0x50, 0x51)

Host IP Address: NetFn: Transport (0x0c), get LAN Config (0x02), Parameter selector (0x3, 0x56)

Host IP Mask: NetFn: Transport (0x0c), get LAN Config (0x02), Parameter selector (0x6)

Redfish Service IP Discovery Type: NetFn: Transport (0x0c), get LAN Config (0x02), Parameter selector (0x4)

Redfish Service IP Address Format: NetFn: Transport (0x0c), get LAN Config (0x02), Parameter selector (0x50, 0x 51, 59)

Redfish Service IP Address:

Two solutions
Use Host IP Address minus 1 (Suggested solution)
Use Destination Address, Parameter selector (0x50, 0x 51). (this is the Lan Alert)
Redfish Service IP Mask: * Host IP Mask or Ipv6 prefix

Redfish Service IP Port: Ignore

Redfish Service VLAN ID: Ignore

Redfish Service Hostname Length: strlen (Redfish Service Hostname)

Redfish Service Hostname: NetFn: App (6), Get System Info (59h), Parameter selector (2): System name

@nicklela
Copy link
Contributor Author

2022-12-22 Action:

  • Define rule in UEFI spec. (station IP = BMC IP - 1, station MAC = BMC MAC - 1)
  • Upload implementation to edk2-staging for review and testing purpose
  • Upload NULL lib to MdeModulePkg/Library so that we can pass CI.
    • Move IpmiCommandLib.h from edk2-platforms to edk2

@nicklela
Copy link
Contributor Author

2023-01-03

@nicklela
Copy link
Contributor Author

2023-01-10

The discussion to create IPMI command in order to get UUID and Hostname in HI specification: https://github.com/DMTF/Redfish/issues/5410

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants