CN118282851A - Configuration method, device and medium for sideband interface protocol of network controller - Google Patents
Configuration method, device and medium for sideband interface protocol of network controller Download PDFInfo
- Publication number
- CN118282851A CN118282851A CN202410696424.XA CN202410696424A CN118282851A CN 118282851 A CN118282851 A CN 118282851A CN 202410696424 A CN202410696424 A CN 202410696424A CN 118282851 A CN118282851 A CN 118282851A
- Authority
- CN
- China
- Prior art keywords
- interface
- network
- level management
- management controller
- board level
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000002776 aggregation Effects 0.000 claims abstract description 75
- 238000004220 aggregation Methods 0.000 claims abstract description 75
- 230000004044 response Effects 0.000 claims abstract description 8
- 230000004931 aggregating effect Effects 0.000 claims abstract description 4
- 238000004590 computer program Methods 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 11
- 230000003993 interaction Effects 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 abstract description 18
- 238000007726 management method Methods 0.000 description 120
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The application relates to the technical field of computers and provides a configuration method, equipment and medium for a sideband interface protocol of a network controller. The method comprises the following steps: configuring a network interface according to a first binding mode so as to construct a binding port; aggregating the corresponding ethernet interfaces based on the binding configuration of the binding port to generate a link aggregation group; after generating the link aggregation group, notifying a network controller of a sideband interface module; in response to receiving a channel enable command from the board level management controller, parsing to determine the specific Ethernet interface indicated, determining whether a conflict exists, and if no conflict exists, updating the out interface of the board level management controller to be a link aggregation interface. Therefore, a special management network port is saved, so that the network interface card supports the use of the sideband interface technology and the binding technology of the network controller.
Description
Technical Field
The present application relates to the field of computer technologies, and in particular, to a method, an apparatus, and a medium for configuring a sideband interface protocol of a network controller.
Background
The board level management controller (Baseboard Management Controller, BMC) uses the Ethernet interface on the Network interface card (Network INTERFACE CARD, NIC) through the Network controller sideband interface (Network Controller-Sideband Interface, NC-SI), which saves separate management Network interfaces and reduces server costs. In the prior art, NC-SI technology of a network interface card is not commonly used with Link Aggregation (LA) technology, because the BMC uses an ethernet interface on the NIC based on channel strength through NC-SIC protocol, and the switch may forward through any ethernet interface, which is not beneficial to meeting the service deployment requirement on the server.
Therefore, the application provides a configuration method, equipment and medium for a sideband interface protocol of a network controller, which are used for solving the technical problems in the prior art.
Disclosure of Invention
In a first aspect, the present application provides a configuration method for a network controller sideband interface protocol. The configuration method comprises the following steps: configuring at least two network interfaces according to a first binding mode through an operating system of a driving side so as to form a first binding port; aggregating at least two ethernet interfaces of a network interface card on a logical side corresponding to the at least two network interfaces based on a binding configuration of the first binding port, thereby generating a first link aggregation group, wherein the binding configuration of the first binding port is determined based on the first binding mode, and the first link aggregation interface corresponds to the first link aggregation group; after generating the first link aggregation group, notifying a network controller sideband interface module of the network interface card about the first link aggregation group and the first link aggregation interface; and analyzing, by the network controller sideband interface module, a channel enable command from a board level management controller in response to receiving the channel enable command, to determine a specific ethernet interface indicated by the channel enable command, determine whether a conflict exists based on the specific ethernet interface, and if the conflict does not exist, update an egress interface of the board level management controller to be the first link aggregation interface, where a command format of the channel enable command is defined by a network controller sideband interface protocol and includes a configuration type raw equipment manufacturer command, the configuration type raw equipment manufacturer command includes at least a network protocol address of the board level management controller, and the network controller sideband interface module is configured to implement interaction between the board level management controller and the network interface card using the network protocol address of the board level management controller and the egress interface of the board level management controller.
According to the first aspect of the application, the reliability and bandwidth requirements of an operating system are simultaneously met, and the management network port of a special board-level management controller is saved, so that the network interface card supports the use of the sideband interface technology and the binding technology of the network controller.
In a possible implementation manner of the first aspect of the present application, when the network controller sideband interface module determines that there is a conflict, the network controller sideband interface module sends an asynchronous event notification to the board level management controller.
In a possible implementation form of the first aspect of the application, the asynchronous event notification is defined by the network controller sideband interface protocol and comprises a connection status field for indicating whether a conflict exists between the specific ethernet interface and the first link aggregation group.
In a possible implementation manner of the first aspect of the present application, the network controller sideband interface module determines that there is a collision when the specific ethernet interface indicated by the channel enable command belongs to the at least two ethernet interfaces and the channel enable command is received before the first bonding port is established.
In a possible implementation manner of the first aspect of the present application, the configuration class original equipment manufacturer command further includes a connection mode field, where the connection mode field is used to indicate that the specific ethernet interface is shared between the board-level management controller and the operating system, that the board-level management controller monopolizes the specific ethernet interface, or that the board-level management controller preferentially uses the specific ethernet interface.
In a possible implementation manner of the first aspect of the present application, the network controller sideband interface module determines that there is a conflict when the specific ethernet interface indicated by the channel enable command belongs to the at least two ethernet interfaces and the connection mode field indicates that the board level management controller monopolizes the specific ethernet interface.
In a possible implementation manner of the first aspect of the present application, the network controller sideband interface module determines that there is a conflict when the specific ethernet interface indicated by the channel enable command does not belong to the at least two ethernet interfaces, the connection mode field indicates that the board level management controller monopolizes the specific ethernet interface, and the operating system requires use of the specific ethernet interface.
In a possible implementation manner of the first aspect of the present application, when the specific ethernet interface indicated by the channel enable command belongs to the at least two ethernet interfaces and the connection mode field indicates that the board level management controller preferentially uses the specific ethernet interface, the network controller sideband interface module determines that there is no conflict, and the scheduling priority of the traffic associated with the board level management controller is higher than the scheduling priority of the traffic associated with the operating system.
In a possible implementation manner of the first aspect of the present application, the configuration method further includes: after updating the outbound interface of the board-level management controller to be the first link aggregation interface, the network interface card performs hash selection on the network traffic from the board-level management controller so as to select a member interface in the first link aggregation group corresponding to the first link aggregation interface to perform traffic forwarding.
In a possible implementation manner of the first aspect of the present application, the first binding mode is a primary and standby mode, and the configuration method further includes: executing, by the operating system, a handoff between the primary link and a backup link in response to a primary link failure, and informing the network controller of a handoff between the primary link and the backup link by a sideband interface module; and constructing a free address resolution protocol request corresponding to the network protocol address of the board level management controller through the network controller sideband interface module, and sending the address resolution protocol request through the standby link so as to update an address resolution protocol request interface corresponding to the network protocol address of the board level management controller.
In a possible implementation manner of the first aspect of the present application, the first binding mode is a load balancing mode in a unstacking scenario, and the configuration method further includes: and executing address resolution protocol request double-sending processing on the network protocol address of the board level management controller through the network controller sideband interface module.
In a possible implementation manner of the first aspect of the present application, the configuration class original equipment manufacturer command further includes a vendor number field, a vendor custom subcommand field, and a binding mode enable field, where the vendor number field is used to indicate a vendor of the board level management controller, and the binding mode enable field is used to indicate whether the board level management controller uses binding.
In a possible implementation manner of the first aspect of the present application, the first binding mode is a primary-standby mode, a load balancing mode, a broadcast mode or a dynamic link aggregation mode.
In a second aspect, embodiments of the present application further provide a computer device, the computer device including a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor implementing a method according to any one of the implementations of any one of the above aspects when the computer program is executed.
In a third aspect, embodiments of the present application also provide a computer-readable storage medium storing computer instructions that, when run on a computer device, cause the computer device to perform a method according to any one of the implementations of any one of the above aspects.
In a fourth aspect, embodiments of the present application also provide a computer program product comprising instructions stored on a computer-readable storage medium, which when run on a computer device, cause the computer device to perform a method according to any one of the implementations of any one of the above aspects.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for the description of the embodiments will be briefly described below, and it is obvious that the drawings in the following description are some embodiments of the present application, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a flow chart of a configuration method for a sideband interface protocol of a network controller according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a network interface card according to an embodiment of the present application;
Fig. 3 is a schematic structural diagram of a computing device according to an embodiment of the present application.
Detailed Description
Embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
It should be understood that in the description of the application, "at least one" means one or more than one, and "a plurality" means two or more than two. In addition, the words "first," "second," and the like, unless otherwise indicated, are used solely for the purposes of description and are not to be construed as indicating or implying a relative importance or order.
Fig. 1 is a flow chart of a configuration method for a sideband interface protocol of a network controller according to an embodiment of the present application. As shown in fig. 1, the configuration method includes the following steps.
Step S110: and configuring at least two network interfaces according to a first binding mode through an operating system of the driving side so as to form a first binding port.
Step S120: and aggregating at least two Ethernet interfaces of a network interface card on a logic side corresponding to the at least two network interfaces based on the binding configuration of the first binding port so as to generate a first link aggregation group, wherein the binding configuration of the first binding port is determined based on the first binding mode, and the first link aggregation interface corresponds to the first link aggregation group.
Step S130: after generating the first link aggregation group, a network controller sideband interface module of the network interface card is notified about the first link aggregation group and the first link aggregation interface.
Step S140: and responding to the channel enabling command received from the board management controller through the network controller sideband interface module, analyzing the channel enabling command to determine a specific Ethernet interface indicated by the channel enabling command, judging whether collision exists based on the specific Ethernet interface, and if collision does not exist, updating an output interface of the board management controller to be the first link aggregation interface.
The command format of the channel enabling command is defined by a network controller sideband interface protocol and comprises a configuration type original equipment manufacturer command, wherein the configuration type original equipment manufacturer command at least comprises a network protocol address of the board level management controller, and the network controller sideband interface module is used for realizing interaction between the board level management controller and the network interface card by utilizing the network protocol address of the board level management controller and an output interface of the board level management controller.
Referring to fig. 1, a board level management controller (Baseboard Management Controller, BMC) generally refers to a small system integrated on a motherboard independent of a server system, has basic core functions, and provides out-of-band management of servers. The board-level management controller can communicate with the outside through an independent management Network port integrated on the server board, and in order to save the independent management Network port, the board-level management controller uses an Ethernet interface on a Network interface card (Network INTERFACE CARD, NIC) through a Network controller sideband interface (Network Controller-Sideband Interface, NC-SI) and communicates with the Network interface card according to a Network controller sideband interface protocol, so that the board-level management controller can use the Network interface card on a main board like the independent management Network port, thereby saving the independent management Network interface and reducing the cost of the server. When the operating system on the server deploys the service, a Binding (BOND) technology, also called Link Aggregation (LA) technology, may be adopted, which means that two or more ethernet interfaces are bound together, and the traffic is forwarded by using member interfaces under the same binding port in a manner such as hashing, polling, etc., so that a point-to-point communication technology can be used to increase bandwidth and improve reliability. Considering that the network controller sideband interface protocol allows the board level management controller to use the ethernet interface on the network interface card based on the channel strength, it is desirable to meet both the requirements of the network controller sideband interface protocol on the network interface card and the requirements of the binding technology, and to be able to flexibly adapt the requirements of the user for the input/output service customization, that is, to adapt the binding relation between various different network interfaces and the link aggregation relation between the ethernet interfaces, as will be described in further detail below.
With continued reference to fig. 1, at step S110, at least two network interfaces are configured according to a first binding mode by the operating system of the drive side to thereby construct a first binding port. Then, in step S120, at least two ethernet interfaces of the network interface card on the logical side corresponding to the at least two network interfaces are aggregated based on the binding configuration of the first binding port, thereby generating a first link aggregation group. The binding configuration of the first binding port is determined based on the first binding mode, and a first link aggregation interface corresponds to the first link aggregation group. Here, the operating system at the driving side forms the first binding port by two or more network interfaces, so that the bandwidth is increased, the reliability is improved, and the traffic forwarding can be performed on the member interfaces under the same binding port in a manner of hash, polling and the like. The first binding mode represents a binding relationship between the at least two network interfaces, e.g. a primary standby mode, i.e. one device is active and the other device is standby, and e.g. a broadcast mode, i.e. all packets are sent out from all network interfaces. The binding configuration of the first binding port represents a corresponding configuration of the first binding mode, so that the switch is configured accordingly based on the binding configuration of the first binding port, and at least two ethernet interfaces of the network interface card on the logic side, which correspond to the at least two network interfaces, are aggregated to generate a first link aggregation group. The first link aggregation group means that two or more ethernet links are bundled together to form one logical link, each link aggregation group (Link Aggregation Group, LAG) corresponding to one link aggregation interface, where the first link aggregation interface corresponds to the first link aggregation group. When forwarding traffic, the first link aggregation group needs to select one or more interfaces from the member interfaces for data forwarding. The link aggregation relation between the member interfaces of the first link aggregation group, i.e. the ethernet interfaces, is determined by the management plane of the operating system, and the at least two ethernet interfaces correspond to the at least two network interfaces. Therefore, depending on the actual configuration situation of the network interface card, for example, a plurality of physical network cards may be bound into one logical network card, and the corresponding relationship between the network interface on the driving side and the ethernet interface on the network interface card may be different, and considering that different tenants in the application scenario of multiple tenants may put various customization requirements on input and output, therefore, the binding relationship between various different network interfaces and the link aggregation relationship between the ethernet interfaces need to be adapted. as mentioned above, the network controller sideband interface protocol allows the board level management controller to use the ethernet interface on the network interface card based on the channel strength, so there may be a conflict between the usage requirements that the board level management controller puts on the ethernet interface on the network interface card based on the network controller sideband interface protocol and the usage requirements that the operating system puts on the ethernet interface based on the binding mode and link aggregation relationship, that is, there may be a conflict between the requirements from the management plane of the board level management controller and the requirements from the management plane of the operating system. Considering that the control plane of the board level management controller and the control plane of the operating system are independent of each other, in the case that the operating system adopts the binding technology, the requirement of the network controller sideband interface protocol on the network interface card and the requirement of the binding technology need to be satisfied at the same time, which will be described in detail below.
With continued reference to fig. 1, after the first link aggregation group is generated, a network controller sideband interface module of the network interface card is notified about the first link aggregation group and the first link aggregation interface at step S130. Here, the network controller sideband interface module is a dedicated module and dedicated hardware in the network interface card for implementing data interaction and traffic forwarding between the board level management controller and the network interface card. In step S140, by the network controller sideband interface module, in response to receiving a channel enable command from a board level management controller, the channel enable command is parsed to determine a specific ethernet interface indicated by the channel enable command, whether a collision exists is determined based on the specific ethernet interface, and if no collision exists, an output interface of the board level management controller is updated to be the first link aggregation interface. The command format of the channel enabling command is defined by a network controller sideband interface protocol and comprises a configuration type original equipment manufacturer command, wherein the configuration type original equipment manufacturer command at least comprises a network protocol address of the board level management controller, and the network controller sideband interface module is used for realizing interaction between the board level management controller and the network interface card by utilizing the network protocol address of the board level management controller and an output interface of the board level management controller. Here, based on the network controller sideband interface protocol, the channel between the board level management controller to the out interface of the board level management controller is established using configuration class original equipment manufacturer (Original Equipment Manufacturer, OEM) commands included in the command format of the channel enable command, in combination with the network controller sideband interface header of the channel enable command and other fields. It should be appreciated that for board level management controllers, the board level management controller simply issues channel-enabled commands having a command format defined by the network controller sideband interface protocol, and therefore, the management plane of the board level management controller is unaware of the management plane for the network interface card. In other words, the control plane of the board level management controller and the control plane of the operating system are independent from each other, the board level management controller does not sense the requirement from the control plane of the operating system, and the requirement of the network controller sideband interface protocol on the network interface card and the requirement of the binding technology are simultaneously met by utilizing the command format of the channel enabling command provided by the network controller sideband interface protocol and the configuration type original equipment manufacturer command in the command format. On the one hand, the operating system at the driving side configures at least two network interfaces according to a first binding mode so as to form a first binding port, and the corresponding Ethernet interfaces are aggregated based on the binding configuration of the first binding port, so that the requirements of the control surface of the operating system can be flexibly adapted; on the other hand, the conflict checking is carried out through the sideband interface module of the network controller, and when no conflict exists, the output interface of the board level management controller is updated to be the generated link aggregation interface, so that the requirements of the management and control surface of the board level management controller can be flexibly adapted; and finally, establishing a channel for interaction between the board-level management controller and the network interface card by utilizing the network protocol address of the board-level management controller included in the configuration-type original equipment manufacturer command. Therefore, the reliability and the bandwidth requirements of an operating system are met, and the management network port of a special board-level management controller is saved, so that the network interface card supports the use of the sideband interface technology and the binding technology of the network controller. In addition, the BMC uses the Ethernet interface on the NIC based on channel strength through the NC-SIC protocol, and the switch can forward through any Ethernet interface, and the configuration method for the sideband interface protocol of the network controller shown in figure 1 can simultaneously meet the requirements of the BMC and the two sides of the switch, so that the method is beneficial to meeting the service deployment requirements on the server.
Fig. 2 is a schematic diagram of a network interface card according to an embodiment of the present application. As shown in fig. 2, the operating system 212 on the drive side configures at least two network interfaces (network interface a220 and network interface B222 are exemplarily shown in fig. 2) to thereby construct a first binding port 224. On the network interface card 214, based on the binding configuration of the first binding port 224, at least two ethernet interfaces (ethernet interface a230 and ethernet interface B232) of the network interface card 214 on the aggregation logic side corresponding to the at least two network interfaces (network interface a220 and network interface B222) are generated to generate a first link aggregation group. The binding configuration of the first binding port is determined based on the first binding mode, and the first link aggregation interface 234 corresponds to the first link aggregation group. After the first link aggregation group is generated, the network controller sideband interface module 240 of the network interface card 214 is notified about the first link aggregation group and the first link aggregation interface 234. In response to receiving a channel enable command from the board level management controller 210, the network controller sideband interface module 240 parses the channel enable command to determine a specific ethernet interface indicated by the channel enable command, determines whether a conflict exists based on the specific ethernet interface, and updates an output interface of the board level management controller 210 to the first link aggregation interface 234 if no conflict exists. Wherein the command format of the channel enable command is defined by a network controller sideband interface protocol and includes a configuration class original equipment manufacturer command including at least a network protocol address of the board level management controller 210, the network controller sideband interface module 240 is configured to implement interaction between the board level management controller 210 and the network interface card 214 using the network protocol address of the board level management controller 210 and an outgoing interface of the board level management controller 210.
Referring to fig. 2, the network controller sideband interface protocol allows the board level management controller 210 to use the ethernet interface on the network interface card 214 based on channel strength, so there may be a conflict between the usage requirements that the board level management controller 210 puts on the ethernet interface on the network interface card 214 based on the network controller sideband interface protocol and the usage requirements that the operating system 212 puts on the ethernet interface based on binding mode and link aggregation relation, that is, there may be a conflict between the requirements from the management plane of the board level management controller 210 and the requirements from the management plane of the operating system 212. For example, the requirement of the management plane of the board management controller 210 is to use the ethernet interface a230, and the requirement of the management plane of the operating system 212 is to use the active-standby mode and use the ethernet interface a230 as the outgoing interface of the standby link, which means that only traffic passing through the active link, i.e., the ethernet interface B232, can be forwarded, thus facing a conflict between the requirement of the management plane from the board management controller 210 and the requirement of the management plane from the operating system 212.
The network interface card 214 shown in fig. 2, applying the configuration method for the network controller sideband interface protocol shown in fig. 1, establishes a channel for interaction between the board level management controller 210 and the network interface card 214. In this way, the reliability and bandwidth requirements of the operating system 212 are simultaneously satisfied, and the management network port of the special board-level management controller 210 is saved, so that the network interface card 214 supports the use of the network controller sideband interface technology and the binding technology at the same time.
Referring to fig. 1 and 2, in one possible implementation, when the network controller sideband interface module determines that there is a conflict, the network controller sideband interface module sends an asynchronous event notification to the board level management controller. In some embodiments, the asynchronous event notification is defined by the network controller sideband interface protocol and includes a connection status field to indicate whether a conflict exists between the particular ethernet interface and the first link aggregation group. Thus, with the network controller sideband interface protocol, a new type of notification, namely asynchronous event notification (Asynchronous Event Notification, AEN), can be defined, which can further extend the conflict resolution mechanism of the board level management controller and the operating system in terms of Ethernet interface usage.
In one possible implementation, the network controller sideband interface module determines that there is a collision when the particular ethernet interface indicated by the channel enable command belongs to the at least two ethernet interfaces and the channel enable command is received before the first bonded port is established. In this way, the channel enable command is received before the first bonding port is established, which means that the operating system has not completed configuring the bonding relationship when the board level management controller enables the ethernet interface having the bonding relationship, thus bringing about a use conflict. Thus, the conflict checking is realized by utilizing the expansibility of the channel enabling command.
In one possible implementation, the configuration class oem command further includes a connection mode field for indicating that the specific ethernet interface is shared between the board level management controller and the operating system, that the board level management controller monopolizes the specific ethernet interface, or that the board level management controller prefers to use the specific ethernet interface. Here, using the connection mode field, the usage of the board level management controller and the operating system with respect to the ethernet interface may be classified, thereby facilitating subsequent collision checking and port usage scheduling.
In some embodiments, the network controller sideband interface module determines that a conflict exists when the particular ethernet interface indicated by the channel enable command belongs to the at least two ethernet interfaces and the connection mode field indicates that the board level management controller monopolizes the particular ethernet interface. Here, the board level management controller monopolizes the specific ethernet interface, meaning that the board level management controller does not share the specific ethernet interface with the operating system. Thus, when the specific ethernet interface belongs to the at least two ethernet interfaces, this means that it is difficult for the operating system to use the specific ethernet interface in the first binding mode and the binding configuration of the first binding port, and thus there is a conflict.
In some embodiments, the network controller sideband interface module determines that a conflict exists when the particular ethernet interface indicated by the channel enable command does not belong to the at least two ethernet interfaces, the connection mode field indicates that the board level management controller monopolizes the particular ethernet interface, and the operating system requires use of the particular ethernet interface. Here, the specific ethernet interface does not belong to the at least two ethernet interfaces, which means that in the unbound mode, the board-level management controller monopolizes the specific ethernet interface and the operating system requires the use of the specific ethernet interface, so that it can be judged that there is a conflict.
In some embodiments, the network controller sideband interface module determines that there is no conflict when the particular ethernet interface indicated by the channel enable command belongs to the at least two ethernet interfaces and the connection mode field indicates that the board level management controller prefers the particular ethernet interface, and the scheduling priority of traffic associated with the board level management controller is higher than the scheduling priority of traffic associated with the operating system. In this way, since the exclusive mode is not configured and the board management controller is configured to preferentially use the specific ethernet interface, it can be determined that there is no conflict, and the network interface card is a high-priority schedule for the scheduling priority of the traffic associated with the board management controller, which helps to avoid packet loss of the board management controller when the operating system side flow is large.
In one possible implementation manner, the configuration method further includes: after updating the outbound interface of the board-level management controller to be the first link aggregation interface, the network interface card performs hash selection on the network traffic from the board-level management controller so as to select a member interface in the first link aggregation group corresponding to the first link aggregation interface to perform traffic forwarding. Thus, after being combined into the binding port and aggregated into the link aggregation group, the subsequent network traffic of the board level management controller is hashed by the network interface card within the link aggregation group to select the ethernet interface, which helps to increase bandwidth and improve reliability.
In some embodiments, the first binding mode is a primary and standby mode, and the configuration method further includes: executing, by the operating system, a handoff between the primary link and a backup link in response to a primary link failure, and informing the network controller of a handoff between the primary link and the backup link by a sideband interface module; and constructing a free address resolution protocol request corresponding to the network protocol address of the board level management controller through the network controller sideband interface module, and sending the address resolution protocol request through the standby link so as to update an address resolution protocol request interface corresponding to the network protocol address of the board level management controller. In this way, if the binding mode configured by the os is the active-standby mode, this means that when the switch fails, that is, when the primary link fails, a link switching may be performed and a free address resolution protocol (Address Resolution Protocol, ARP) request may be sent to the network interface corresponding to the standby link, so that the peer switch may refresh the outgoing interface corresponding to the network protocol address of the board level management controller, thereby completing the failover of the network on the os side. Therefore, the adaptation master-slave mode is realized, and the adaptation of the requirements of users on input and output business customization is facilitated, namely the adaptation of binding relations among various network interfaces and link aggregation relations among Ethernet interfaces is required.
In some embodiments, the first binding mode is a load balancing mode in a unstacking scenario, and the configuration method further comprises: and executing address resolution protocol request double-sending processing on the network protocol address of the board level management controller through the network controller sideband interface module. In this way, by performing address resolution protocol request double-sending processing, that is, ARP double-sending, on the network protocol address of the board management controller, a load balancing mode under the scenario of unstacking is achieved, which is beneficial to flexibly adapting the requirements of users for customizing input and output services, that is, the binding relationship between various different network interfaces and the link aggregation relationship between ethernet interfaces.
In one possible implementation, the configuration class original equipment manufacturer command further includes a vendor number field, a vendor custom subcommand field, and a binding mode enable field, where the vendor number field is used to indicate a vendor of the board level management controller, and the binding mode enable field is used to indicate whether the board level management controller uses binding. Thus, the network controller sideband interface protocol and the expansibility of the channel enabling command are utilized, so that the conflict checking and the port use scheduling are facilitated.
In one possible implementation, the first binding mode is a primary-standby mode, a load balancing mode, a broadcast mode, or a dynamic link aggregation mode. Thus, the control surface requirement of the operating system can be flexibly adapted.
Fig. 3 is a schematic structural diagram of a computing device according to an embodiment of the present application, where the computing device 300 includes: one or more processors 310, a communication interface 320, and a memory 330. The processor 310, the communication interface 320 and the memory 330 are interconnected by a bus 340. Optionally, the computing device 300 may further include an input/output interface 350, where the input/output interface 350 is connected to an input/output device for receiving parameters set by a user, etc. The computing device 300 can be used to implement some or all of the functionality of the device embodiments or system embodiments of the present application described above; the processor 310 can also be used to implement some or all of the operational steps of the method embodiments described above in connection with the embodiments of the present application. For example, specific implementations of the computing device 300 performing various operations may refer to specific details in the above-described embodiments, such as the processor 310 being configured to perform some or all of the steps of the above-described method embodiments or some or all of the operations of the above-described method embodiments. For another example, in an embodiment of the present application, the computing device 300 may be configured to implement some or all of the functionality of one or more components of the apparatus embodiments described above, and the communication interface 320 may be configured to implement communication functions and the like necessary for the functionality of the apparatus, components, and the processor 310 may be configured to implement processing functions and the like necessary for the functionality of the apparatus, components.
It should be appreciated that the computing device 300 of fig. 3 may include one or more processors 310, and that the plurality of processors 310 may cooperatively provide processing power in a parallelized connection, a serialized connection, a serial-parallel connection, or any connection, or the plurality of processors 310 may constitute a processor sequence or processor array, or the plurality of processors 310 may be separated into primary and secondary processors, or the plurality of processors 310 may have different architectures such as employing heterogeneous computing architectures. In addition, the computing device 300 shown in FIG. 3, the associated structural and functional descriptions are exemplary and not limiting. In some example embodiments, computing device 300 may include more or fewer components than shown in fig. 3, or combine certain components, or split certain components, or have a different arrangement of components.
Processor 310 may take many specific forms, for example, processor 310 may include one or more combinations of a central processing unit (central processing unit, CPU), a graphics processor (graphic processing unit, GPU), a neural network processor (neural-network processing unit, NPU), a tensor processor (tensor processing unit, TPU), or a data processor (data processing unit, DPU), and embodiments of the present application are not limited in this respect. Processor 310 may also be a single-core processor or a multi-core processor. The processor 310 may be formed by a combination of a CPU and a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (programmable logic device, PLD), or a combination thereof. The PLD may be a complex programmable logic device (complex programmable logic device, CPLD), a field-programmable gate array (FPGA) GATE ARRAY, generic array logic (GENERIC ARRAY logic, GAL), or any combination thereof. Processor 310 may also be implemented solely with logic devices incorporating processing logic, such as an FPGA or Digital Signal Processor (DSP), etc. The communication interface 320 may be a wired interface, which may be an ethernet interface, a local area network (local interconnect network, LIN), etc., or a wireless interface, which may be a cellular network interface, or use a wireless lan interface, etc., for communicating with other modules or devices.
The memory 330 may be a nonvolatile memory such as a read-only memory (ROM), a Programmable ROM (PROM), an erasable programmable ROM (erasable PROM, EPROM), an electrically erasable programmable EPROM (EEPROM), or a flash memory. Memory 330 may also be volatile memory, which may be random access memory (random access memory, RAM) used as external cache memory. By way of example, and not limitation, many forms of RAM are available, such as static random access memory (STATIC RAM, SRAM), dynamic random access memory (DYNAMIC RAM, DRAM), synchronous Dynamic Random Access Memory (SDRAM), double data rate synchronous dynamic random access memory (double DATA RATE SDRAM, DDR SDRAM), enhanced synchronous dynamic random access memory (ENHANCED SDRAM, ESDRAM), synchronous link dynamic random access memory (SYNCHLINK DRAM, SLDRAM), and direct memory bus random access memory (direct rambus RAM, DR RAM). Memory 330 may also be used to store program code and data such that processor 310 invokes the program code stored in memory 330 to perform some or all of the operational steps of the method embodiments described above, or to perform corresponding functions in the apparatus embodiments described above. Moreover, computing device 300 may contain more or fewer components than shown in FIG. 3, or may have a different configuration of components.
Bus 340 may be a peripheral component interconnect express (PERIPHERAL COMPONENT INTERCONNECT EXPRESS, PCIe) bus, or an extended industry standard architecture (extended industry standard architecture, EISA) bus, a unified bus (unified bus, ubus or UB), a computer quick link (compute express link, CXL), a cache coherent interconnect protocol (cache coherent interconnect for accelerators, CCIX), or the like. The bus 340 may be divided into an address bus, a data bus, a control bus, and the like. The bus 340 may include a power bus, a control bus, a status signal bus, and the like in addition to a data bus. But is shown with only one bold line in fig. 3 for clarity of illustration, but does not represent only one bus or one type of bus.
The method and the device provided by the embodiment of the application are based on the same inventive concept, and because the principle of solving the problem by the method and the device is similar, the embodiment, the implementation, the example or the implementation of the method and the device can be mutually referred, and the repetition is not repeated. Embodiments of the present application also provide a system comprising a plurality of computing devices, each of which may be structured as described above. The functions or operations that may be implemented by the system may refer to specific implementation steps in the above method embodiments and/or specific functions described in the above apparatus embodiments, which are not described herein.
Embodiments of the present application also provide a computer-readable storage medium having stored therein computer instructions which, when executed on a computer device (e.g., one or more processors), implement the method steps of the method embodiments described above. The specific implementation of the processor of the computer readable storage medium in executing the above method steps may refer to specific operations described in the above method embodiments and/or specific functions described in the above apparatus embodiments, which are not described herein again.
It will be appreciated by those skilled in the art that embodiments of the present application may be provided as a method, system, or computer program product. The application can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Embodiments of the application may be implemented, in whole or in part, in software, hardware, firmware, or any other combination. When implemented in software, the above-described embodiments may be implemented in whole or in part in the form of a computer program product. The present application may take the form of a computer program product embodied on one or more computer-usable storage media having computer-usable program code embodied therein. The computer program product includes one or more computer instructions. When loaded or executed on a computer, produces a flow or function in accordance with embodiments of the present application, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by a wired (e.g., coaxial cable, fiber optic, digital subscriber line), or wireless (e.g., infrared, wireless, microwave, etc.). Computer readable storage media can be any available media that can be accessed by a computer or data storage devices, such as servers, data centers, etc. that contain one or more collections of available media. Usable media may be magnetic media (e.g., floppy disks, hard disks, tape), optical media, or semiconductor media. The semiconductor medium may be a solid state disk, or may be a random access memory, flash memory, read only memory, erasable programmable read only memory, electrically erasable programmable read only memory, register, or any other form of suitable storage medium.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. Each flow and/or block of the flowchart and/or block diagrams, and combinations of flows and/or blocks in the flowchart and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks. These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In the foregoing embodiments, the descriptions of the embodiments are emphasized, and for parts of one embodiment that are not described in detail, reference may be made to the related descriptions of other embodiments. It will be apparent to those skilled in the art that various modifications and variations can be made to the embodiments of the present application without departing from the spirit or scope of the embodiments of the application. The steps in the method of the embodiment of the application can be sequentially adjusted, combined or deleted according to actual needs; the modules in the system of the embodiment of the application can be divided, combined or deleted according to actual needs. The present application is also intended to include such modifications and alterations if they come within the scope of the claims and the equivalents thereof.
Claims (15)
1. A configuration method for a network controller sideband interface protocol, the configuration method comprising:
Configuring at least two network interfaces according to a first binding mode through an operating system of a driving side so as to form a first binding port;
aggregating at least two ethernet interfaces of a network interface card on a logical side corresponding to the at least two network interfaces based on a binding configuration of the first binding port, thereby generating a first link aggregation group, wherein the binding configuration of the first binding port is determined based on the first binding mode, and the first link aggregation interface corresponds to the first link aggregation group;
After generating the first link aggregation group, notifying a network controller sideband interface module of the network interface card about the first link aggregation group and the first link aggregation interface;
analyzing, by the network controller sideband interface module, a channel enable command in response to receiving the channel enable command from a board level management controller to determine a specific ethernet interface indicated by the channel enable command, determining whether a collision exists based on the specific ethernet interface, if no collision exists, updating an egress interface of the board level management controller to be the first link aggregation interface,
The command format of the channel enabling command is defined by a network controller sideband interface protocol and comprises a configuration type original equipment manufacturer command, wherein the configuration type original equipment manufacturer command at least comprises a network protocol address of the board level management controller, and the network controller sideband interface module is used for realizing interaction between the board level management controller and the network interface card by utilizing the network protocol address of the board level management controller and an output interface of the board level management controller.
2. The configuration method of claim 1, wherein the network controller sideband interface module sends an asynchronous event notification to the board level management controller when the network controller sideband interface module determines that a conflict exists.
3. The configuration method according to claim 2, wherein the asynchronous event notification is defined by the network controller sideband interface protocol and comprises a connection status field for indicating whether a conflict exists between the specific ethernet interface and the first link aggregation group.
4. The configuration method according to claim 1, wherein the network controller sideband interface module determines that there is a collision when the specific ethernet interface indicated by the channel enable command belongs to the at least two ethernet interfaces and the channel enable command is received before the first bonded port is established.
5. The configuration method of claim 1, wherein the configuration class original equipment manufacturer command further comprises a connection mode field for indicating that the specific ethernet interface is shared between the board level management controller and the operating system, that the board level management controller monopolizes the specific ethernet interface, or that the board level management controller preferentially uses the specific ethernet interface.
6. The configuration method according to claim 5, wherein the network controller sideband interface module judges that there is a collision when the specific ethernet interface indicated by the channel enable command belongs to the at least two ethernet interfaces and the connection mode field indicates that the board level management controller monopolizes the specific ethernet interface.
7. The configuration method according to claim 5, wherein the network controller sideband interface module judges that there is a conflict when the specific ethernet interface indicated by the channel enable command does not belong to the at least two ethernet interfaces, the connection mode field indicates that the board level management controller monopolizes the specific ethernet interface, and the operating system requires use of the specific ethernet interface.
8. The configuration method according to claim 5, wherein when the specific ethernet interface indicated by the channel enable command belongs to the at least two ethernet interfaces and the connection mode field indicates that the board level management controller preferentially uses the specific ethernet interface, the network controller sideband interface module judges that there is no conflict, and the scheduling priority of the traffic associated with the board level management controller is higher than the scheduling priority of the traffic associated with the operating system.
9. The configuration method according to claim 1, characterized in that the configuration method further comprises:
After updating the outbound interface of the board-level management controller to be the first link aggregation interface, the network interface card performs hash selection on the network traffic from the board-level management controller so as to select a member interface in the first link aggregation group corresponding to the first link aggregation interface to perform traffic forwarding.
10. The configuration method according to claim 9, wherein the first binding mode is a primary and standby mode, the configuration method further comprising:
executing, by the operating system, a handoff between the primary link and a backup link in response to a primary link failure, and informing the network controller of a handoff between the primary link and the backup link by a sideband interface module;
And constructing a free address resolution protocol request corresponding to the network protocol address of the board level management controller through the network controller sideband interface module, and sending the address resolution protocol request through the standby link so as to update an address resolution protocol request interface corresponding to the network protocol address of the board level management controller.
11. The configuration method according to claim 9, wherein the first binding mode is a load balancing mode in a unstacking scenario, the configuration method further comprising:
And executing address resolution protocol request double-sending processing on the network protocol address of the board level management controller through the network controller sideband interface module.
12. The configuration method of claim 1, wherein the configuration class raw device manufacturer command further comprises a vendor number field, a vendor custom subcommand field, and a binding mode enable field, wherein the vendor number field is used to indicate a vendor of the board level management controller, and the binding mode enable field is used to indicate whether the board level management controller uses binding.
13. The configuration method according to claim 1, wherein the first binding mode is a primary-standby mode, a load balancing mode, a broadcast mode or a dynamic link aggregation mode.
14. A computer device, characterized in that it comprises a memory, a processor and a computer program stored on the memory and executable on the processor, which processor implements the method according to any of claims 1 to 13 when executing the computer program.
15. A computer readable storage medium storing computer instructions which, when run on a computer device, cause the computer device to perform the method of any one of claims 1 to 13.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410696424.XA CN118282851B (en) | 2024-05-31 | 2024-05-31 | Configuration method, device and medium for sideband interface protocol of network controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410696424.XA CN118282851B (en) | 2024-05-31 | 2024-05-31 | Configuration method, device and medium for sideband interface protocol of network controller |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118282851A true CN118282851A (en) | 2024-07-02 |
CN118282851B CN118282851B (en) | 2024-08-06 |
Family
ID=91648367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410696424.XA Active CN118282851B (en) | 2024-05-31 | 2024-05-31 | Configuration method, device and medium for sideband interface protocol of network controller |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118282851B (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150172112A1 (en) * | 2013-12-18 | 2015-06-18 | Mellanox Technologies Ltd. | Simultaneous operation of remote management and link aggregation |
CN107094150A (en) * | 2017-05-23 | 2017-08-25 | 郑州云海信息技术有限公司 | A kind of NCSI protocol realizations structure and method |
CN108429741A (en) * | 2018-02-28 | 2018-08-21 | 郑州云海信息技术有限公司 | A kind of method and system for realizing NCSI agreements |
CN116055426A (en) * | 2023-03-06 | 2023-05-02 | 珠海星云智联科技有限公司 | Method, equipment and medium for traffic offload forwarding in multi-binding mode |
-
2024
- 2024-05-31 CN CN202410696424.XA patent/CN118282851B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150172112A1 (en) * | 2013-12-18 | 2015-06-18 | Mellanox Technologies Ltd. | Simultaneous operation of remote management and link aggregation |
CN107094150A (en) * | 2017-05-23 | 2017-08-25 | 郑州云海信息技术有限公司 | A kind of NCSI protocol realizations structure and method |
CN108429741A (en) * | 2018-02-28 | 2018-08-21 | 郑州云海信息技术有限公司 | A kind of method and system for realizing NCSI agreements |
CN116055426A (en) * | 2023-03-06 | 2023-05-02 | 珠海星云智联科技有限公司 | Method, equipment and medium for traffic offload forwarding in multi-binding mode |
Also Published As
Publication number | Publication date |
---|---|
CN118282851B (en) | 2024-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116055426B (en) | Method, equipment and medium for traffic offload forwarding in multi-binding mode | |
US11991083B2 (en) | Systems and methods for enhanced autonegotiation | |
CN116800616B (en) | Management method and related device of virtualized network equipment | |
CN113709220A (en) | High-availability realization method and system of virtual load balancer and electronic equipment | |
WO2013189069A1 (en) | Load sharing method and device, and single board | |
CN117519908B (en) | Virtual machine thermomigration method, computer equipment and medium | |
CN109582479B (en) | OpenDDS distributed communication method based on reflective memory card | |
CN117041147B (en) | Intelligent network card equipment, host equipment, method and system | |
CN117909031A (en) | Message processing method, computer equipment and medium for data processing unit | |
CN118282851B (en) | Configuration method, device and medium for sideband interface protocol of network controller | |
US20230276213A1 (en) | Distributed ledger control over wireless network slices | |
CN114205414B (en) | Data processing method, device, electronic equipment and medium based on service grid | |
CN114390050A (en) | Cross-machine-room cluster control method and device | |
CN117978758B (en) | Adaptation method for data processing unit, computer device and medium | |
CN107145408A (en) | A kind of method and system for realizing active and standby clustered deploy(ment) | |
CN118054998B (en) | Driver for kernel network driver and driver upgrading method | |
CN118233414B (en) | Data processing unit point-to-point communication method, computer equipment and medium | |
CN118394420B (en) | Driving method, computer equipment and medium | |
CN118433138B (en) | Method, computer device and medium for switch virtualization | |
CN118250228B (en) | Flow speed limiting device and method based on hardware unloading | |
CN118331747B (en) | Forwarding method for data processor, computer equipment and medium | |
CN116800604B (en) | Configurable laser communication equipment control method, device, equipment and medium | |
CN114785631B (en) | Communication protocol stack multiplexing method, communication method, computer device and medium | |
CN118101515B (en) | Abnormal topology processing method, system, equipment and cluster | |
WO2023035777A1 (en) | Network configuration method, proxy component, controller, electronic device and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |