AdiF
Minnow
Posts: 15
|
Post by AdiF on Jan 11, 2024 6:53:56 GMT
We want to implement the ports schema for LLDP information of the BMC as a transmitter. Under schema PortCollection.json, we have found the following options:
/redfish/v1/ResourceBlocks/{ResourceBlockId}/NetworkInterfaces/{NetworkInterfaceId}/Ports</String> /redfish/v1/Managers/{ManagerId}/DedicatedNetworkPorts</String>
/redfish/v1/Managers/{ManagerId}/SharedNetworkPorts</String>
We wanted to check if it possible to placed it under:
Managers/{ManagerId}/EthernetInterfaces/{NetworkInterfaceId}/Ports
|
|
|
Post by malbolge on Jan 11, 2024 13:01:17 GMT
Probably the most network-centric mockup would be this one: redfish.dmtf.org/redfish/mockups/v1/1393This mockup assumes the network adapter is owned by the host. Yours is strictly a slave device to the BMC. The pattern seems to be that you don't just sprinkle a handful of free-floating Ports into a System, they have to be added through a NetworkAdapter. However, this pattern applies for high-speed plug-in cards for the host to use, not the integrated management ports on a BMC. Putting Ports as children of EthernetInterface seems wrong. What EthernetInterface represents is an open issue, my personal interpretation is that it's an OS-level construct (be that the hosts OS or the BMCs embedded OS). It might work on a BMC if the BMC is boots monolithically (that is, it can either be completely unavailable, or fully operational including it's OS), but still seems wrong conceptually. The logic I'm going with is if you have a physical thing you can touch, like a Port, all it's parents up the hierarchy to redfish/v1 should also be physical things you can touch. You can't touch eth0. Abstractions may contain abstractions, parts may contain parts, but abstractions can't contain parts - only link to them. Another argument why you may want a NetworkAdapter to hold the ports is within the schema you have a global LLDPEnable property.
|
|
|
Post by mraineri on Jan 11, 2024 13:24:59 GMT
The simple rackmount server mockup (https://redfish.dmtf.org/redfish/mockups/v1/1379) does show how to model this for BMCs. The expectation is if the port is connected directly to the BMC (as in you're not using NCSI or some other sideband protocol to share a NIC with the host), then you use "/redfish/v1/Managers/{ManagerId}/DedicatedNetworkPorts". The reason for this placement is because we've learned over time that the separation helps when you start to grow into virtual NICs or when you have multiple interfaces sharing one physical port; if "Ports" is subordinate to EthernetInterface, then it's not possible to properly describe a case where two interfaces use the same port.
|
|
|
Post by ratagupt on Jan 11, 2024 17:23:13 GMT
The simple rackmount server mockup (https://redfish.dmtf.org/redfish/mockups/v1/1379) does show how to model this for BMCs. The expectation is if the port is connected directly to the BMC (as in you're not using NCSI or some other sideband protocol to share a NIC with the host), then you use "/redfish/v1/Managers/{ManagerId}/DedicatedNetworkPorts". The reason for this placement is because we've learned over time that the separation helps when you start to grow into virtual NICs or when you have multiple interfaces sharing one physical port; if "Ports" is subordinate to EthernetInterface, then it's not possible to properly describe a case where two interfaces use the same port. Do we have "DedicatedNetworkPorts" under manager schema? Yes we have it, Ignore the comment
|
|