BlueField Host Network Interface
Under URI redfish/v1/Systems/Bluefield, there is a collection called EthernetInterfaces representing the data ports and the OOB port of the BlueField. It is read-only and contains network information (e.g., IP addresses, MAC addresses).
            
            curl -k -u root:'<password>' -H 'Content-Type: application/json' -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield/EthernetInterfaces
{
  "@odata.id": "/redfish/v1/Systems/Bluefield/EthernetInterfaces",
  "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection",
  "Description": "Collection of EthernetInterfaces of the host",
  "Members": [
    {
      "@odata.id": "/redfish/v1/Systems/Bluefield/EthernetInterfaces/eth0"
    },
    {
      "@odata.id": "/redfish/v1/Systems/Bluefield/EthernetInterfaces/oob0"
    }
  ],
  "Members@odata.count": 2,
  "Name": "Ethernet Network Interface Collection"
}
    
The interface object has a field called LinkStatus which is determined by the following rules:
- If the interface is the OOB port (i.e., - oob_net0),- LinkStatuswould display- LinkUpif the port is configured up using ifconfig/ip command.
- If the interface is a data port (i.e., - eth0/- eth1or- ib0/- ib1),- LinkStatuswould display- NoLinkif no QSFP cable is connected. If a QSFP transceiver is connected, the link would appear as- LinkUpif the port is configured as up using the- ifconfig/- ipcommands. If not, it displays- LinkDown.
            
            curl -k -u root:'<password>' -H 'Content-Type: application/json' -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield/EthernetInterfaces/oob0
{
  "@odata.id": "/redfish/v1/Systems/Bluefield/EthernetInterfaces/oob0",
  "@odata.type": "#EthernetInterface.v1_6_0.EthernetInterface",
  "DHCPv4": {
    "DHCPEnabled": true,
    "UseDNSServers": false,
    "UseDomainName": false,
    "UseNTPServers": false
  },
  "DHCPv6": {
    "OperatingMode": "Stateful",
    "UseDNSServers": false,
    "UseDomainName": false,
    "UseNTPServers": false
  },
  "Description": "Host Network Interface for port oob0",
  "IPv4Addresses": [
    {
      "Address": "10.345.41.97",
      "AddressOrigin": "Static",
      "Gateway": "0.0.0.0",
      "SubnetMask": "255.255.240.0"
    }
  ],
  "IPv4StaticAddresses": [
    {
      "Address": "10.345.41.97",
      "AddressOrigin": "Static",
      "Gateway": "0.0.0.0",
      "SubnetMask": "255.255.240.0"
    }
  ],
  "IPv6AddressPolicyTable": [],
  "IPv6Addresses": [
    {
      "Address": "fe80::a278:c2ff:fe0e:87a4",
      "AddressOrigin": "Static",
      "AddressState": null,
      "PrefixLength": 64
    }
  ],
  "IPv6DefaultGateway": "0:0:0:0:0:0:0:0",
  "IPv6StaticAddresses": [
    {
      "Address": "fe80::a278:c2ff:fe0e:87a4",
      "PrefixLength": 64
    }
  ],
  "Id": "oob0",
  "InterfaceEnabled": true,
  "LinkStatus": "LinkUp",
  "MACAddress": "a0:88:a2:0e:87:a4",
  "MTUSize": 1500,
  "Name": "Host Ethernet Interface",
  "NameServers": [],
  "SpeedMbps": 1000,
  "StaticNameServers": [],
  "Status": {
    "State": "Disabled"
  }
}
    
If the user changed the BlueField's IP information dynamically, rebooting the BMC should show the updated IP info.