NVIDIA BlueField BMC Software

Network Protocol Support

To obtain the BMC MAC address, refer to the board label affixed to the NVIDIA® BlueField® device.

BMC management network interface can be configured using Redfish or IPMI. By default, BMC comes up with the DHCP network configuration.

Network configuration functions:

  • Setting DHCP/Static network mode configuration

  • Adding/setting IPv4/IPv6 configuration including IP address, gateway, netmask

  • Adding DNS servers

  • Adding NTP server

  • Setting BMC time with NTP server or system RTC

Network Management Redfish Commands

Getting Network Protocol Configuration

curl -k -u root:'<password>' -X GET https://<bmc_ip>/redfish/v1/Managers/Bluefield_BMC/NetworkProtocol

Getting Interface Configuration

curl -k -u root:'<password>' -XGET https://<bmc_ip>/redfish/v1/Managers/Bluefield_BMC/EthernetInterfaces/eth0

Enabling/Disabling Interface

curl -k -u root:'<password>' -XPATCH https://<bmc_ip>/redfish/v1/Managers/Bluefield_BMC/EthernetInterfaces/eth0 -d '{"InterfaceEnabled": <state>}'

Where <state> can be true or false.

Disabling the eth0 interface on the BlueField BMC prevents OOB network functionality on the BMC. This inhibits the ability to execute any Redfish or IPMI commands through the network.

Configuring Static IPv4 Address

curl -k -u root:'<password>' -X PATCH https://<bmc_ip>/redfish/v1/Managers/Bluefield_BMC/EthernetInterfaces/eth0 -d '{"IPv4StaticAddresses": [{"Address": "<ip_addr>","SubnetMask": "<netmask>","Gateway":"<gw_ip_addr>"}]}'

Example:

curl -k -u root:'<password>' -X PATCH https://<bmc_ip>/redfish/v1/Managers/Bluefield_BMC/EthernetInterfaces/eth0 -d '{"IPv4StaticAddresses": [{"Address": "10.7.7.7","SubnetMask": "255.255.0.0","Gateway":"10.7.0.1"}]}'

Deleting Static IPv4 Address

curl -k -u root:'<password>' -X PATCH https://<bmc_ip>/redfish/v1/Managers/Bluefield_BMC/EthernetInterfaces/eth0 -d '{"IPv4StaticAddresses": [null]}'

Enabling/Disabling IPv4 DHCP

curl -k -u root:'<password>' -X PATCH https://<bmc_ip>/redfish/v1/Managers/Bluefield_BMC/EthernetInterfaces/eth0 -d '{"DHCPv4": {"DHCPEnabled": <state>}}'

Where <state> can be true or false.

Configuring Static DNS Server IPv4 and IPv6

curl -k -u root:'<password>' -X PATCH https://<bmc_ip>/redfish/v1/Managers/Bluefield_BMC/EthernetInterfaces/eth0 -d '{"StaticNameServers": ["<dns_ip>"]}'

Configuring Static IPv6 Address

curl -k -u root:'<password>' -X PATCH https://<bmc_ip>/redfish/v1/Managers/Bluefield_BMC/EthernetInterfaces/eth0 -d '{"IPv6StaticAddresses": [{"Address": "<ip>", "PrefixLength": <len>}]}'

Example:

curl -k -u root:'<password>' -X PATCH https://<bmc_ip>/redfish/v1/Managers/Bluefield_BMC/EthernetInterfaces/eth0 -d '{"IPv6StaticAddresses": [{"Address": "fe80::3eec:efff:fe3b:e02f", "PrefixLength": 64}]}'

Enabling/Disabling IPv6 DHCP

curl -k -u root:'<password>' -X PATCH https://<bmc_ip>/redfish/v1/Managers/Bluefield_BMC/EthernetInterfaces/eth0 -d '{"DHCPv6": {"OperatingMode": "<state>"}}'

Where <state> can be:

  • Enabled – DHCPv6 is enabled for this interface

  • Disabled – DHCPv6 is disabled for this interface

curl -k -u root:'<password>' -X PATCH https://<bmc_ip>/redfish/v1/Managers/Bluefield_BMC/EthernetInterfaces/eth0 -d '{"StatelessAddressAutoConfig": {"IPv6AutoConfigEnabled": "<state>"}}'

Where <state> can be:

  • true – Indicate IPv6 stateless address autoconfiguration (SLAAC) is enabled for this interface

  • false – Indicate IPv6 stateless address autoconfiguration is disabled for this interface

Enabling/Disabling NTP

