Data Sheet

Ethernet Controller I210 —System Manageability
754
10.6.8.2 Package Selection Sequence Example
Following is an example work flow for a BMC and occurs after the discovery, initialization, and
configuration.
Assuming the BMC needs to share the NC-SI bus between packages, the BMC should:
1. Define a time-slot for each device.
2. Discover, initialize, and configure all the NC packages and channels.
3. Issue a De-Select Package command to all the channels.
4. Set active_package to 0x0 (or the lowest existing package ID).
5. At the beginning of each time slot the BMC should:
a. Issue a De-Select Package to the active_package. The BMC must then wait for a response and
then an additional timeout for the package to become de-selected (200 s). See the NC-SI
specification table 10 — parameter NC Deselect to Hi-Z Interval.
b. Find the next available package (typically active_package = active_package + 1).
c. Issue a Select Package command to active_package.
10.6.8.3 Multiple Channels (Fail-Over)
In order to support a fail-over scenario, it is required from the BMC to operate two or more channels.
These channels might or might not be in the same package.
The key element of a fault-tolerance fail-over scenario is having two (or more) channels identifying to
the switch with the same MAC address, but only one of them being active at any given time (such as
switching the MAC address between channels). To accomplish this, NC-SI provides the following
commands:
1. Enable Network Tx command — This command enables shutting off the network transmit path of a
specific channel. This enables the BMC to configure all the participating channels with the same
MAC address but only enable one of them.
2. Link Status Change AEN or Get Link Status command.
10.6.8.3.1 Fail-Over Algorithm Example
The following is a sample workflow for a fail-over scenario for multiple the I210 GbE controllers
(multiple packages and one channel):
1. BMC initializes and configures all channels after power-up. However, the BMC uses the same MAC
address for all of the channels.
2. The BMC queries the link status of all the participating channels. The BMC should continuously
monitor the link status of these channels. This can be accomplished by listening to AENs (if used)
and/or periodically polling using the Get Link Status command.
3. The BMC then only enables channel 0 for network transmission.
4. The BMC then issues a gratuitous ARP (or any other packet with its source MAC address) to the
network. This packet informs the switch that this specific MAC address is registered to channel 0's
specific LAN port.
5. The BMC begins normal workflow.
6. Should the BMC receive an indication (AEN or polling) that the link status for the active channel
(channel 0) has changed, the BMC should:
a. Disable channel0 for network transmission.