Techniques for a switch to receive network controller sideband interface control packets

Examples may include receiving, at a switch, an Ethernet frame having an Ethernet header that may indicate the Ethernet frame includes a network controller sideband interface (NC-SI) control packet from a management controller at a compute node coupled to the switch. In some examples, a response to a command included in a received NC-SI control packet that was encapsulated in an Ethernet frame may be processed at the switch and sent to the management controller.

TECHNICAL FIELD

Examples described herein are generally related to a switch coupled to one or more compute nodes separately having a management controller.

BACKGROUND

In some of today's server systems, one or more compute nodes coupled to a switch may separately have a management controller. The management controller may be referred to as a baseband management controller (BMC). The management controller may have its own media access control (MAC) address to allow the management controller to provide various types of network services. The types of network services may include usage of various types of remote management protocols such as those associated with the intelligent platform management interface (IPMI), the file transfer protocol (FTP), the hypertext transfer protocol (HTTP), the remote desktop protocol (RDP).

Typically, a management controller may couple to a local access network (LAN) on motherboard (LOM) in order to gain network connectivity. For example, the management controller may be able to send and receive network traffic such as Ethernet traffic by sharing a physical port of the LOM with a host OS using a sideband technology such as one described by the Distributed Management Task Force (DMTF) in the Network Controller Sideband Interface (NC-SI) Specification, version 1.0, published in July 2009 and/or later versions of revisions. Ethernet traffic (e.g., Ethernet frames) may be arranged according to communication protocols or standards such those described in one or more Ethernet standards promulgated by the Institute of Electrical and Electronics Engineers (IEEE). For example, one such Ethernet standard may include IEEE 802.3-2008, Carrier sense Multiple access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications, Published in December 2008 (hereinafter “IEEE 802.3”)

DETAILED DESCRIPTION

As contemplated in the present disclosure, a management controller for a compute node may have its own MAC address to provide network services. If a management controller is resident on a compute node having an LOM, the management controller may use a shared port with a host OS to obtain the MAC address from an Ethernet controller via a sideband link. The sideband link, for example, may be arranged according to the NC-SI specification and the management controllers may use commands defined by the NC-SI specification to obtain the MAC address. In this way, an original equipment manufacturer (OEM) may not have to program MAC addresses for the host OS and the management controller in separate locations. For example, a first non-volatile memory (NVM) to store the host OS MAC address and a second NVM to store the management control MAC address. Instead, an OEM may just have to program MAC addresses in a single NVM for the Ethernet controller.

In some examples, a new type of hybrid switch is being deployed that supports a plurality of Ethernet links though separate peripheral component interconnect express (PCIe) links (e.g., via some kind of fabric or communication channel) with host circuitry (which implements the host OS) at a respective compute node. The PCIe links may be arranged to operate in compliance with one or more industry standards or specifications (including progenies or variants) to include the Peripheral Component Interconnect (PCI) Express Base Specification, revision 3.0, published in November 2010, and/or later versions or revisions. The new type of hybrid switch may have a of network interface card (NIC) interfaces or network input/output (I/O) devices to support a multitude of Ethernet links with one or more compute nodes. The multitude of network I/O devices may allow the one or more compute nodes to separately receive or send Ethernet frames over the multitude of Ethernet links.

In some examples, when a given compute node queries for PCIe devices, the new type of hybrid switch may appear as an Ethernet Controller. The given compute node may then be able to receive or send Ethernet frames without having to have any sort of actual Ethernet controller or LOM resident at the given compute node. For these examples, if the given compute node has no resident Ethernet controller or LOM, there may be no sideband connection for a management controller at the given compute node to use to obtain a MAC address via NC-SI protocols. As a result, an OEM for the given compute node may be forced to program a MAC address within a local NVM of the management controller. The programming of MAC addresses for each management controller may be an unacceptable and/or time consuming burden to the OEM. Also, other NC-SI commands (e.g., setting unicast or multicast MAC address filters) may not be available to management controllers on compute nodes lacking a resident Ethernet controller and associated sideband link. It is with respect to these benefits and/or other challenges that the examples described herein are needed.

