BMC Configuration Examples

You can integrate current APIs into their software and applications in order to receive all services provided by Redfish APIs.

System Reset

URI: /redfish/v1/Systems/1/Actions/ComputerSystem.Reset

Method: POST

ResetType: AllowableValues:[ "On","ForceOff","GracefulShutdown","GracefulRestart","ForceRestart","Nmi","ForceOn", "PowerCycle"]

Response: 200

{

"Success": {

"code": "Base.v1_10_3.Success",

"message": "Successfully Completed Request."

}

}

 

Notifications

SNMP

URI: /redfish/v1/Managers/1/NetworkProtocol

Method: PATCH

Payload:

{

"SNMP": {"ProtocolEnabled": true}

}

 

SNMPv2

URI: /redfish/v1/Managers/1/NetworkProtocol

Method: PATCH

Payload:

{

"SNMP": {"EnableSNMPv2c": true}

}

 

SNMPv3

URI: /redfish/v1/Managers/1/NetworkProtocol

Method: PATCH

Payload:

{

"SNMP": {"EnableSNMPv3": true}

}

 

Syslog

URI: /redfish/v1/Managers/1/Oem/Supermicro/Syslog

Method: PATCH

Payload:

{

"EnableSyslog": true,

"SyslogPortNumber": 514,

"SyslogServer": "10.136.176.16"

}

 

FanMode

URI: /redfish/v1/Managers/1/Oem/Supermicro/FanMode

Method: PATCH

Payload:

{

"Mode": "FullSpeed"

}

Mode Allowable Values: {"Standard", "FullSpeed", "Optimal", "PUE2","HeavyIO"}

 

NTP

URI: /redfish/v1/Managers/1/Oem/Supermicro/NTP

Method: PATCH

Payload:

{

"NTPEnable": true,

"PrimaryNTPServer":"127.0.0.1",

"SecondaryNTPServer":"127.0.0.1",

"DaylightSavingTime": false

}

Response: 202

Note: Check the task monitor to check the progress for NTP

 

RADIUS

URI: /redfish/v1/Managers/1/Oem/Supermicro/RADIUS

Method: PATCH

Payload:

{

"RadiusEnabled":true,

"RadiusServerIP":"127.0.0.1",

"RadiusPortNumber":1812,

"RadiusSecret":"SECRET"

}

 

Snooping

URI: /redfish/v1/Managers/1/Oem/Supermicro/Snooping

Method: GET

 

IP Access Control

URI: /redfish/v1/Managers/1/Oem/Supermicro/IPAccessControl

Method: PATCH

Payload:

{

"ServiceEnabled": true

}

 

Adding a Rule

URI: /redfish/v1/Managers/1/Oem/Supermicro/IPAccessControl/FilterRules

Method: POST

Payload:

{

"Address": "<IP>",

"PrefixLength": 24,

"Policy": "Accept"

}

Policy Allowable Values: "Accept", "Drop"

 

Deleting a Rule

URI: /redfish/v1/Managers/1/Oem/Supermicro/IPAccessControl/FilterRules/[num]

Method: DELETE

 

SMCRAKP

URI: /redfish/v1/Managers/1/Oem/Supermicro/SMCRAKP

Method: PATCH

Payload:

{

"Mode": "Enabled"

}

 

iKVM

URI: /redfish/v1/Managers/1/Oem/Supermicro/IKVM

Method: GET

Response: {"Mode": "Relative"}

{

"@odata.type": "#IKVM.v1_0_2.IKVM",

"@odata.id": "/redfish/v1/Managers/1/Oem/Supermicro/IKVM",

"Id": "IKVM",

"Name": "IKVM",

"Current interface": "HTML 5",

"URI": "/redfish/GyoehEnZlt76uco.IKVM"

}

Use response property, “URI”, above to prepend “https://${BMC_IP}“ and paste this complete URL in a browser to render HTML5 iKVM.

Example of launching URL: https://{BMC_IP}/redfish/Kk1D4UVATDja0Jw.IKVM

 

iKVM Mouse Mode

URI: /redfish/v1/Managers/1/Oem/Supermicro/MouseMode

Method: PATCH

Payload:

{

"Mode": "Relative"

}

Mode Allowable Values: "Absolute", "Relative", "Single"

 

KCS Channel Control

This API allows you to secure their environment by giving appropriate privileges to access the KCS interface.

URI: /redfish/v1/Managers/1/Oem/Supermicro/KCSInterface

Method: PATCH

Payload:

{

"Privilege": "Administrator"

}

Privilege Allowable Values:

  • Administrator: Users accessing KCS interface will be able to do all the operations that the administrator user can do.

  • Operator: Users accessing KCS interface will be able to do all the operations that users with Operator privileges can do.

  • User: Users accessing the KCS interface will be able to do all the operations that users with User privileges can do.

  • Callback: This is the lowest privilege level. Only commands necessary to support initiating a Callback are allowed.

  • DisableKCS: Disabling KCS function, only support after KCS version 1.1.0, you can check in "@odata.type"

URI: /redfish/v1/Managers/1/Oem/Supermicro/KCSInterface

Method: GET

Response:200

{

"@odata.type": "#KCSInterface.v1_1_0.KCSInterface",

"@odata.id": "/redfish/v1/Managers/1/Oem/Supermicro/KCSInterface",

"Id": "KCSInterface",

"Name": "KCS Interface",

"Privilege": "Administrator",

"@odata.etag": "\"7f21b53f195494a7c2dad2008917b1d7\""

}

Getting MAC Addresses from System NICs

URI: /redfish/v1/Systems/1/EthernetInterfaces/1

Method: GET

Response:200

{

"@odata.type": "#EthernetInterface.v1_5_2.EthernetInterface",

"@odata.id": "/redfish/v1/Systems/1/EthernetInterfaces/1",

"Id": "1",

"Name": "AOC_NIC1",

"Description": "AOC-GTG-i2T #1",

"Status": {

"State": "Enabled",

"Health": "OK"

}

"MACAddress": "7c:c2:55:06:00:56",

"SpeedMbps": 0,

"FQDN": ""

}

 

Chassis Intrusion

URI: /redfish/v1/Chassis/1

Method: GET/PATCH

Payload:

{

"PhysicalSecurity":{"IntrusionSensor": "Normal"}

}

 

Network DNS

Supported Platforms Supported BMC Firmware Redfish User Guide Version
X12/H12 1.3.3 or later Version 3.4

URI: /redfish/v1/Managers/1/EthernetInterfaces/1

Method: GET/PATCH

Payload:

{

"StaticNameServers":[

"10.10.10.1",

"10.10.10.2"

]

}

LLDP

/redfish/v1/Managers/1/SharedNetworkPorts

URI: /redfish/v1/Managers/1/SharedNetworkPorts

Method: GET

Response:200

{

"@odata.type": "#PortCollection.PortCollection",

"@odata.id": "/redfish/v1/Managers/1/SharedNetworkPorts",

"Name": "SharedNetworkPorts Collection",

"Description": "Collection of SharedNetworkPorts",

"Members@odata.count": 1,

"Members":[

{

"@odata.id": " /redfish/v1/Chassis/1/NetworkAdapters/1/Ports/1"

}

],

"@odata.etag": "894cb8ea4eb6da2fb62990a90f2d2859"

}

/redfish/v1/Managers/1/DedicatedNetworkPorts

URI: /redfish/v1/Managers/1/DedicatedNetworkPorts

Method: GET

Response:200

{

"@odata.type": "#PortCollection.PortCollection",

"@odata.id": "/redfish/v1/Managers/1/DedicatedNetworkPorts",

"Name": "DedicatedNetworkPorts Collection",

"Description": "Collection of DedicatedNetworkPorts",

"Members@odata.count": 1,

"Members":[

{

"@odata.id": "/redfish/v1/Managers/1/DedicatedNetworkPorts/1"

}

],

"@odata.etag": "2a446445042d962d51a0f0c17658d6e1"

}

/redfish/v1/Managers/1/DedicatedNetworkPorts/num

URI: /redfish/v1/Managers/1/DedicatedNetworkPorts/num

Method: GET

Response:200

{

"@odata.type": "#Port.v1_8_0.Port",

"@odata.id": "/redfish/v1/Managers/1/DedicatedNetworkPorts/1",

"Id": "1",

"Name": "DedicatedNetworkPorts 1",

"Description": "DedicatedNetworkPorts 1 information",

"CurrentSpeedGbps": 1,

"MaxSpeedGbps": 1,

"LinkStatus": "LinkUp",

"LinkState": "Enabled",

"PortId": "1",

"PortProtocol": "Ethernet",

"LinkNetworkTechnology": "Ethernet",

"PortType": "BidirectionalPort",

"Status":{

"State": "Enabled",

"Health": "OK",

"HealthRollup": "OK"

},

"Ethernet":{

"AssociatedMACAddresses":[

"7C:C2:55:30:FB:F6"

],

"LLDPEnabled": false,

"LLDPReceive":{},

"LLDPTransmit":{"ChassisIdSubtype": "NotTransmitted", "ChassisId": "", "ManagementAddressIPv4": "", "ManagementAddressIPv6": "",…}

},

"Oem":{

"Supermicro":{

"@odata.type": "#SmcPortExtensions.v1_0_0.Ports",

"LLDPTransmitEnabled": false

}

},

"@odata.etag": "b253ce04be488af8d0daf5daa707e43e"

}