Network Protocol Support

NVIDIA BlueField BMC Software v24.04
Note

To obtain the BMC's MAC address, refer to the DPU's board label.

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

Get Network Protocol Configuration

Copy
Copied!
            

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

Get Interface Configuration

Copy
Copied!
            

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

Enable/Disable Interface

Copy
Copied!
            

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.

Note

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.

Static IPv4 Address Configuration

Copy
Copied!
            

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:

Copy
Copied!
            

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"}]}'

IPv4 DHCP Enable/Disable Configuration

Copy
Copied!
            

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.

Static DNS server IPv4 and IPv6 Configuration

Copy
Copied!
            

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

Static IPv6 Address Configuration

Copy
Copied!
            

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

Example:

Copy
Copied!
            

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}]}'

IPv6 DHCP Enable/Disable Configuration

Copy
Copied!
            

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:

  • stateful – DHCPv6 stateful mode is used to configure addresses, and when it is enabled, stateless mode is also implicitly enabled.
  • stateless – DHCPv6 stateless mode allows configuring the interface using DHCP options but does not configure addresses. It is always enabled by default whenever DHCPv6 stateful mode is also enabled.
  • disabled – DHCPv6 is disabled for this interface.

Enable NTP Configuration

Copy
Copied!
            

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.

Static NTP Server IP Configuration

Copy
Copied!
            

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

The following subsections list the available network IPMI commands.

Change Mode to Static

Sets LAN channel 1 IP config mode to static which corresponds to network interface eth0.

Copy
Copied!
            

ipmitool lan set 1 ipsrc <mode>

For example:

Copy
Copied!
            

ipmitool lan set 1 ipsrc static


Change Mode to DHCP

Sets LAN channel 1 IP config mode to DHCP which corresponds to the network interface eth0.

Copy
Copied!
            

ipmitool lan set 1 ipsrc <mode>

For example:

Copy
Copied!
            

ipmitool lan set 1 ipsrc dhcp


Add IPv4 Address

Adds IPv4 address, default gateway, and netmask to the network interface eth0.

  • IP address

    Copy
    Copied!
                

    ipmitool lan set 1 ipaddr <ip-address>

  • Default gateway:

    Copy
    Copied!
                

    ipmitool lan set 1 defgw ipaddr <ip-address>

  • Netmask:

    Copy
    Copied!
                

    ipmitool lan set 1 netmask <netmask>

Get IPv4 Config

Gets IPv4 network config for channel 1 which corresponds to the network interface eth0.

Copy
Copied!
            

ipmitool lan print 1


Set IPv6 Address

Adds IPv6 address to the network interface eth0.

Copy
Copied!
            

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


Get IPv6 Config

Gets IPv6 network config for channel 1 which corresponds to the network interface eth0.

Copy
Copied!
            

ipmitool lan6 print 1


Get DNS Server

Copy
Copied!
            

ipmitool raw 0x32 0x6B

Output:

Copy
Copied!
            

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

Corresponds to: 10.15.12.67.

Add DNS Server

Copy
Copied!
            

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

Output:

Copy
Copied!
            

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

Corresponds to: 10.15.12.67.

Get NTP Server

Copy
Copied!
            

ipmitool raw 0x32 0xA7

Output:

Copy
Copied!
            

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 corresponds to 1.in.pool.ntp.org

Add NTP Server

Copy
Copied!
            

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 corresponds to 1.in.pool.ntp.org

Enables NTP Time Sync

Enable time sync to NTP server.

Copy
Copied!
            

ipmitool raw 0x32 0xA8 0x02 0x01

Where:

  • 0x01 – enable NTP

Disables NTP Time Sync

Enable time sync to system RTC.

Copy
Copied!
            

ipmitool raw 0x32 0xA8 0x02 0x00

Where:

  • 0x00 – disable NTP

© Copyright 2024, NVIDIA. Last updated on May 22, 2024.