Bypass management system in Ethernet controller and internal NCSI protocol initialization method
By introducing a sideband management system into the Ethernet controller, the application problem of the NCSI protocol in the Ethernet controller is solved, and the state management and external communication of the Ethernet controller are realized, ensuring that the signal transmission efficiency of the main data path is not affected.
Patent Information
- Application Number
- CN202411393857.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-08
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2044-10-08
AI Technical Summary
In the existing technology, the NCSI protocol is difficult to introduce into Ethernet controllers, which makes it impossible for the management controller to effectively control the working state of the Ethernet controller and affects the signal transmission efficiency of the main data path.
Design a sideband management system, including an NCSI_GMAC module, an NCSI_command parsing module, an NCSI controller, an NCSI_response module, an NCSI filtering module, a passthrough controller, and an arbitration module. By parsing and arbitrating data frames, it can achieve state management of the Ethernet controller and external communication, while avoiding affecting the transmission efficiency of the main data path.
It enables state management and external communication for the Ethernet controller, supports NCSI protocol initialization, and ensures that the signal transmission efficiency of the main data path is not affected.
Smart Images

Figure CN119172453B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the fields of Ethernet and communication technology, and specifically to the sideband management system and internal NCSI protocol initialization method in an Ethernet controller. Background Technology
[0002] The Network Controller Sideband Interface (NCSI) is an electrical interface and protocol defined by the Distributed Management Task Force (DMTF). Through NCSI, the Baseboard Management Controller (BMC) can share the Network Interface Controller (NIC) with the CPU, where the BMC is part of the Intelligent Platform Management Interface. The purpose of NCSI is to provide a method for in-band activity independent of the network interface controller. It also provides a robust filtering mechanism, allowing the BMC to precisely specify the types of Ethernet traffic it will accept. Furthermore, NCSI supports full-duplex operation up to 100 Mbps. Figure 1 This is a flowchart of the NCSI data flow.
[0003] NCSI classifies data packets into Pass-through Packets and Control Packets. Pass-through Packets are IEEE 802.3 Ethernet frames; the data field of Control Packets is defined by NCSI. Figure 2 This is a data packet classification diagram.
[0004] Control Packets are used only between the MC and NC. They are data packets used by the MC to configure the NC, RMII interface, and pass-through rules. The MC sends the command, and the NIC provides the response.
[0005] Pass-through packets are used for communication between the MC and remote management terminals. They are the various message definitions in the common TCP / IP protocol stack, such as ARP, DHCP, etc. The NIC forwards data packets to the public network and forwards public network data to the MC based on the filtering configuration issued by the MC (VLAN Tag filter, L2 address filters, MAC address support, and limited frame filtering using L3 / L4 header, etc.). Summary of the Invention
[0006] The technical problem to be solved by the present invention is: how to introduce the NCSI protocol system into the Ethernet controller structure so that the MC can control the working state of the Ethernet controller and enable the MC to communicate with the external public network through the Ethernet controller, while not affecting the signal transmission efficiency of the main data path.
[0007] To address the aforementioned technical problems, the present invention provides a sideband management system applied in an Ethernet controller, comprising an NCSI_GMAC module, an NCSI_command parsing module, an NCSI controller, an NCSI_response response module, an NCSI filtering module, a passthrough controller, and an arbitration module.
[0008] The NCSI_GMAC module is used to assemble and parse the data transmitted by the MC through the RMII interface, send the parsed passthrough frame to the Passthrough controller, and send the parsed command frame to the NCSI_command parsing module.
[0009] The NCSI_command parsing module is used to parse command frames, extract the valid information carried in the frame, and pass it to the NCSI controller, the NCSI_response response module, and the filtering module.
[0010] The NCSI controller module is used to determine the configuration information of the NCSI state machine based on valid information, and to manage the NCSI state machine according to the configuration information.
[0011] The NCSI_response module is used to reply to the MC with a response frame that conforms to the NCSI protocol requirements and corresponds to the valid command code.
[0012] The NCSI filtering module is used to parse and filter the passthrough frames coming in from the network port. Based on the filtering rules and valid information configured in the MC, it selects data frames that meet the MC's requirements and reports them to the passthrough controller.
[0013] The arbitration module is used to arbitrate the transparent transmission frame and the response frame to obtain the arbitration result;
[0014] The Passthrough Controller is used to filter passthrough frames from the NCSI_GMAC module based on data frames that meet the MC requirements. It detects whether the main path is busy by connecting to the main path GMAC. Combining the working state of the NCSI state machine from the NCSI controller module, the arbitration result, and the response frame, it determines whether the passthrough frame can be sent to the corresponding network port. The NCSI_GMAC module obtains the passthrough frame and response frame from the network port, disassembles them, and sends them to the MC through the RMII interface.
[0015] Preferably, the current working state of the NCSI state machine is used to control the data stream enable and the working state of the filtering module for passthrough frames.
[0016] Preferably, the response frame carries relevant response information according to the requirements of the command frame.
[0017] Preferably, the arbitration module receives requests for fair polling from four channels, with the response frame having the highest priority.
[0018] The present invention also provides a design method for supporting NCSI protocol initialization, applied to the NCSI_response module in a sideband management system used in an Ethernet controller. The design method includes the following steps:
[0019] The MC sends a Select Package command with the minimum Package ID to the NC. If a response frame is received within the specified response time, the MC records the package ID.
[0020] If no response frame is received, the MC attempts to resend the Select Package command a preset number of times. If no response frame is received after the preset number of times, the MC assumes that the package ID is not NC and tries the next package ID to confirm the number of packages.
[0021] The MC will send the Clear Initial State command starting from the smallest Channel ID. If a response frame is received, the MC will confirm the performance of the NCSI specification by using the Get Version ID command, and then use the Get Capabilities command to collect the performance details of the channel corresponding to the Channel ID to cover all channels and confirm the number and performance of each channel in a single package.
[0022] Setting the initialization state of each channel in MC mainly involves the following steps:
[0023] Initiate the Select Package command;
[0024] For each channel in the package corresponding to the Select Package command, perform the following operations:
[0025] Configure unicast and multicast addresses using the Set MAC Address command to transmit pass-through frames with the MC;
[0026] Configure whether incoming broadcast pass-through frames will be dropped using the Enable Broadcast Filter command;
[0027] Configure how to handle incoming multicast pass-through frames based on the Set MAC AddressCommand using the Enable Global Multicast Filter command;
[0028] Configure how to handle pass-through frames with VLAN tags using the Set VLAN Filter and Enable VLAN Filters commands;
[0029] Configure how NCSI handles flow control frames using the Set NC-SI Flow Control command;
[0030] The AEN Enable command configures what type of AEN frames this channel should send via NCSI;
[0031] The Enable Channel Network TX command is used to configure whether the channel is enabled to send data from the NCSI interface to the network interface.
[0032] Initiate the Deselect Package command;
[0033] Enable hardware arbitration;
[0034] Start transmitting passthrough frames for each channel.
[0035] The present invention proposes a sideband management system and an internal NCSI protocol initialization method in an Ethernet controller. It supports the NCSI protocol, configures the internal working state and related registers by parsing the control frame information sent by the MC, enables the transmit and receive data paths, replies with corresponding response frames to the MC, and supports the filtering and transmission of transparent frames. Attached Figure Description
[0036] Figure 1 This is a flowchart of the NCSI data flow in the existing technology;
[0037] Figure 2 This is a classification diagram of data packets in the existing technology;
[0038] Figure 3 This is a diagram of the NCSI state machine structure provided in an embodiment of the present invention;
[0039] Figure 4 The data path flowchart of the sideband management system provided in the embodiment of the present invention is shown. Detailed Implementation
[0040] The present invention will be further illustrated below with reference to specific embodiments. It should be understood that these embodiments are for illustrative purposes only and are not intended to limit the scope of the invention. Furthermore, it should be understood that after reading the teachings of this invention, those skilled in the art can make various alterations or modifications to the invention, and these equivalent forms also fall within the scope defined by the appended claims.
[0041] This invention provides a sideband management system applied in an Ethernet controller. The system specifically includes modules such as NCSI_GMAC, NCSI_command parsing, NCSI controller, NCSI_response, NCSI filtering, passthrough controller, and arbitration.
[0042] The Passthrough controller is connected to the main path GMAC and automatically detects whether the main path is currently busy, thereby determining whether a passthrough frame can be sent to the main path GMAC without affecting the data transmission efficiency of the main path.
[0043] Specifically, the NCSI_GMAC module includes: packetizing and parsing the data transmitted from the MC through the RMII interface; sending the passthrough frames to the Passthrough controller; sending the command frames to the NCSI_command parsing module; and simultaneously disassembling the passthrough frames transmitted from the Ethernet and the response frames transmitted from the response module and sending them to the MC through the RMII interface.
[0044] The NCSI_command parsing module includes: parsing the command frames sent by the MC, extracting the valid information carried in the frames and passing it to the NCSI controller, response and filtering modules.
[0045] The NCSI controller module includes: management of the NCSI state machine. The configuration information of the state machine is provided by the MC's command frame. The current operating state of the NCSI state machine is used to control the data flow enable of the passthrough frame, the operating state of the filtering module, etc. The state machine flowchart is as follows: Figure 3 As shown.
[0046] The NCSI_response module includes: based on the relevant information in the command frame sent by the MC, replying to the MC with a response frame corresponding to the command code. The response frame fully complies with the NCSI protocol requirements and carries relevant reply information according to the requirements of the command frame.
[0047] The NCSI filtering module includes: parsing and filtering the passthrough frames received from the network port; reporting the filtering results to the passthrough controller according to the filtering rules configured in the MC; effectively filtering the passthrough frames in the receiving direction; and selecting data frames that meet the requirements of the MC.
[0048] The Passthrough controller module includes the storage and management of passthrough frames in both the receiving and transmitting directions. In the receiving direction, it stores the received passthrough frames from the network interface, filters them based on filtering results, and determines whether to send the received frame to NCSI_GMAC based on the current NCSI state machine's operating state and the arbitration result of the frame transmission request. In the transmitting direction, it stores the transmitted passthrough frames from NCSI_GMAC, and determines whether to send the current frame to the corresponding network interface based on the current NCSI state machine's operating state and whether the main path is busy, thus avoiding impacting the main path's data transmission efficiency.
[0049] The arbitration module includes: arbitrating the transmission requests of transparent frames and response frames from the receiving direction; the receiving direction requests requests in a fair round-robin fashion, with response requests having the highest priority, to avoid transmission chaos.
[0050] This invention also provides a design method for supporting NCSI protocol initialization, the design method specifically including:
[0051] 1) Power on the equipment.
[0052] 2) Package quantity confirmation:
[0053] The MC sends a Select Package command with the minimum Package ID to the NC. If a response frame is received within the specified response time, the MC will record the package ID. If no response is received, the MC will try to resend the command three times. If all attempts fail, the MC will assume that the package ID is not in the NC and then try the next package ID.
[0054] 3) Confirm the number and performance of each channel within the package:
[0055] The Channel Management Console (MC) will send the Clear Initial State command starting with the smallest Channel ID. If a response is received, the MC will then use the Get Version ID command to confirm the NCSI specification's performance, and then use the Get Capabilities command to collect the channel's performance details. The MC will perform these operations on all channels.
[0056] 4) Repeat steps 2 and 3 for the remaining packages.
[0057] 5) Initialize all channels within the package.
[0058] After identifying all packages and channels, and understanding their performance and the requirements for transmitting pass-through frames, the MC can set the initialization state of each channel, mainly in the following steps:
[0059] a. Initiate the Select Package command;
[0060] b. Perform the following operations on each channel in this package:
[0061] • Configure unicast and multicast addresses using the Set MAC Address command to transmit pass-through frames with the MC;
[0062] • Configure whether incoming broadcast pass-through frames will be dropped using the Enable Broadcast Filter command;
[0063] • Configure how to handle incoming multicast pass-through frames based on the Set MACAddress command by using the Enable Global Multicast Filter command;
[0064] • Configure how to handle pass-through frames with VLAN tags using the Set VLAN Filter and Enable VLAN Filters commands;
[0065] • Configure how NCSI handles flow control frames via the Set NC-SI Flow Control command (flow control is not supported on the 580).
[0066] • Configure the type of AEN frame that this channel should send via NCSI using the AEN Enable command (AEN is not currently supported);
[0067] • Configure whether the channel enables the transmission from the NCSI interface to the network interface via the Enable Channel Network TX command (based on MAC address settings).
[0068] c. Initiate the Deselect Package command.
[0069] 6) Enable hardware arbitration;
[0070] 7) Start transmitting passthrough frames for each channel.
[0071] Those skilled in the art will understand that, besides implementing the system and its various devices, modules, and units provided by this invention in the form of purely computer-readable program code, the same functions can be achieved entirely through logical programming of the method steps, making the system and its various devices, modules, and units of this invention function in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, the system and its various devices, modules, and units provided by this invention can be considered as a hardware component, and the devices, modules, and units included therein for implementing various functions can also be considered as structures within the hardware component; alternatively, the devices, modules, and units for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.
[0072] Specific embodiments of the present invention have been described above. It should be understood that the present invention is not limited to the specific embodiments described above, and those skilled in the art can make various changes or modifications within the scope of the claims, which do not affect the essence of the present invention. Unless otherwise specified, the embodiments and features described in this application can be arbitrarily combined with each other.
Claims
1. A sideband management system applied in an Ethernet controller, characterized in that, This includes the NCSI_GMAC module, NCSI_command parsing module, NCSI controller, NCSI_response response module, NCSI filtering module, passthrough controller, and arbitration module; The NCSI_GMAC module is used to assemble and parse the data transmitted by the MC through the RMII interface, send the parsed passthrough frame to the Passthrough controller, and send the parsed command frame to the NCSI_command parsing module. The NCSI_command parsing module is used to parse command frames, extract the valid information carried in the frame, and pass it to the NCSI controller, the NCSI_response module, and the NCSI filtering module. The NCSI controller is used to determine the configuration information of the NCSI state machine based on valid information, and to manage the NCSI state machine according to the configuration information. The NCSI_response module is used to reply to the MC with a response frame that conforms to the NCSI protocol requirements and corresponds to the valid command code. The NCSI filtering module is used to parse and filter the passthrough frames coming in from the network port. Based on the filtering rules and valid information configured in the MC, it selects data frames that meet the MC's requirements and reports them to the passthrough controller. The arbitration module is used to arbitrate the transparent transmission frame and the response frame to obtain the arbitration result; The Passthrough Controller is used to filter passthrough frames from the NCSI_GMAC module based on data frames that meet the MC requirements. It detects whether the main path is busy by connecting to the main path GMAC, and combines the working state of the NCSI state machine from the NCSI controller, the arbitration result, and the response frame to determine whether the passthrough frame can be sent to the corresponding network port. The NCSI_GMAC module obtains the passthrough frame and response frame from the network port, disassembles them, and sends them to the MC through the RMII interface.
2. The sideband management system applied in an Ethernet controller as described in claim 1, characterized in that, The current working state of the NCSI state machine is used to control the data stream enablement of the passthrough frame and the working state of the NCSI filtering module.
3. The sideband management system applied in an Ethernet controller as described in claim 1, characterized in that, The response frame carries relevant response information according to the requirements of the command frame.
4. The sideband management system applied in an Ethernet controller as described in claim 1, characterized in that, The arbitration module receives requests for fair polling from four channels, with the response frame having the highest priority.
5. A design method supporting NCSI protocol initialization, characterized in that, The design method, applied to the NCSI_response module in a sideband management system of an Ethernet controller as described in any one of claims 1-4, includes the following steps: The MC sends a Select Package command with the smallest package ID to the NC. If a response frame is received within the specified response time, the MC records the package ID. If no response frame is received, the MC attempts to resend the Select Package command a preset number of times. If no response frame is received after the preset number of times, the MC assumes that the package ID is not NC and tries the next package ID to confirm the number of packages. The MC will send the Clear Initial State command starting from the smallest Channel ID. If a response frame is received, the MC will confirm the performance of the NCSI specification by using the Get Version ID command, and then use the Get Capabilities command to collect the performance details of the channel corresponding to the Channel ID to cover all channels and confirm the number and performance of each channel in a single package. Setting the initialization state of each channel in MC involves the following steps: Initiate the Select Package command; For each channel in the package corresponding to the Select Package command, perform the following operations: Configure unicast and multicast addresses using the Set MAC Address command to transmit pass-through frames with the MC; Configure whether incoming broadcast pass-through frames will be dropped using the Enable Broadcast Filter command; Configure how to handle incoming multicast pass-through frames based on the Set MAC AddressCommand using the Enable Global Multicast Filter command; Configure how to handle pass-through frames with VLAN tags using the Set VLAN Filter and Enable VLAN Filters commands; Configure how NCSI handles flow control frames using the Set NC-SI Flow Control command; The AEN Enable command configures what type of AEN frames this channel should send via NCSI; The Enable Channel Network TX command is used to configure whether the channel is enabled to send data from the NCSI interface to the network interface. Initiate the Deselect Package command; Enable hardware arbitration; Start transmitting passthrough frames for each channel.
Citation Information
Patent Citations
An application processing interface circuit and method
CN109165116A
Sideband management circuit and method based on hardware arbitration
CN111800226A