Get / Set LAN Configuration Parameters
In order to reflect the capabilities provided by the XCC for some of the network settings, the values for some of the parameter data is defined as shown below.
- DHCP
- In addition to the usual methods of obtaining an IP address, the XCC provides a mode where it attempts to obtain an IP address from a DHCP server for a given period of time and if unsuccessful fails over to using a static IP address.The following table is a multi-row three column table consisting of the options, option descriptions, and associated values for the options.
Parameter # Parameter Data IP Address Source 4 data 1
[7:4] – reserved
[3:0] – address source
- 0h = unspecified
- 1h = static address (manually configured)
- 2h = address obtained by XCC running DHCP
- 3h = address obtained by BIOS or system software
- 4h = address obtained by XCC running other address assignment protocol.
The XCC uses the value 4h to indicate the address mode of DHCP with failover to static.
- Ethernet Interface Selection
The XCC hardware contains dual 10/100 Ethernet MACs with RMII interfaces. The XCC hardware also contains dual 1Gbps Ethernet MACs with RGMII interfaces. One of the MACs is usually connected to the shared server NIC and the other MAC is used as a dedicated system management port. Only one Ethernet port on a server is active at a given time. Both ports will not be simultaneously enabled.
On some servers, the system designers may choose to connect up only one or the other of these Ethernet interfaces on the system planar. In those systems, only the Ethernet interface that is connected on the planar is supported by the XCC. A request to use the unconnected port returns a CCh completion code.
The package IDS for all optional network cards are numbered as follows:optional card #1, package ID = 03h (eth2),
optional card #2, package ID = 04h (eth3),
The following table is a multi-row three column table consisting of the options, option descriptions, and associated values for the options.Parameter # Parameter Data OEM Parameter
This parameter number is used by the XCC to indicate which of the possible Ethernet ports (logical packages) should be used.
This parameter in the Get/Set LAN Configuration Parameters command does not use a Set Selector or a require Block Selector, so these fields should be set to 00h.
The response data will return 3 bytes, or optionally 4 bytes if the device is in an NCSI package.
- Byte 1 = completion code
- Byte 2 = revision
- Byte 3 = 00h for eth0, or 01h for eth1, etc…
- Byte 4 = (optional) channel number, if the device is an NCSI package
C0h data1
00h = eth0
01h = eth1
02h = eth2
etc…
FFh = disable all external network ports)
XCC supports a 2nd optional data byte to specify which channel in a package is used
data2
00h = channel 0
01h = channel 1
etc…
If data2 is not specified in the request, channel 0 is assumed
The data1 byte is used to specify the logical package. It may be a dedicated systems management NIC or an NCSI interface into the NIC shared with the server.
The data2 byte is used to specify the channel for logical package, if the package is an NCSI device. If the data2 is not specified in the request and the logical package is an NCSI device, channel 0 is assumed. If data2 is specified in the request but the logical package is not an NCSI device, the channel information is ignored.
Examples:
Appendix A. If channel 2 of the shared NIC on the planar (package ID = 0, eth0) is to be used as the management port , the input data would be: 0xC0 0x00 0x02
Appendix B: If the first channel of the first network mezzanine card is to be used, the input would be: 0xC0 0x02 0x0
- Ethernet over USB Enable/Disable
The parameter below is used to enable or disable the XCC inband interface.
The following table is a multi-row three column table consisting of the options, option descriptions, and associated values for the options.Parameter # Parameter Data OEM Parameter
(This parameter number is used by the XCC to enable or disable the Ethernet over USB interface.)
This parameter in the Get LAN Configuration Parameters command does not use a Set Selector or a require Block Selector, so these fields should be set to 00h.
The response data will return 3 bytes:
- Byte 1 = completion code
- Byte 2 = revision
- Byte 3 = 00h (disabled), or 01h (enabled)
C1h data 1
0x00 = disabled
0x01 = enabled
The data1 byte is used to specify the logical package. It may be a dedicated systems management NIC or an NCSI interface into the NIC shared with the server.
The data2 byte is used to specify the channel for logical package, if the package is an NCSI device. If the data2 is not specified in the request and the logical package is an NCSI device, channel, 0 is assumed. I data2 is specified in the request but the logical package is not an NCSI device, the channel information is ignored.
Examples:
Appendix A. If channel 2 of the shared NIC on the planar (package ID = 0, eth0) is to be used as the management port , the input data would be: 0xC0 0x00 0x02
Appendix B: If the first channel of the first network mezzanine card is to be used, the input would be: 0xC0 0x02 0x0
- IPMI option for getting the DUID-LLT
An additional read-only value that needs to be exposed via IPMI is the DUID. According to RFC3315, this format of DUID is based on the Link Layer Address Plus Time.
Parameter # Parameter Data OEM Parameter
(This parameter number is used by the XCC to enable or disable the Ethernet over USB interface.)
This parameter in the Get LAN Configuration Parameters command does not use a Set Selector or a require Block Selector, so these fields should be set to 00h.
The response data will return 3 bytes:
- Byte 1 = completion code
- Byte 2 = Parameter Revision (as in IPMI spec)
- Byte 3 = length of following data bytes (16 bytes currently)
- Byte 4-n DUID_LLT
C2h
- Ethernet configuration parameters
The parameters below may be used to configure specific Ethernet settings.
Parameter # Parameter Data OEM Parameter
(This parameter number is used by the XCC to enable or disable Auto-negotiation setting for Ethernet Interface.)
The response data will return 3 bytes:
- Byte 1 = completion code
- Byte 2 = revision
- Byte 3 = 00h (disabled), or 01h (enabled)
C3h data 1
0x00 = disabled
0x01 = enabled
Note: On Flex and ThinkSystem D2 Enclosure (ThinkSystem SD530 Compute Node) systems the auto-negotiation setting is not changeable because it could break the network communication path via the CMM and SMM.
OEM Parameter
(This parameter number is used by the XCC to get or set the Data rate of Ethernet Interface.)
The response data will return 3 bytes:
- Byte 1 = completion code
- Byte 2 = revision
- Byte 3 = 00h (10Mb), or 01h (100Mb)
C4h data 1
0x00 = 10Mbit
0x01 = 100Mbit
OEM Parameter
(This parameter number is used by the XCC to get or set the Duplex setting of the Ethernet interface.)
The response data will return 3 bytes:
- Byte 1 = completion code
- Byte 2 = revision
- Byte 3 = 00h (Half Duplex), or 01h (Full Duplex)
C5h data 1
0x00 = Half Duplex
0x01 = Full Duplex
OEM Parameter
(This parameter number is used by the XCC to get or set the Maximum transmission unit (MTU) of the Ethernet interface.)
The response data will return 3 bytes:
- Byte 1 = completion code
- Byte 2 = revision
- Byte 3-4 = size of MTU
C6h data 1
Size of MTU
OEM Parameter
(This parameter number is used by the XCC to get or set Locally administered MAC address.)
The response data will return 3 bytes:
- Byte 1 = completion code
- Byte 2 = revision
- Byte 3 – 8 = Mac Address
C7h data 1 - 6
Mac Address
- IPMI option for getting the Link-Local Address
This is a read-only parameter to retrieve the IPV6 Link-Local Address.
Parameter # Parameter Data OEM Parameter
This parameter is used to obtain the Link-Local address of the XCC:
The response data will return the following:
- Byte 1 = completion code
- Byte 2 = Parameter Revision (as in IPMI spec)
- Byte 3 = IPV6 address prefix length
- Byte 4-19 Local Link address in binary format
C8h
- IPMI option for enabling/disabling IPv6
This is a read/write parameter to enable/disable IPV6 in the XCC.
Parameter # Parameter Data OEM Parameter
This parameter is used to enable/disable IPv6 in the XCC
The response data will return the following:
- Byte 1 = completion code
- Byte 2 = Parameter Revision (as in IPMI spec)
- Byte 3 = 00h (disabled), or 01h (enabled)
C9h data 1
0x00 = disabled
0x01 = enabled
- Ethernet-over-USB Pass-through to external network
The parameter below is used to configure the Ethernet-over-USB to external Ethernet pass-through.
Parameter # Parameter Data OEM Parameter
This parameter in the Get/Set LAN Configuration Parameters command does not use a Set Selector or a require Block Selector, so these fields should be set to 00h.
The Get response data will return the following:
- Byte 1 = completion code
- Byte 2 = revision
- Byte 3 = reserved (00h)
- Bytes 4:5 = Ethernet-over-USB Port number (LSByte first)
- Bytes 6:7 = External Ethernet Port number (LSByte first)
The number of bytes to follow can vary (1, 4, or 16 bytes) depending upon the addressing mode:
- Byte 8 = pre-defined modes:
- 00h = the pass-through is disabled
- 01h = the CMM’s IP address is used
- Bytes 8:11 = IPv4 external network IP address in binary form
- Bytes 8:23 = IPv6 external network IP address in binary form
Completion codes:
00h – success
80h – parameter not supported
C1h – command not supported
C7h – request data length invalid
CAh Set LAN Configuration Parameters:
data 1
reserved (= 00h)
data 2:3
Ethernet over USB Port number, LSByte first
data 4:5
External Ethernet Port number, LSByte first
The number of bytes to follow can vary (1, 4, or 16 bytes) depending upon the addressing mode:
data 6
00h = disable the pass-through
01h = use the CMM’s IP address
data 6:9
IPv4 external network IP address in binary form
data 6:21
IPv6 external network IP address in binary form
OEM Parameter
This parameter is used to set and get the lan over usb ip address and netmask of the XCC:
The response data will return the following:
- Byte 1 = completion code
- Byte 2 = Parameter Revision (as in IPMI spec)
Byte 3:10 = IP address and Netmask value (MS-byte) first
CBh Data 1:4
IP address of XCC -side lan over usb interface.
Data 5:8
Netmask of XCC -side lan over usb interface
OEM Parameter
This parameter is used to set and get the lan over usb ip address of the Host OS:
The response data will return the following:
- Byte 1 = completion code
- Byte 2 = Parameter Revision (as in IPMI spec)
Byte 3:6 = IP address (MS-byte) first
CCh Data 1:4
IP address of Host-side lan over usb interface.
- Query Logical Package Inventory
The parameter below is used to query NCSI package inventory.
Parameter # Parameter Data OEM Parameter
This parameter in the Get/Set LAN Configuration Parameters command does not use a Set Selector or a require Block Selector, so these fields should be set to 00h.
Query package inventory operation
The query package information operation is performed by issuing the request with two 0x00 data bytes besides the D3h parameter number.
Query package inventory :
--> 0x0C 0x02 0x00 0xD3 0x00 0x00
The XCC response includes a byte of information for each package that is present:- bits 7:4 = number of NCSI channels in the package
- bits 3:0 = the logical package number
Response
--> 0x00 0x00 0x40 0x01 0x32
indicates that 3 logical packages are present:- package 0 has 4 NCSI channels
- package 1 is not an NCSI NIC , so it does not support NCSI channels
- package 2 has 3 NCSI channels
D3h Get/Set LAN Configuration Parameters:
- Get/Set Logical Package Data
The parameter below is used to read and to set the priority assigned to each package.
Parameter # Parameter Data OEM Parameter
This parameter in the Get/Set LAN Configuration Parameters command does not use a Set Selector or a require Block Selector, so these fields should be set to 00h.
The command supports 2 operations:
Read package priority
Set package priority
Read package priority operation
The read package priority operation is performed by issuing the request with two 0x00 data bytes besides the D4h parameter number.
Read package priority:
--> 0x0C 0x02 0x01 0xD4 0x00 0x00
Response
--> 0x00 0x00 0x00 0x12 0x23
- logical package 0 = priority 0
- logical package 2 = priority 1
- logical package 3 = priority 2
Set package priority operation
The set package priority operation is performed by issuing the request with one or more parameters in addition to the D4h parameter number.
Set package priority:
--> 0x0C 0x01 0x01 0xD4 0x00 0x12 0x23
- set logical package 0 = priority 0
- set logical package 2 = priority 1
- set logical package 3 = priority 2
Response:
completion code only, no additional data
D4 Get/Set LAN Configuration Parameters:
Bit [7-4] = priority of the logical package (1 = highest, 15 = lowest)
Bit [3-0] = logical package number
- Get/Set XCC networking synchronization status
Parameter # Parameter Data OEM Parameter
The byte is used to config to synchronize networking setting between dedicated and shared nic mode
This parameter in the Get LAN Configuration Parameters command does not use a Set Selector or a require Block Selector, so these fields should be set to 00h.
The response data will return 3 bytes:
- Byte 1 = completion code
- Byte 2 = revision
- Byte 3 = 00h (enabled) , or 01h (disabled)
D5h data 1
0x00 = Synchronization
0x01 = Independence
The byte is used to config to synchronize networking setting between dedicated and shared nic mode , the default value was 0h here, it mean XCC will automatically update networking setting between mode change and use shared nic (on board) as major reference , if set as 1h , each networking setting will be independent here , which is we can configure different networking setting between mode, such as VLAN enable on Dedicated and set VLAN disable on Shared NIC mode.
- Get/Set XCC networking mode
Parameter # Parameter Data OEM Parameter
This parameter is used to get/set network mode of XCC management NIC.
The response data will return 4 bytes:
- Byte 1 = completion code
- Byte 2 = revision
- Byte 3 = applied/specified netmode
- Byte 4 = package id of applied netmode
- Byte 5 = channel id of applied netmode
D6h Set LAN Configuration Parameters:
data 1
Netmode to set
Get LAN Configuration Parameters:
data 1
Netmode to get, This is an optional data, defaults to query current netmode