curl -k -u root:'<password>' -X PATCH https://<bmc_ip>/redfish/v1/Managers/Bluefield_BMC/NetworkProtocol -d '{"NTP": {"ProtocolEnabled": <state>}}'

Where <state> can be true or false.

Configuring Static NTP Server IP

curl -k -u root:'<password>' -X PATCH https://<bmc_ip>/redfish/v1/Managers/Bluefield_BMC/NetworkProtocol -d '{"NTP": {"NTPServers": ["<ntp_server_ip>"]}}'

Network Management IPMI Commands

The following subsections list the available network IPMI commands.

Configuring IPv4 Mode

The following command sets LAN channel 1 IP config mode to static or DHCP which corresponds to network interface eth0.

ipmitool lan set 1 ipsrc <mode>

Where <mode> can be static or dhcp.

Configuring IPv6 Mode

The following command sets LAN channel 1 IP config mode to static or DHCP which corresponds to network interface eth0.

ipmitool lan6 set 1 rtr_cfg <mode>

Where <mode> can be static or dynamic. both is unsupported.

Adding IPv4 Address

The following commands add IPv4 address, default gateway, and netmask to the network interface eth0.

  • IP address:

    ipmitool lan set 1 ipaddr <ip-address>
    
  • Default gateway:

    ipmitool lan set 1 defgw ipaddr <ip-address>
    
  • Netmask:

    ipmitool lan set 1 netmask <netmask>
    

    IPMI supports only a single static IP address. If multiple static IP addresses are configured on the system, the new netmask will be applied to only one of them.

Getting IPv4 Config

The following command gets IPv4 network config for channel 1 which corresponds to the network interface eth0.

ipmitool lan print 1

Setting IPv6 Address

The following command adds IPv6 address to the network interface eth0.

ipmitool lan6 set 1 nolock static_addr 0 enable <ipv6-address> 64

Getting IPv6 Config

The following command gets IPv6 network config for channel 1 which corresponds to the network interface eth0.

ipmitool lan6 print 1

Getting DNS Server

ipmitool raw 0x32 0x6B

Output:

0b 31 30 2e 31 35 2e 31 32 2e 36 37

This output corresponds to 10.15.12.67.

Adding DNS Server

ipmitool raw 0x32 0x6C 0x0b 0x31 0x30 0x2e 0x31 0x35 0x2e 0x31 0x32 0x2e 0x36 0x37

Output:

0x0b 0x31 0x30 0x2e 0x31 0x35 0x2e 0x31 0x32 0x2e 0x36 0x37

This output corresponds to 10.15.12.67.

Getting NTP Server

ipmitool raw 0x32 0xA7

Output:

01 11 31 2e 69 6e 2e 70 6f 6f 6c 2e 6e 74 70 2e 6f 72 67

Where:

  • 01 – NTP status enable/disable

  • 11 – NTP server length

  • 31 2e 69 6e 2e 70 6f 6f 6c 2e 6e 74 70 2e 6f 72 67 – NTP server address byte stream which corresponds to 1.in.pool.ntp.org

Adding NTP Server

ipmitool raw 0x32 0xA8 0x01 0x31 0x2e 0x69 0x6e 0x2e 0x70 0x6f 0x6f 0x6c 0x2e 0x6e 0x74 0x70 0x2e 0x6f 0x72 0x67

Where:

  • 31 2e 69 6e 2e 70 6f 6f 6c 2e 6e 74 70 2e 6f 72 67 – NTP server address byte stream which corresponds to 1.in.pool.ntp.org

Enabling NTP Time Sync

The following command enables time sync to NTP server.

ipmitool raw 0x32 0xA8 0x02 0x01

Where:

  • 0x01 – enable NTP

Disabling NTP Time Sync

The following command disables time sync to NTP server.

ipmitool raw 0x32 0xA8 0x02 0x00

Where:

  • 0x00 – disable NTP

Configuring Router IPv6 Mode

The following command sets router mode to static or DHCP.

ipmitool lan6 set 1 rtr_cfg <mode>

Where <mode> can be:

  • static

  • Dynamic

Configuring static mode also requires setting the static router IP and static router MAC address.


Router prefix can only be 0.

Configuring IPv6 Static Router IP

The following command sets the IPv6 address for the static router.

 ipmitool raw 0x0c 0x01 0x01 0x41 <ip-hex>

Where:

  • <ip-hex> – the IP address

Configuring IPv6 Static Router MAC

The following command sets the MAC address for the static router.

 ipmitool raw 0x0c 0x01 0x01 0x42 <mac-hex>

Where:

  • <mac-hex> – the IP MAC address

Last updated: