Sideband management system in Ethernet controller and internal NCSI protocol initialization method
By designing a sideband management system and NCSI protocol initialization method in an Ethernet controller, the introduction and state management problems of NCSI protocol in an Ethernet controller are solved, and communication between MC and external public networks and main data path signal transmission is realized. Efficiency guarantee.
Patent Information
- Application Number
- CN202411393857.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-08
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2044-10-08
AI Technical Summary
It is difficult for the prior art to introduce the NCSI protocol in the Ethernet controller to realize the MC's control of the working state of the Ethernet controller and communication with the external public network, while not affecting the signal transmission efficiency of the main data path.
A sideband management system was designed, including NCSI_GMAC module, NCSI_command parsing module, NCSI controller, NCSI_response reply module, NCSI filtering module, Passthrough controller and arbitration module. Through these modules, the NCSI protocol is parsed and managed and the state machine is configured. , realizes filtering and transmission of transparent frames, and provides an NCSI protocol initialization method to ensure the enable and reply of data paths.
The state management of the Ethernet controller and communication with the external public network are realized by MC, ensuring the signal transmission efficiency of the main data path, and supporting the effective initialization of the NCSI protocol and the filtering and transmission of transparent frames.
Smart Images

Figure CN119172453A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of Ethernet and communication technology, and in particular to a sideband management system in an Ethernet controller and an internal NCSI protocol initialization method. Background Art
[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 activities that are independent of the network adapter. At the same time, it provides a robust filtering mechanism that allows the BMC to precisely specify the type of Ethernet traffic it will accept. In addition, NCSI supports full-duplex operation up to 100Mbps. Figure 1 This is the NCSI data flow chart.
[0003] NCSI divides 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 customized by NC-SI. Figure 2 This is a packet classification diagram.
[0004] Among them, Control Packets are only used between MC and NC. They are data packets used by MC to configure NC, RMII interface and Pass-through rules. MC sends Command and NIC gives Response.
[0005] Pass-through packets are used for MC to communicate with remote management terminals. They are various messages defined by the common TCP / IP protocol stack, such as ARP, DHCP, etc. NIC forwards data packets to the public network and forwards public network data to MC according to the filtering configuration (VLAN Tag filter, L2 address filters, MAC address support, and limited frame filtering using L3 / L4 header, etc.) issued by MC. Summary of the invention
[0006] The technical problem to be solved by the technical solution of the present invention is: how to introduce the NCSI protocol system into the Ethernet controller structure so that the MC can control the working status of the Ethernet controller and enable the MC to communicate with the external public network through the Ethernet controller without affecting the signal transmission efficiency of the main data path.
[0007] In order to solve the above technical problems, the technical solution of the present invention provides a sideband management system applied in an Ethernet controller, including an NCSI_GMAC module, an NCSI_command parsing module, an NCSI controller, an NCSI_response reply module, an NCSI filtering module, a Passthrough controller and an arbitration module;
[0008] NCSI_GMAC module is used to package and parse the data passed by MC through the RMII interface, send the parsed transparent frame to the Passthrough controller, and send the parsed command frame to the NCSI_command parsing module;
[0009] NCSI_command parsing module, used to parse the command frame, extract the valid information carried in the frame and pass it to the NCSI controller, NCSI_response reply module and filtering module;
[0010] The NCSI controller module is used to determine the configuration information of the NCSI state machine according to the valid information, and manage the NCSI state machine according to the configuration information;
[0011] NCSI_response reply module, used to reply to MC with a response frame that corresponds to the command code of the valid information and complies with the requirements of the NCSI protocol according to the valid information;
[0012] The NCSI filtering module is used to parse and filter the passthrough frames transmitted from the network port. According to the filtering rules and valid information configured by the MC, the data frames that meet the MC requirements are screened out and reported to the passthrough controller.
[0013] The arbitration module is used to arbitrate the transparent transmission frames and response frames and obtain the arbitration result;
[0014] The Passthrough controller is used to filter the transparent transmission frames from the NCSI_GMAC module according to the data frames that meet the MC requirements, detect whether the current main channel is busy by connecting to the main channel GMAC, and combine the working status and arbitration results of the NCSI state machine from the NCSI controller module and the response frame to determine whether the transparent transmission frame can be sent to the corresponding network port. The NCSI_GMAC module obtains the transparent transmission 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 flow enabling of the passthrough frame and the working state of the filtering module.
[0016] Preferably, the response frame carries relevant reply information according to the requirements of the command frame.
[0017] Preferably, the arbitration module receives four paths requesting fair polling, and the response frame has the highest priority.
[0018] The technical solution of the present invention also provides a design method for supporting NCSI protocol initialization, which is applied to the NCSI_response reply module in the sideband management system applied in the Ethernet controller, and the design method comprises the following steps:
[0019] MC sends a Select Package command with the smallest Package ID to NC. If a response frame is received within the specified response time, MC records the package ID.
[0020] If no response frame is received, the MC tries to resend the Select Package command for a preset number of times. If no response frame is received for the preset number of times, the MC considers that the package ID does not have NC and tries the next package ID again to confirm the package quantity.
[0021] MC will send Clear Initial State command starting from the smallest Channel ID. If a response frame is received, MC will confirm the performance of the NCSI specification through Get Version ID command, and then collect the performance details of the channel corresponding to the Channel ID through Get Capabilities command to cover all channels and confirm the number and performance of each channel in a single package.
[0022] MC sets the initialization status of each channel, which is mainly divided into the following steps:
[0023] Initiate the Select Package command;
[0024] Take the following actions for each channel in the package corresponding to the Select Package command:
[0025] Use the Set MAC Address command to configure unicast and multicast addresses for transmitting pass-through frames between the MC.
[0026] Use the Enable Broadcast Filter command to configure whether incoming broadcast pass-through frames will be discarded;
[0027] Use the Enable Global Multicast Filter command to configure how to handle incoming multicast pass-through frames based on the Set MAC Address Command.
[0028] Use Set VLAN Filter and Enable VLAN Filters commands to configure how to handle pass-through frames with VLAN tags;
[0029] Use the Set NC-SI Flow Control command to configure how NCSI handles flow control frames;
[0030] Use the AEN Enable command to configure what type of AEN frames the channel should send through NCSI;
[0031] Use the Enable Channel Network TX command to configure whether the channel can enable the function of sending from the NCSI interface to the network port;
[0032] Initiate the Deselect Package command;
[0033] Enable hardware arbitration;
[0034] Start transmitting passthrough frames on each channel.
[0035] The technical solution of the present invention proposes a sideband management system in an Ethernet controller and an internal NCSI protocol initialization method, supports the NCSI protocol, parses the control frame information sent by the MC, configures the internal working status and related registers, enables the data transmission and reception path, replies with a corresponding response frame to the MC, and supports filtering and transmission of transparent frames. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] Figure 1 It is a data flow chart of NCSI in the prior art;
[0037] Figure 2 It is a data packet classification diagram in the prior art;
[0038] Figure 3 NCSI state machine structure diagram provided for an embodiment of the present invention;
[0039] Figure 4 A data path flow chart of a sideband management system provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0040] The present invention will be further described below in conjunction with specific embodiments. It should be understood that these embodiments are only used to illustrate the present invention and are not intended to limit the scope of the present invention. In addition, it should be understood that after reading the content taught by the present invention, those skilled in the art can make various changes or modifications to the present invention, and these equivalent forms fall within the scope limited by the appended claims of the application equally.
[0041] An embodiment of the present invention provides a sideband management system applied in an Ethernet controller, which specifically includes: NCSI_GMAC, NCSI_command analysis, NCSI controller, NCSI_response reply, NCSI filtering, Passthrough controller, arbitration and other modules.
[0042] Among them, the Passthrough controller is connected to the main channel GMAC, and will automatically detect whether the current main channel is busy, so as to determine whether the passthrough frame can be sent to the main channel GMAC without affecting the data transmission efficiency of the main channel.
[0043] Specifically, the NCSI_GMAC module includes: packaging and parsing the data transmitted by the MC through the RMII interface, sending the passthrough frame to the Passthrough controller, sending the command frame to the NCSI_command parsing module, and disassembling the passthrough frame from the Ethernet and the response frame from the response module and sending them to the MC through the RMII interface.
[0044] The NCSI_command parsing module includes: parsing the command frame sent by the MC, extracting the valid information carried in the frame and transmitting it to the NCSI controller, response reply and filtering module.
[0045] The NCSI controller module includes: management of the NCSI state machine. The configuration information of the state machine is provided by the command frame of the MC. The current working state of the NCSI state machine will be used to control the data flow enablement of the passthrough frame, the working state of the filter module, etc. The state machine flow chart is as follows Figure 3 shown.
[0046] The NCSI_response reply module includes: according to 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 requirements of the NCSI protocol, and the frame will carry relevant reply information according to the requirements of the command frame.
[0047] The NCSI filtering module includes: parsing and filtering the passthrough frames transmitted from the network port, reporting the filtering results to the passthrough controller according to the filtering rules configured by the MC, effectively filtering the transparent frames in the receiving direction, and screening out data frames that meet the MC requirements.
[0048] The Passthrough controller module includes: storage and management of transparent transmission frames in the receiving and sending directions. In the receiving direction, it is responsible for storing the receiving transparent transmission frames transmitted from the network port, and filtering the transparent transmission frames according to the filtering results. At the same time, it determines whether the received frames can be sent to NCSI_GMAC according to the working status of the current NCSI state machine and the arbitration result of the frame sending request; in the sending direction, it is responsible for storing the sending transparent transmission frames transmitted by NCSI_GMAC, and at the same time, it determines whether the current frame can be sent to the corresponding network port according to the working status of the current NCSI state machine and whether the current main channel is busy, so as to avoid affecting the data transmission efficiency of the main channel.
[0049] The arbitration module includes: arbitrating the transmission requests of transparent frames and response frames from the receiving direction, and fair polling of four channels in the receiving direction. The response request has the highest priority to avoid transmission confusion.
[0050] The present invention also provides a design method for supporting NCSI protocol initialization, which specifically includes:
[0051] 1) Power on the device.
[0052] 2)Confirm the package quantity:
[0053] MC will send the Select Package command with the smallest Package ID to NC. If MC receives a response frame within the specified response time, it will record the package ID. If no response is received, MC will try to resend the command three times in total. If all attempts fail, MC will assume that there is no NC for the package ID and will try the next package ID again.
[0054] 3) Confirm the number and performance of each channel in the package:
[0055] MC will send Clear Initial State command starting from the smallest Channel ID. If a response is received, MC will confirm the performance of the NCSI specification through Get Version ID command, and then collect the performance details of the channel through Get Capabilities command. MC will cover all channels with the above operations.
[0056] 4) Repeat steps 2 and 3 for the remaining packages.
[0057] 5) Initialize all channels in the package
[0058] After identifying all packages and channels, and their performance and the need to transmit pass-through frames are understood, the MC can set the initialization state of each channel, which is mainly divided into the following steps:
[0059] a. Initiate the Select Package command;
[0060] b. Take the following actions for each channel in the package:
[0061] Use the Set MAC Address command to configure unicast and multicast addresses for transmitting pass-through frames between the MC.
[0062] Use the Enable Broadcast Filter command to configure whether incoming broadcast pass-through frames will be discarded;
[0063] Use the Enable Global Multicast Filter command to configure how incoming multicast pass-through frames are handled based on the Set MACAddress Command.
[0064] Use the Set VLAN Filter and Enable VLAN Filters commands to configure how to handle pass-through frames with VLAN tags.
[0065] Use the Set NC-SI Flow Control command to configure how NCSI handles flow control frames (580 does not support flow control).
[0066] Use the AEN Enable command to configure what type of AEN frames the channel should send through NCSI (AEN is not currently supported);
[0067] Use the Enable Channel Network TX command to configure whether the channel can enable the function of sending from the NCSI interface to the network port (based on the MAC address setting).
[0068] c. Initiate the Deselect Package command.
[0069] 6) Enable hardware arbitration;
[0070] 7) Start transmitting passthrough frames on each channel.
[0071] Those skilled in the art know that, in addition to realizing the system and its various devices, modules, and units provided by the present invention in a purely computer-readable program code, it is entirely possible to realize the same functions in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers by logically programming the method steps. Therefore, the system and its various devices, modules, and units provided by the present invention can be considered as a hardware component, and the devices, modules, and units included therein for realizing various functions can also be regarded as structures within the hardware component; the devices, modules, and units for realizing various functions can also be regarded as both software modules for realizing the method and structures within the hardware component.
[0072] The above describes the specific embodiments of the present invention. It should be understood that the present invention is not limited to the above specific embodiments, and those skilled in the art can make various changes or modifications within the scope of the claims, which does not affect the essence of the present invention. In the absence of conflict, the embodiments of the present application and the features in the embodiments can be combined with each other arbitrarily.
Claims
1. A sideband management system for use in an Ethernet controller, It is characterized in that Including NCSI_GMAC module, NCSI_command parsing module, NCSI controller, NCSI_response reply module, NCSI filtering module, Passthrough controller and arbitration module; NCSI_GMAC module is used to package and parse the data passed by MC through the RMII interface, send the parsed transparent frame to the Passthrough controller, and send the parsed command frame to the NCSI_command parsing module; NCSI_command parsing module, used to parse the command frame, extract the valid information carried in the frame and pass it to the NCSI controller, NCSI_response reply module and filtering module; The NCSI controller module is used to determine the configuration information of the NCSI state machine according to the valid information, and manage the NCSI state machine according to the configuration information; NCSI_response reply module, used to reply to MC with a response frame that corresponds to the command code of the valid information and complies with the requirements of the NCSI protocol according to the valid information; The NCSI filtering module is used to parse and filter the passthrough frames transmitted from the network port. According to the filtering rules and valid information configured by the MC, the data frames that meet the MC requirements are screened out and reported to the passthrough controller. The arbitration module is used to arbitrate the transparent transmission frames and response frames and obtain the arbitration result; The Passthrough controller is used to filter the transparent transmission frames from the NCSI_GMAC module according to the data frames that meet the MC requirements, detect whether the current main channel is busy by connecting to the main channel GMAC, and combine the working status and arbitration results of the NCSI state machine from the NCSI controller module and the response frame to determine whether the transparent transmission frame can be sent to the corresponding network port. The NCSI_GMAC module obtains the transparent transmission frame and response frame from the network port, disassembles them and sends them to the MC through the RMII interface.
2. A sideband management system for use in an Ethernet controller as claimed in claim 1, It is characterized in that The current working state of the NCSI state machine is used to control the data flow enabling of the passthrough frame and the working state of the filtering module.
3. A sideband management system for use in an Ethernet controller as claimed in claim 1, It is characterized in that The response frame carries relevant reply information according to the requirements of the command frame.
4. A sideband management system for use in an Ethernet controller as claimed in claim 1, It is characterized in that The arbitration module receives four paths requesting fair polling, and the response frame has the highest priority.
5. A design method to support NCSI protocol initialization, It is characterized in that The NCSI_response reply module applied to the sideband management system applied in the Ethernet controller, the design method comprises the following steps: MC sends a Select Package command with the smallest Package ID to NC. If a response frame is received within the specified response time, MC records the package ID. If no response frame is received, the MC tries to resend the Select Package command for a preset number of times. If no response frame is received for the preset number of times, the MC considers that the package ID does not have NC and tries the next package ID again to confirm the package quantity. MC will send Clear Initial State command starting from the smallest Channel ID. If a response frame is received, MC will confirm the performance of the NCSI specification through Get Version ID command, and then collect the performance details of the channel corresponding to the Channel ID through Get Capabilities command to cover all channels and confirm the number and performance of each channel in a single package. MC sets the initialization status of each channel, which is mainly divided into the following steps: Initiate the Select Package command; Take the following actions for each channel in the package corresponding to the Select Package command: Use the Set MAC Address command to configure unicast and multicast addresses for transmitting pass-through frames between the MC. Use the Enable Broadcast Filter command to configure whether incoming broadcast pass-through frames will be discarded; Use the Enable Global Multicast Filter command to configure how to handle incoming multicast pass-through frames based on the Set MAC Address Command. Use Set VLAN Filter and Enable VLAN Filters commands to configure how to handle pass-through frames with VLAN tags; Use the Set NC-SI Flow Control command to configure how NCSI handles flow control frames; Use the AEN Enable command to configure what type of AEN frames the channel should send through NCSI; Use the Enable Channel Network TX command to configure whether the channel can enable the function of sending from the NCSI interface to the network port; Initiate the Deselect Package command; Enable hardware arbitration; Start transmitting passthrough frames on each channel.
Citation Information
Patent Citations
Method and system for implementing NCSI protocol
CN108429741A
An application processing interface circuit and method
CN109165116A
Sideband management circuit and method based on hardware arbitration
CN111800226A
Arbiter circuitry for commands from multiple physical functions in memory subsystem
CN114144767A
NCSI system of Ethernet controller
CN117376427A
