alon
Minnow
Posts: 1
|
Post by alon on Feb 7, 2024 17:41:15 GMT
Hi, Currently, under Chassis/Card1 we have the following structure: /redfish/v1/Chassis/{ChassisId}/NetworkAdapters/{NetworkAdapterId}/NetworkDeviceFunctions/{NetworkDeviceFunctionId}/ and /redfish/v1/Chassis/{ChassisId}/NetworkAdapters/{NetworkAdapterId}/Ports/{PortId} The NetworkDeviceFunction represents the out-of-band and data ports of the host (which is a ComputerSystem under Systems). I want to add an EthernetInterface to represent the IP configuration and address of each of those ports and was thought adding it in URI: /redfish/v1/Chassis/{ChassisId}/NetworkAdapters/{NetworkAdapterId}/NetworkDeviceFunctions/ {NetworkDeviceFunctionId}/EthernetInterfaces/{EthernetInterfaceId}, and link the NetworkDeviceFunction in ComputerSystem, similarly to how it's done in the SmartNIC mockup redfish.dmtf.org/redfish/mockups/v1/1466What do you think? Any suggestions? Thanks in advance.
|
|
|
Post by mraineri on Feb 7, 2024 21:30:56 GMT
/redfish/v1/Chassis/{ChassisId}/NetworkAdapters/{NetworkAdapterId}/NetworkDeviceFunctions/{NetworkDeviceFunctionId}/EthernetInterfaces/{EthernetInterfaceId} is specifically for non-system types of interfaces. One example is an EBOF where there are network controllers embedded in an enclosure that serve as an NVMe-oF to PCIe bridge; there's no ComputerSystem here since it's a box of network-connected drives, but a user needs to be able to configure the IP address of those controllers. We have this in the long description for EthernetInterfaces in NetworkDeviceFunctions:
> This property shall not be present if this network device function is not referenced by a NetworkInterface resource.
For the case you're describing, you'd need to add EthernetInterface resources subordinate to the appropriate ComputerSystem resource to go alongside the NetworkInterface resources.
I'll admit this is not the most intuitive approach. We expected NetworkInterface, NetworkDeviceFunction, and other advanced communication device resources to replace EthernetInterface in the same manner Storage can fully replace SimpleStorage. Unfortunately as new use cases came up (virtual NICs, bonding, virtual machines, etc), we realized that EthernetInterface is still needed, and we likely would have taken a different modeling approach had this been apparent to us.
|
|