According to some examples, techniques for a switch to receive NC-SI control packets may include receiving an Ethernet frame from a port of the switch coupled to a management controller resident on a compute node from among one or more compute nodes coupled to the switch. The techniques may also include determining whether the Ethernet frame has an Ethernet header that indicates the Ethernet frame includes a network controller sideband interface (NC-SI) control packet and then forwarding the Ethernet frame to a control processor for the switch that is capable of responding to a command included in the NC-SI control packet based on the determination. For these examples, a response may include, but is not limited to, a MAC address for use by the management controller to receive or send Ethernet frames through one or more network I/O devices maintained at the switch.

FIG. 1illustrates an example system100. In some examples, as shown inFIG. 1, system100includes a switch110coupled to compute nodes120-1to120-n, where “n” is any positive whole integer greater than 2. For these examples,FIG. 1also shows switch110as including circuitry112and memory114(e.g., non-volatile memory).FIG. 1also shows compute nodes120-1,120-2and120-nincluding respective management controllers120-1,120-2,120-nand respective host circuitry124-1,124-2,124-n. Also for these examples,FIG. 1shows that management controllers120-1,120-2, and120-nmay couple to circuitry112at switch110via respective dedicated links123-1,123-2and123-n. Further,FIG. 2also shows that respective host circuitry124-1,124-2and124-ncouple to circuitry112via respective communication channels125-1,125-2and125-n. According to some examples, both dedicated links123-1to123-nand communication channels125-1to125-nmay be arranged to operate in compliance with IEEE 802.3 in order to receive or send Ethernet frames.

According to some examples, switch110may be coupled to a network130via network communication channel135. Network communication channel135may also be arranged to operate in compliance with IEEE 802.3

In some examples, circuitry112of switch110may support one or more network I/O devices or NICs via which management controllers and/or host circuitry at a given compute node may receive/send Ethernet frames originating from or destined to network130. In some examples, communication channels125-1to125-nmay be arranged to enable host circuitry124-1to125-nto connect or couple with switch110over a PCIe link and then receive/send Ethernet frames over communication channels125-1to125-nwithout the need for a resident Ethernet controller at compute nodes120-1to120-n. As such, switch110may be configured as a type of hybrid switch.

According to some examples, a communication channel from among communication channels125-1to125-nmay couple to a port at the one or more network I/O interfaces supported by circuitry112. For these examples, control processor113may be capable of controlling or configuring switch ASIC111to route Ethernet frames to/from compute nodes120-1to120-nthrough these supported network I/O interfaces and over a respective communication channel. These routed Ethernet frames may be between compute nodes or may be between a compute node and a destination/source associated with network130.

In some examples, a dedicated link from among dedicated links123-1to123-nmay couple to another port at the one or more network I/O interfaces supported by circuitry112. As described more below, in some examples, logic and/or features of ASIC111may be arranged to receive Ethernet frames from management controllers coupled to the dedicated link and determine whether the Ethernet frame has an Ethernet header that indicates the received Ethernet frame includes an NC-SI control packet (e.g., via use of a filter component or logic). If the Ethernet frame is determined to have the NC-SI control packet, the logic and/or features of ASIC111may be arranged to forward the Ethernet frame to logic and/or features of control processor113to respond to a command included in the NC-SI control packet. According to some examples, the command may include a request for a MAC address and the logic and/or features of control processor113may obtain a MAC address from memory114and send the MAC address to the management controller in a response included in another NC-SI control packet encapsulated within a separate Ethernet frame.

According to some examples, communication channels125-1to125-nmay include high throughput or bandwidth communication channels (e.g., multiple gigabits (Gbits) per second) configured as a type of switch fabric to route Ethernet frames to/from respective host circuitry124-1to124-nat compute nodes120-1to120n.

In some examples, dedicated links123-1to123-nmay include lower throughput or bandwidth communication links as compared to communication channels125-1to125-n(e.g., 100 megabits (Mbits) per second or less). For these examples, dedicated links123-1to123-nmay be arranged to route Ethernet frames to/from respective management controllers122-1to122-N at compute nodes120-1to120-nthrough a serial/deserializer (SerDes) interface or other type of interface for a lower throughput or bandwidth communication link. Also, in some examples, dedicated links123-1to123-n, as shown inFIG. 1, are separate from or not accessible to respective host circuitry124-1to124-nand thus are dedicated for use by respective management controller122-1to122-nto receive/send Ethernet frames that may or may not include or encapsulate NC-SI control packets. These dedicated links may also be referred to as out-of-band or sideband communication links that are not routed through host circuitry of a compute node.

FIG. 2illustrates an example frame format200. In some examples, as shown inFIG. 2, frame format200may include an Ethernet header210, a payload220and integrity control230. Also, as shown inFIG. 2, Ethernet header210includes fields for destination address212, source address214and EtherType216. According to some examples, as shown inFIG. 2, payload220may include a field for an NC-SI control packet222and integrity control230may include a field for a frame check sequence (FCS)232.

According to some examples, Ethernet frames in example frame format200may be exchanged between a switch and one or more compute nodes having respective management controllers over a dedicated links. For example, frame format200may be used by logic and/or features of switch110and management controllers for compute nodes120-1to120-nshown inFIG. 1. For these examples, the logic and/or features of switch110such as ASIC111may be capable of receiving an Ethernet frame from a management controller such as management controller122-1in the example format of frame format200over dedicated link123-1to handle and process NC-SI control packets possibly encapsulated in the received Ethernet frame.

In some examples, destination address212and/or source address214included in Ethernet header210may each have either a destination/source MAC address or a broadcast address such as FF:FF:FF:FF:FF:FF. The broadcast address may be used if an Ethernet frame in the example format of frame format200encapsulates an NC-SI control packet as indicated in EtherType216. For these examples, encapsulation of an NC-SI control packet may be indicated by a fixed hexadecimal value of 0x88F8 in EtherType216. Examples are not limited to only a fixed hexadecimal value of 0x88F8, other fixed values are contemplated.

According to some examples, if the Ethernet frame encapsulates an NC-SI control packet the Ethernet frame in the example format of frame format200may be included in NC-SI-control packet222. Also, integrity control for the Ethernet frame may be included in FCS232to facilitate packet integrity of a received or sent Ethernet frame in the example format of frame format200.

According to some examples, logic and/or features of switch110may use the value included in EtherType216to determine whether a received Ethernet frame includes an encapsulated NC-SI control packet. The logic and/or features of switch110may route the packet according to the indicated destination address in destination address212if the value does not match the fixed hexadecimal value of 0x88F8. If the value does match, the logic and/or features of switch110may forward the Ethernet frame for further processing to respond to the command or request included in the NC-SI control packet (e.g., a request for a MAC address). As described more below, an NC-SI header included with the encapsulated NC-SI control packet may be used to process the command or request.

In some examples, logic and/or features of switch110may generate an Ethernet frame in the example frame format200to send a response to a processed command or request. For these examples, the fixed hexadecimal value of 0x88F8 may be included in EtherType216and information associated with the response (e.g., provide a MAC address) may be included in NC-SI control packet222. The broadcast destination/source address of FF:FF:FF:FF:FF:FF may be used as well in destination/source212/214. Integrity control for the Ethernet frame may be included in FCS232to facilitate packet integrity of the Ethernet frame.

FIG. 3illustrates an example control packet format300. As shown inFIG. 3, control packet format300may include a control packet header310and a payload320. According to some examples, control packet format300may be for an NC-SI control packet encapsulated within or included in an Ethernet frame in the format of example frame format200as shown inFIG. 2. Included in control packet header310, as shown inFIG. 3, are fields for management controller identifier (MC ID)312, header revision314, instance ID316, type317, channel (Ch.) ID318or payload length316. Included in payload320, as shown inFIG. 3, are fields for data322, payload pad324, checksum232or Ethernet pad324.

According to some examples, MC ID312may be a field set by a management controller that originated a command. For these examples, logic and/or features of a switch receiving a control packet having the command may copy the MC ID312in a control packet included in a response to the command. Also, in some examples, the logic and/or features of the switch may recognize the port of the switch coupled to the management controller as belonging to a specific management controller. For these examples, the MC ID in MC ID312may be set to a fixed value (e.g., a value of “1” or “0”) since the specific management controller may be recognized by the port via which the control packet was received (e.g., via a dedicated link).

In some examples, header revision314may be a field that identifies a version of control packet in use by the sender. Also, instance ID field316may be a field that includes an instance ID of a command and an associated response to the command. Logic and/or features at a switch that may process a command may use information in ID field316to differentiate old commands from new commands.

According to some examples, type317may be a field that includes an identifier used to identify commands and responses. In some examples, NC-SI compliant commands and associated responses may be assigned unique values as identified in the NC-SI specification. For example, a type of command to set a MAC address to set-up one or more unicast or multicast MAC address filters at a switch in order to selectively forward inbound Ethernet frames to a management controller that sent the command. This example of a set a MAC address command may be assigned a hexadecimal value of 0x0E and an associated response may have a value of 0x8E as defined in the NC-SI specification. In another example, a type of command to get parameters may be used to get configuration parameter values that may have been put into effect by the management controller that sent one or more previously received commands. This example of a get parameter command may have a hexadecimal value of 0x17 and an associated response may have a value of 0x97 as defined in the NC-SI specification.

In some examples, an identifier assigned by the NC-SI specification and included in type317may be for an OEM command/response. This example of an OEM command may have a hexadecimal value of 0x50 and an associated response may have a value of 0xD0. For these examples, an OEM may have some flexibility to enable a management controller to request vendor-specific information or data. For example, the vendor-specific information may be MAC addresses programmed by the OEM to an NVM that may be accessible to logic and/or features of a switch. The MAC addresses may be for a plurality of management controllers expected to be coupled to the switch when deployed (e.g., in a rack, tray or self). As mentioned previously, management controllers may need their own MAC addresses in order to separately receive or send Ethernet frames through one or more network I/O devices maintained at the switch. Vendor-specific information is not limited to MAC addresses for management controllers. Other types of vendor-specific information are contemplated by this disclosure.

According to some examples, Ch. ID318may be a field that includes a channel identifier. For these examples, according to the NC-SI, a management controller may set the value included in Ch. ID318in order to specify a package and internal channel ID for which a given command is intended.

In some examples, payload length319may be a field that indicates a size or length (e.g., in bytes) of payload data present in a command or response following the control packet header310.

According to some examples, data322may be a field including the payload data for an NC-SI control packet in the example format of control packet format300. For these examples, payload data may be variable sizes and may require alignment or padding. Payload pad324, for example, may be a field used to pad a payload if data included in data322does not end on a 32-bit boundary. For this example, padding bytes may be used to cause checksum232to be aligned to a 32-bit boundary. Checksum232may then be used to verify packet integrity of the NC-SI control packet.

In some examples, Ethernet pad324may be a field used to ensure a length of an Ethernet frame that encapsulates or includes an NC-SI control packet in the example format of control packet format300is at least 64 bytes. For these examples, padding may be needed to bring the Ethernet frame into compliance with IEEE 802.3.

FIG. 4illustrates an example flow diagram. As shown inFIG. 4, the flow diagram includes flow400. In some examples, elements of system100as shown inFIG. 1as well as frame format200and control packet format300as described inFIGS. 2 and 3may be used to illustrate example operations related to flow400. The described example operations are not limited to implementations on system100or the frame/control packet formats described therein forFIGS. 1-3.

Moving from the start to block410(Ethernet Frame Received), logic or features at a switch110such as switch ASIC111may receive an Ethernet frame from a port of switch110coupled to management controller such as management controller122-1resident on compute node120-1. For these examples, the received Ethernet frame may be in the example format of frame format200.

Proceeding from block410to decision block420(EtherType NC-SI?), the logic or features at ASIC111may be capable of determining whether EtherType216has a value that indicates whether the received Ethernet frame includes an NC-SI control packet. As mentioned above forFIG. 2, a hexadecimal value of 0x88F8 in EtherType216may indicate that the Ethernet frame includes an NC-SI control packet. Therefore, if EtherType216has a value of 0X88F8, the process moves to block450. Otherwise, the process moves to block430.

Moving from decision block420to block430(Continue Normal Operations), the logic or features at the switch may continue with normal operations that may include forwarding the received Ethernet frame to its destination address as indicated in the received Ethernet frame. Normal operations may also include processing the frame for non NC-SI responses if the destination address is the switch's address. The process then may then come to an end.

Moving from decision block420to block440(Process NC-SI Command/Request), the logic or features at ASIC111may cause the received Ethernet frame to be forwarded to logic and/or features of control processor113to process a command/request included in the NC-SI control packet. In some examples, the NC-SI control packet may be in the example format of control packet format300and may indicate a command type in type317. For these examples, the logic and/or features of control processor113may be capable of responding to the command/request based on the command type indicated in type317. For example, the command may include a request for a MAC address for management controller122-1to receive or send Ethernet frames through a network I/O device maintained at switch110.

Proceeding from block440to block450(Send NC-SI Response), the logic or features at control processor113may send an NC-SI response in an Ethernet frame in the example format of frame format200that includes an NC-SI control packet in the example format of control packet format300. In some examples, the response may include providing a MAC address to management controller122-1. The process may then come to an end.

FIG. 5illustrates an example block diagram for a first apparatus500. As shown inFIG. 5, the first apparatus includes an apparatus500. Although apparatus500shown inFIG. 5has a limited number of elements in a certain topology, it may be appreciated that the apparatus500may include more or less elements in alternate topologies as desired for a given implementation.

The apparatus500may be supported by circuitry520maintained at a switch computing device. Circuitry520may be arranged to execute one or more software or firmware implemented modules or components522-a. It is worthy to note that “a” and “b” and “c” and similar designators as used herein are intended to be variables representing any positive integer. Thus, for example, if an implementation sets a value for a=5, then a complete set of software or firmware for components522-amay include components522-1,522-2,522-3or522-4. The examples presented are not limited in this context and the different variables used throughout may represent the same or different integer values.

According to some examples, circuitry520may include a processor or processor circuitry. Circuitry520may be part of circuitry at a switch (e.g., switching ASIC111or control processor113of switch110) that includes processing cores. The circuitry including one or more processing cores can be any of various commercially available processors, including without limitation an AMD® Athlon®, Duron® and Opteron® processors; ARM® application, embedded and secure processors; IBM® and Motorola® DragonBall® and PowerPC® processors; IBM and Sony® Cell processors; Intel® Atom®, Celeron®, Core (2) Duo®, Core i3, Core i5, Core i7, Itanium®, Pentium®, Xeon®, Xeon Phi® and XScale® processors; and similar processors. According to some examples circuitry520may also include an application specific integrated circuit (ASIC) and at least some components522-amay be implemented as hardware elements of the ASIC.

According to some examples, apparatus500may include a receive component522-1. Receive component522-1may be executed by circuitry520to receive Ethernet frame(s)505from a port of a switch that may include apparatus500. The port may be coupled to a management controller resident on a compute node from among one or more compute nodes also coupled to the switch.

According to some examples, apparatus500may also include a filter component522-2. Filter component522-2may be executed by circuitry520to determine whether a given Ethernet frame received with Ethernet frame(s)505indicates the Ethernet frame includes an NC-SI control packet. For these examples, the given Ethernet frame may be in the example format of frame format200. Filter component522-2may be able to compare the value in EtherType216to a value of 0x88F8 to determine if the given Ethernet frame includes an NC-SI control packet. Filter component522-2may then forward the Ethernet frame or at least the NC-SI control packet to other components of apparatus500for further processing.

In some examples, apparatus500may also include a response component522-3. Response component522-3may be executed by circuitry520to respond to a command included in the NC-SI control packet based on the determination by filter component522-2that the given Ethernet frame received with Ethernet frames(s) does indicate inclusion of the NC-SI control packet. For these examples, a response may include providing a MAC address, getting operating parameters or setting MAC address filters to name a few of the possible responses associated with received command/requests.

In some examples, apparatus500may also include a send component522-4. Send component522-4may be executed by circuitry520to send a response to the command in Ethernet frame(s)515. For these examples, the management controller may be coupled to the switch port via a dedicated Ethernet link (e.g., through a SerDes interface). Ethernet frame(s)515may be in the example format of frame format200and may be sent to the management controller over the dedicated Ethernet link. EtherType216may include the value of 0x88F8 to indicate to the management controller that Ethernet frame(s)515include an NC-SI control packet. Also, the NC-SI control packet may be in the example format of control packet format300. Information included in the various fields of the NC-SI control packet may include a response to the NC-SI control packet received by received component522-1with Ethernet frames(s)505(e.g., a MAC address requested by the management controller).

A logic flow may be implemented in software, firmware, and/or hardware. In software and firmware embodiments, a logic flow may be implemented by computer executable instructions stored on at least one non-transitory computer readable medium or machine readable medium, such as an optical, magnetic or semiconductor storage. The embodiments are not limited in this context.

FIG. 6illustrates an example of a first logic flow. As shown inFIG. 6the first logic flow includes a logic flow600. Logic flow600may be representative of some or all of the operations executed by one or more logic, features, or devices described herein, such as apparatus500. More particularly, logic flow600may be implemented by at least receive component522-1, filter component522-2, response component522-3or send component522-4.

According to some examples, logic flow600at block602may receive, at a switch for one or more compute nodes, an Ethernet frame from a port of the switch coupled to a management controller resident on a compute node from among the one or more compute nodes. For these examples, receive component522-1may receive the Ethernet frame.

In some examples, logic flow600at block604may determine whether the Ethernet frame has an Ethernet header that indicates the Ethernet frame includes an NC-SI control packet. For these examples, filter component522-1may make this determination based on a value included in an EtherType field of the Ethernet header.

In some examples, logic flow600at block606may forward the Ethernet frame to a control processor for the switch that is capable of responding to a command included in the NC-SI control packet based on the determination. For these examples, filter component522-2may be capable of forwarding the Ethernet frame to response component522-3. Response component522-3may then respond to the command and Send component522-4may cause the response to be sent to the management controller in another Ethernet frame.

FIG. 7illustrates an example of a first storage medium. As shown inFIG. 7, the first storage medium includes a storage medium700. The storage medium700may comprise an article of manufacture. In some examples, storage medium700may include any non-transitory computer readable medium or machine readable medium, such as an optical, magnetic or semiconductor storage. Storage medium700may store various types of computer executable instructions, such as instructions to implement logic flow600. Examples of a computer readable or machine readable storage medium may include any tangible media capable of storing electronic data, including volatile memory or non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writeable or re-writeable memory, and so forth. Examples of computer executable instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, object-oriented code, visual code, and the like. The examples are not limited in this context.

FIG. 8illustrates an example computing platform800. In some examples, as shown inFIG. 8, computing platform800may include a processing component840, other platform components or a communications interface860. According to some examples, computing platform800may be implemented in a switch computing device capable of coupling to one or more compute nodes (e.g., in a rack, tray or shelf).

In some examples, communications interface860may include logic and/or features to support a communication interface. For these examples, communications interface860may include one or more communication interfaces that operate according to various communication protocols or standards to communicate over direct or network communication links. Direct communications may occur via use of communication protocols or standards described in one or more industry standards (including progenies and variants) such as those associated with the PCIe specification. Network communications may occur via use of communication protocols or standards such those described in one or more Ethernet standards promulgated by IEEE. For example, one such Ethernet standard may include IEEE 802.3. Network communication may also occur according to one or more OpenFlow specifications such as the OpenFlow Hardware Abstraction API Specification.

As mentioned above computing platform800may be part of a switch computing device. Accordingly, functions and/or specific configurations of computing platform800described herein, may be included or omitted in various embodiments of computing platform800, as suitably desired for a switch computing device.

The follow examples pertain to additional examples of technologies disclosed herein.

An example apparatus may include circuitry at a switch for one or more compute nodes. The example apparatus may also include a receive component for execution by the circuitry to receive an Ethernet frame from a port of the switch coupled to a management controller resident on a compute node from among the one or more compute nodes. The example apparatus may also include a filter component for execution by the circuitry to determine whether the Ethernet frame has an Ethernet header that indicates the Ethernet frame includes an NC-SI control packet. The example apparatus may also include a response component for execution by the circuitry to respond to a command included in the NC-SI control packet based the determination by the filter component.

The example apparatus of example 1, the port of the switch may be coupled to a dedicated Ethernet link to the management controller.

The example apparatus of example 2, the dedicated Ethernet link may be arranged to route Ethernet frames through a SerDes interface.

The example apparatus of example 2 may also include a send component for execution by the circuitry to send a response to the command in another Ethernet frame via the dedicated Ethernet link. For example 4, the other Ethernet frame may have another Ethernet header that indicates an NC-SI control packet that includes the response.

The example apparatus of example 4, the command may include a request for a MAC address for the management controller to receive or send Ethernet frames through a network I/O device maintained at the switch.

The example apparatus of example 5 may also include a memory (e.g., non-volatile memory). For example 6, the response component may be capable of obtaining the MAC address for the management controller from the memory in order to respond to the command for the MAC address.

The example apparatus of example 6, the command may include an OEM command that includes vender-specific information to obtain the MAC address from among a plurality of MAC addresses maintained in the memory for use by the one or more compute nodes to separately receive or send Ethernet frames through one or more network I/O devices maintained at the switch.

The example apparatus of example 1, the filter component may determine that the Ethernet header indicates the Ethernet frame includes the NC-SI control packet based on an EtherType field in the Ethernet header that has a hexadecimal value of 0x88F8.

An example method may include receiving, at a switch for one or more compute nodes, an Ethernet frame from a port of the switch coupled to a management controller resident on a compute node from among the one or more compute nodes. The example methods may also include determining whether the Ethernet frame has an Ethernet header that indicates the Ethernet frame includes a network controller sideband interface (NC-SI) control packet and forwarding the Ethernet frame to a control processor for the switch that is capable of responding to a command included in the NC-SI control packet based on the determination.

The example method of example 9, the port of the switch may be coupled to a dedicated Ethernet link to the management controller.

The example method of example 10, the dedicated Ethernet link may be arranged to route Ethernet frames through a SerDes interface.

The example method of example 10 may also include sending a response to the command in another Ethernet frame via the dedicated Ethernet link. For example 12, the other Ethernet frame may have another Ethernet header that indicates an NC-SI control packet that includes the response.

The example method of example 12, command may include a request for a MAC address for the management controller to receive or send Ethernet frames through a network I/O device maintained at the switch.

The example method of example 13 may also include obtaining the MAC address for the management controller from a memory (e.g., non-volatile memory) maintained at the switch in order to respond to the command for the MAC address.

The example method of example 14, the command may include an OEM command that includes vendor-specific information to obtain the MAC address from among a plurality of MAC addresses maintained in the memory for use by separate management controllers at the one or more compute nodes to separately receive or send Ethernet frames through one or more network I/O devices maintained at the switch.

The example method of example 9, the Ethernet header may indicate that the Ethernet frame includes the NC-SI control packet based on an EtherType field in the Ethernet header that has a hexadecimal value of 0x88F8.

An example machine readable medium including a plurality of instructions that in response to being executed on a computing device such as a switch may cause the switch to carry out a computer-implemented method according to any one of examples 9 to 16 for the example method.

An example apparatus may include means for performing any one of examples 9 to 16 for the example method.

The example at least one machine readable medium of example 19 may include a plurality of instructions that in response to being executed on a system at a switch for one or more compute nodes may cause the system to receive an Ethernet frame from a port of the switch coupled to a management controller resident on a compute node from among the one or more compute nodes. The instructions may also cause the system to determine whether the Ethernet frame has an Ethernet header that indicates the Ethernet frame includes an NC-SI control packet and forward the Ethernet frame to a control processor for the switch that is capable of responding to a command included in the NC-SI control packet based on the determination.

The at least one machine readable medium of example 19, the port of the switch may be coupled to a dedicated Ethernet link to the management controller.

The at least one machine readable medium of example 20, the dedicated Ethernet link may be arranged to route Ethernet frames through a SerDes interface.

The at least one machine readable medium of example 19, the instructions may also cause the system to send a response to the command in another Ethernet frame via the dedicated Ethernet link. For example 22, the other Ethernet frame may have another Ethernet header that indicates an NC-SI control packet that includes the response.

The at least one machine readable medium of example 22, the command may include a request for a MAC address for the management controller to receive or send Ethernet frames through a network I/O device maintained at the switch.

The at least one machine readable medium of example 23, the command may include an OEM command that includes vendor-specific information to obtain the MAC address from among a plurality of MAC addresses maintained in a memory (e.g., non-volatile memory) for use by separate management controllers at the one or more compute nodes to separately receive or send Ethernet frames through one or more network I/O devices maintained at the switch.

The at least one machine readable medium of example 19, the Ethernet header may indicate that the Ethernet frame includes the NC-SI control packet based on an EtherType field in the Ethernet header having a hexadecimal value of 0x88F8.

The at least one machine readable medium of example 19, the command may include a request to set a MAC address to set-up one or more unicast or multicast MAC address filters at the switch in order to selectively forward inbound Ethernet frames to the management controller.

The at least one machine readable medium of example 19, the command may include a request for a copy of currently stored parameter settings at the switch that have been put into effect by the management controller in response to one or more previously received commands.

An example apparatus may include circuitry at a switch for one or more compute nodes. The circuitry of the example apparatus may be arranged to receive an Ethernet frame from a port of the switch coupled to a management controller resident on a compute node from among the one or more compute nodes. The circuitry of the example apparatus may also be arranged to determine whether the Ethernet frame has an Ethernet header that indicates the Ethernet frame includes an NC-SI control packet. The circuitry of the example apparatus may also be arranged to respond to a command included in the NC-SI control packet based the determination by the filter component.

The example apparatus of example 28, the port of the switch may be coupled to a dedicated Ethernet link to the management controller.

The example apparatus of example 29, the dedicated Ethernet link may be arranged to route Ethernet frames through a SerDes interface.

The circuitry of the example apparatus of example 29 may also be arranged to send a response to the command in another Ethernet frame via the dedicated Ethernet link. For example 41, the other Ethernet frame may have another Ethernet header that indicates an NC-SI control packet that includes the response.

The example apparatus of example 31, the command may include a request for a MAC address for the management controller to receive or send Ethernet frames through a network I/O device maintained at the switch.

The example apparatus of example 32 may also include a memory (e.g., non-volatile memory). For example 33, the circuitry of the example apparatus may be arranged to obtain the MAC address for the management controller from the memory in order to respond to the command for the MAC address.

The example apparatus of example 33, the command may include an OEM command that includes vender-specific information to obtain the MAC address from among a plurality of MAC addresses maintained in the memory for use by the one or more compute nodes to separately receive or send Ethernet frames through one or more network I/O devices maintained at the switch.

The example apparatus of example 28, the circuitry of the example apparatus may be arranged to determine that the Ethernet header indicates the Ethernet frame includes the NC-SI control packet based on an EtherType field in the Ethernet header that has a hexadecimal value of 0x88F8.