CN114900469B - Method, system, equipment and medium for controlling data flow of multi host network card - Google Patents

Method, system, equipment and medium for controlling data flow of multi host network card Download PDF

Info

Publication number
CN114900469B
CN114900469B CN202210655505.6A CN202210655505A CN114900469B CN 114900469 B CN114900469 B CN 114900469B CN 202210655505 A CN202210655505 A CN 202210655505A CN 114900469 B CN114900469 B CN 114900469B
Authority
CN
China
Prior art keywords
data
flow control
layer
source mac
serdes
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.)
Active
Application number
CN202210655505.6A
Other languages
Chinese (zh)
Other versions
CN114900469A (en
Inventor
刘晓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202210655505.6A priority Critical patent/CN114900469B/en
Publication of CN114900469A publication Critical patent/CN114900469A/en
Application granted granted Critical
Publication of CN114900469B publication Critical patent/CN114900469B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention relates to the field of network card design, and discloses a method, a system, equipment and a medium for controlling data flow of a multi-host network card. The method comprises the steps of establishing a data flow control layer between a MAC layer and a SERDES layer of a multi host network card; establishing identification of source MAC of the MAC layer by the data flow control layer to obtain the flow demand of the data of the source MAC; establishing the connection of different SERDES interfaces of the data flow control layer and the SERDES layer; and the data flow control layer forwards the data of the source MAC to a corresponding SERDES interface for transmission according to the flow demand of the data of the source MAC. The method realizes that important business can be timely sent under the condition of high business volume; meanwhile, the method is simple and efficient in configuration and easy to operate, and can play a great role in a multihost application scene.

Description

Method, system, equipment and medium for controlling data flow of multi host network card
Technical Field
The present invention relates to the field of network card design, and in particular, to a method, a system, an apparatus, and a medium for controlling data traffic of a multihost network card.
Background
The existing data center network is built, and users have demands for bandwidth, time delay and cost, namely, increasing bandwidth, reducing time delay and simultaneously reducing cost, and users start to use network cards supporting multi host technology based on the demands. The bandwidth of the multihop network card is at least 100G generally, and because all the services of the user share the port, when large-flow data occurs, the service can only transmit according to the sequence of the queues, and when partial important data needs to be transmitted preferentially, the service can only queue according to the sequence, and the priority transmission can not be obtained.
In the prior art, only the problem that the CPU of the multipath server can share the same network card and the same network port is solved, and the requirement of an application scene of a user is solved from a large technical level, but for the part of the user for controlling the application data flow, data transmission can be generally carried out only according to a default sharing mechanism. For example, four CPUs of the four-way server are respectively connected to the pcie 16 of the multi-host network card by the lanes of the pcie 4, so that the four CPUs are allocated with four MAV addresses under the OS (operating system), each CPU corresponds to one MAC (Media Access Control, media access control bit) address, the MAC addresses can access the multi-host network card, and data transmission is performed from the physical network port of the multi-host network card to the outside, and all MACs share the one physical network port. The data transmission is carried out outside the physical network port of the multihest network card, the data is sent according to the queue sequence, and the flow control can not be carried out on the data. In general, on a multi-path server, a user can use multiple services, and the priority difference exists, namely, the service which is important and needs to send data in time exists, the service which is not important and can wait is existed, in the prior art, the problem that the flow control according to the service requirement cannot be realized is highlighted, and the actual service application of the user is affected.
Disclosure of Invention
In view of the above, the present invention provides a method, a system, a device and a medium for controlling data traffic of a multihost network card. The method for controlling the data flow of the multi-host network card provided by the invention has the advantages that the network card supporting the multi-host technology is shunted from the hardware layer to the data of the multi-channel CPU at the network card end according to the requirement in the multi-host application scene. A layer of data flow control layer is added between the MAC layer and SERDES (Serializer/Deserializer) layer of the multihoming network card, and data of specific flow is sent to the specific SERDES and sent to the network, so that part of important data can independently share a fixed bandwidth, real-time data interaction can be performed, and data transmission is not required according to a default sharing mechanism.
Based on the above objects, an aspect of an embodiment of the present invention provides a method for controlling a data flow of a multihost network card, including the steps of: establishing a data flow control layer between the MAC layer and the SERDES layer of the multihest network card; establishing identification of source MAC of the MAC layer by the data flow control layer to obtain the flow demand of the data of the source MAC; establishing the connection of different SERDES interfaces of the data flow control layer and the SERDES layer; and the data flow control layer forwards the data of the source MAC to a corresponding SERDES interface for transmission according to the flow demand of the data of the source MAC.
In some embodiments, the establishing the identification of the source MAC of the MAC layer by the data flow control layer, and obtaining the flow requirement of the data of the source MAC includes: and establishing identification of the source MAC address of the Ethernet data message by the data flow control layer, and establishing identification of the source MAC of the MAC layer by the data flow control layer according to the source MAC address so as to obtain flow requirements corresponding to data of different source MACs of the MAC layer.
In some embodiments, the establishing a connection of the data flow control layer and a different SERDES interface of the SERDES layer comprises: and establishing a plurality of configuration modules in the data flow control layer, and establishing connection between the configuration modules and different SERDES interfaces of the SERDES layer respectively so as to transmit data.
In some embodiments, the data flow control layer forwarding the data of the source MAC to a corresponding SERDES interface for transmission according to a flow requirement of the data of the source MAC includes: the configuration module can be configured to dynamically match the SERDES interface required by the data of the source MAC according to the flow requirement of the data of the source MAC so as to forward the data of the source MAC to the corresponding SERDES interface for transmission.
In some embodiments, the data flow control layer forwarding the data of the source MAC to a corresponding SERDES interface for transmission according to a flow requirement of the data of the source MAC includes: the configuration module allocates a corresponding number of SERDES interfaces for the data of the source MAC according to the sending priority of the data of the source MAC and the required bandwidth, and forwards the data of the source MAC to the corresponding SERDES interfaces for transmission.
In some embodiments, the method further comprises: setting a preset time range of data flow control in the data flow control layer; responding to the SERDES interface transmission corresponding to the data matching of the source MAC by the flow control layer within the preset time range; and responding to the condition that the data of all source MACs of the MAC layer do not fall within the preset time range, and setting all SERDES interfaces to be shared for transmission.
In another aspect of the embodiment of the present invention, there is also provided a system for controlling data traffic of a multihost network card, the system including: the first module is configured to establish a data flow control layer between the MAC layer and the SERDES layer of the multihost network card; a second module configured to establish identification of a source MAC of the MAC layer by the data flow control layer, and obtain a flow requirement of data of the source MAC; a third module configured to establish a connection between the data flow control layer and a different SERDES interface of the SERDES layer; and a fourth module, configured to, according to the flow requirement of the data of the source MAC, forward the data of the source MAC to a corresponding SERDES interface for transmission by the data flow control layer.
In some embodiments, the system further comprises a fifth module configured to: setting a preset time range of data flow control at the data flow control layer, responding to the preset time range, wherein the flow control layer is used for transmitting the data of the source MAC by matching the corresponding SERDES interface, and responding to the preset time range, and setting the data of all the source MAC of the MAC layer to share all the SERDES interfaces for transmission.
In another aspect of the embodiments of the present invention, there is also provided a computer device including at least one processor; and a memory storing computer instructions executable on the processor, the instructions when executed by the processor performing the steps of any of the methods described above.
In another aspect of the embodiments of the present invention, there is also provided a computer-readable storage medium storing a computer program which, when executed by a processor, implements any of the method steps described above.
The invention has at least the following beneficial effects: the invention provides a method, a system, equipment and a medium for controlling the data flow of a multi-host network card, wherein the method for controlling the data flow of the multi-host network card provided by the invention shunts the data of a plurality of paths of CPUs from a hardware layer according to the need, reasonably configures and forwards the data flow of the service of an OS layer, and realizes the accurate control of the service flow at the hardware layer of the multi-host network card, namely, distributes corresponding SERDES interfaces according to the flow demand of the data of an upper layer service. The method ensures that the important business can independently share fixed physical bandwidth, and the data of the important business can be rapidly and even transmitted and received so as to realize that the important business can be timely transmitted under the condition of high traffic. Meanwhile, the method is simple and efficient in configuration and easy to operate, and can play a great role in a multihost application scene.
Drawings
In order to more clearly illustrate the embodiments of the invention or the solutions of the prior art, the drawings which are necessary for the description of the embodiments or the prior art will be briefly described, it being evident that the drawings in the following description are only some embodiments of the invention and that other embodiments can be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic diagram of an embodiment of a method for controlling data traffic of a multihop network card according to the present invention;
fig. 2 is a schematic diagram of another embodiment of a method for controlling data traffic of a multihop network card according to the present invention;
fig. 3 is a schematic diagram of an embodiment of a system for controlling data flow of a multihop network card according to the present invention;
FIG. 4 is a schematic diagram of an embodiment of a computer device provided by the present invention;
fig. 5 is a schematic diagram of an embodiment of a computer readable storage medium according to the present invention.
Detailed Description
Embodiments of the present invention are described below. However, it is to be understood that the disclosed embodiments are merely examples and that other embodiments may take various alternative forms.
In addition, it should be noted that, in the embodiments of the present invention, all the expressions "first" and "second" are used to distinguish two entities with the same name but different entities or different parameters, and it is noted that the "first" and "second" are only used for convenience of expression, and should not be construed as limiting the embodiments of the present invention, and the following embodiments are not described in any way. The terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
One or more embodiments of the present application will be described below with reference to the accompanying drawings.
Based on the above objects, a first aspect of the embodiments of the present invention proposes an embodiment of a method for controlling a data flow of a multihost network card. Fig. 1 is a schematic diagram of a method for controlling data flow of a multihost network card according to the present invention. As shown in fig. 1, a method for controlling data traffic of a multihost network card according to an embodiment of the present invention includes the following steps:
s1, establishing a data flow control layer between a MAC layer and a SERDES layer of a multi host network card;
s2, establishing identification of a source MAC of the MAC layer by the data flow control layer to obtain the flow demand of the data of the source MAC;
s3, establishing connection of different SERDES interfaces of the data flow control layer and the SERDES layer;
and S4, the data flow control layer forwards the data of the source MAC to a corresponding SERDES interface for transmission according to the flow demand of the data of the source MAC.
Fig. 2 is a schematic diagram of another embodiment of a method for controlling data traffic of a multihost network card according to the present invention.
In the existing multihoming application scenario, when the bandwidth of the multihoming network card is 100G, four CPUs of the four-way server are connected to the pci ex16 of the multihoming network card by the lane of the pci ex4, so that the four CPUs are allocated with four MAC addresses at the OS layer. Each CPU corresponds to one MAC address, the MAC addresses can access the multi-host network card, data transmission is carried out from the physical network port of the multi-host network card, and all MAC share the physical network port. The multi host network card presents addresses corresponding to 4 CPUs in the upper OS, different application data can call different MAC addresses for data transmission, for example, program 1 calls MAC1, and program 2 calls MAC2 for analogization. Although the sending port of the multi-host network card is also 4 SERDES interfaces (each SERDES is a fixed flow of 25G), the 4 SERDES interfaces only send data transmitted by all MAC layers in parallel, do not distinguish specific data streams, namely, transmit data to the outside at the physical port of the multi-host network card, send the data according to a queue sequence, and cannot control the flow of the data. However, on the multipath server, the user can use multiple services, and there is a priority difference, that is, there is a service that is important to send data in time, and a service that is not important to wait, and flow control is required according to the service requirement. Therefore, in this case, the multihost network card cannot distinguish the data stream and perform data flow control, and only can transmit data according to the sequence of the data packet, which affects the actual service application of the user.
The method for controlling the data flow of the multi-host network card provided by the invention is designed for separating the data flow in a hardware layer, namely a data flow control layer is additionally arranged between an MAC layer and an SERDES layer of the multi-host network card, and the data of specific flow is sent to the specific SERDES and then sent to a network through the data flow control layer.
In this embodiment, the mode of sequential transmission in the prior art is broken, a data flow control layer is added at the back end of the MAC layer, and the data flow control layer performs data distribution according to the upper MAC address, for example, controls the data flow direction of the data flow control layer, and then forwards the data of the upper MAC to the corresponding SERDES interface according to the data flow control requirement. The SERDES which is sent by the specific MAC is set by a data flow control layer of hardware, so that a user can better adjust according to own service requirements, important service data can occupy sufficient bandwidth, the bandwidth is shared independently, and timely and stable sending of the important service data is ensured.
And establishing the identification of the source MAC of the MAC layer by the data flow control layer to obtain the flow demand of the data of the source MAC. Because the ethernet data packet outermost layer is an ethernet header, the ethernet header is sequentially a destination MAC (MAC for receiving data, occupying the first 6 bytes), a source MAC (MAC for transmitting data, occupying the middle 6 bytes), a type (upper protocol type, occupying 2 bytes), and the like, the source MAC needs to be identified at the data flow control layer (directly skipping the 6 bytes of the destination MAC), and then the data flow of the source MAC is forwarded as required.
A plurality of configuration modules are established in a data flow control layer, and connection between the configuration modules and different SERDES interfaces of the SERDES layer is established respectively so as to transmit data. In this embodiment, the data bandwidth of the port of the multihost network card is 100G, and there are a total of 4 SERDES interfaces, namely serdes_1, serdes_2, serdes_3, and serdes_4, and the data traffic of each SERDES interface is 25G per second. The data importance of mac1 and mac2 is not high, but the data importance of mac3 and mac4 is high, so that the data of mac3 and mac4 need to be sent preferentially, meanwhile, the data bandwidth requirement of mac4 is high, and the following allocation can be performed according to the above traffic requirement at the traffic control layer: the data sent for mac1 and mac2 are all forwarded to serdes_1, so that the data of mac1 and mac2 can only wait for at most 25G per second, even if more data packets need to be sent, and it can be understood that the applications called by mac1 and mac2 are relatively unimportant data here; the data sent by mac3 is all forwarded to SERDES_2, so that the data sent by mac3 can independently share 25G per second of traffic, namely, the application called by mac3 is important data and needs to exclusive certain bandwidth data; the data sent to mac4 is all forwarded to serdes_3 and serdes_4 so that mac4 can exclusively share 50G per second traffic, i.e., applications calling mac4 are also important and need to exclusive very large bandwidth data. The SERDES which is correspondingly sent by the specific source MAC can be set through the data flow control layer of hardware, so that a client can better adjust according to own service demands, the important service data can occupy sufficient bandwidth, the bandwidth is exclusively shared, and the timely and stable sending of the important service data is ensured.
In this embodiment, the number of configuration modules corresponds to the source MACs one by one, and each configuration module serves the corresponding source MAC. In this embodiment, there are a total of 4 configuration modules, i.e., configuration 1, configuration 2, configuration 3, and configuration 4, each of which is connected to a SERDES interface, i.e., each of which is connected to serdes_1, serdes_2, serdes_3, and serdes_4, respectively, so as to transmit data. In each configuration module, editing setting can be performed, configuration table information is written in, and the configuration table information is used for configuring data traffic to be forwarded to fixed SERDES, so that data traffic control can be realized. When the data on the mac1 corresponding to the CPU1 needs to be sent preferentially, a rule can be established in the configuration 1 of the data flow control layer, the data flow of the mac1 is forwarded to the SERDES1, if the data flow exceeds 25Gb/s, the rule can be modified, and the data flow of the mac1 is forwarded to the SERDES1 and the SERDES2, so that the data flow can reach the capacity of 50 Gb/s; if the importance of mac2 and mac3 data is not high, queuing can be performed, a rule can be established in configuration 2 of the data flow control layer, and data flows of mac2 and mac3 are forwarded to serdes_3, so that data of mac2 and mac3 share the bandwidth of serdes_3, whether the data flow is greater than 25Gb/s or not, the hardware is limited to 25Gb/s, and the excess data portions are queued for transmission in sequence.
Meanwhile, the configuration module at the data flow control layer can also be configured according to a time period, a preset time range of data flow control is set at the data flow control layer, and in the preset time range, the data of the source MAC is matched with corresponding SERDES interface transmission by the flow control layer; and not within the preset time range, setting all the SERDES interfaces to be shared by all the source MAC data of the MAC layer for transmission. For example, in the case of daytime traffic is relatively average, configuration 8 may be: 00 to 17:00 all source MACs share all SERDES, i.e. all traffic shares these 4 SERDES;17:00 to 24:00 when some sensitive services need to monopolize the data bandwidth, the flow control layer can be set to match the corresponding SERDES interface transmission for the data of the source MAC, namely, according to the configuration, a certain MAC is configured with a single SERDES for monopolizing the data bandwidth, so that the priority transmission of important data is ensured.
In this embodiment, the data of the multiple paths of CPUs are distributed from the hardware level according to the need, the data traffic of the service at the OS level is reasonably configured and forwarded, and the accurate control of the service traffic at the multi-host network card hardware level is realized, that is, the corresponding SERDES interface is allocated according to the traffic demand of the data of the upper layer service. The method ensures that the important business can independently share fixed physical bandwidth, and the data of the important business can be rapidly and even transmitted and received so as to realize that the important business can be timely transmitted under the condition of high traffic. Meanwhile, the method is simple and efficient in configuration and easy to operate, and can play a great role in a multihost application scene.
Based on the above object, a second aspect of the embodiments of the present invention proposes a system for data flow control of a multihost network card. Fig. 3 is a schematic diagram of an embodiment of a system for controlling data flow of a multihost network card according to the present invention. As shown in fig. 3, the system for controlling data flow of a multihost network card provided by the present invention includes the following modules: a first module 011 configured to establish a data flow control layer between the MAC layer and the SERDES layer of the multihost network card; a second module 012 configured to establish an identification of a source MAC of the MAC layer by the data flow control layer, and obtain a flow requirement of data of the source MAC; a third module 013 configured to establish a connection of the data flow control layer and a different SERDES interface of the SERDES layer; and a fourth module 014, configured to forward the data of the source MAC to a corresponding SERDES interface for transmission by the data flow control layer according to the flow requirement of the data of the source MAC.
In some embodiments, the system for controlling data flow of a multi host network card according to the present invention further includes a fifth module, where the fifth module is configured to set a preset time range for data flow control at the data flow control layer, and in response to the data matching corresponding SERDES interface transmission of the source MAC at the preset time range, the flow control layer sets that data of all source MACs of the MAC layer share all SERDES interfaces for transmission, and in response to the data matching corresponding SERDES interface transmission of all source MACs not being within the preset time range.
Based on the above objects, a third aspect of the embodiments of the present invention proposes a computer device, and fig. 4 is a schematic diagram of an embodiment of a computer device provided by the present invention. As shown in fig. 4, an embodiment of a computer device provided by the present invention includes the following modules: at least one processor 021; and a memory 022, the memory 022 storing computer instructions 023 executable on the processor 021, the computer instructions 023 implementing the steps of any of the methods described above when executed by the processor 021.
The method implemented by the computer instructions 023 comprises the following steps: and establishing identification of the source MAC address of the Ethernet data message by the data flow control layer, and establishing identification of the source MAC of the MAC layer by the data flow control layer according to the source MAC address so as to obtain flow requirements corresponding to data of different source MACs of the MAC layer.
In some embodiments, the establishing the identification of the source MAC of the MAC layer by the data flow control layer, and obtaining the flow requirement of the data of the source MAC includes: and establishing identification of the source MAC address of the Ethernet data message by the data flow control layer, and establishing identification of the source MAC of the MAC layer by the data flow control layer according to the source MAC address so as to obtain flow requirements corresponding to data of different source MACs of the MAC layer.
In some embodiments, the establishing a connection of the data flow control layer and a different SERDES interface of the SERDES layer comprises: and establishing a plurality of configuration modules in the data flow control layer, and establishing connection between the configuration modules and different SERDES interfaces of the SERDES layer respectively so as to transmit data.
In some embodiments, the data flow control layer forwarding the data of the source MAC to a corresponding SERDES interface for transmission according to a flow requirement of the data of the source MAC includes: the configuration module can be configured to dynamically match the SERDES interface required by the data of the source MAC according to the flow requirement of the data of the source MAC so as to forward the data of the source MAC to the corresponding SERDES interface for transmission.
In some embodiments, the data flow control layer forwarding the data of the source MAC to a corresponding SERDES interface for transmission according to a flow requirement of the data of the source MAC includes: the configuration module allocates a corresponding number of SERDES interfaces for the data of the source MAC according to the sending priority of the data of the source MAC and the required bandwidth, and forwards the data of the source MAC to the corresponding SERDES interfaces for transmission.
In some embodiments, the method further comprises: setting a preset time range of data flow control in the data flow control layer; responding to the SERDES interface transmission corresponding to the data matching of the source MAC by the flow control layer within the preset time range; and responding to the condition that the data of all source MACs of the MAC layer do not fall within the preset time range, and setting all SERDES interfaces to be shared for transmission.
The invention also provides a computer readable storage medium. Fig. 5 is a schematic diagram illustrating an embodiment of a computer-readable storage medium provided by the present invention. As shown in fig. 5, the computer-readable storage medium 031 stores a computer program 032 which, when executed by a processor, performs the above method.
Finally, it should be noted that, as will be understood by those skilled in the art, implementing all or part of the above-described methods in the embodiments may be implemented by a computer program to instruct related hardware, and the program of the method for setting system parameters may be stored in a computer readable storage medium, where the program may include the flow of the embodiments of the methods described above when executed. The storage medium of the program may be a magnetic disk, an optical disk, a read-only memory (ROM), a random-access memory (RAM), or the like. The computer program embodiments described above may achieve the same or similar effects as any of the method embodiments described above.
Furthermore, the method disclosed according to the embodiment of the present invention may also be implemented as a computer program executed by a processor, which may be stored in a computer-readable storage medium. The above-described functions defined in the methods disclosed in the embodiments of the present invention are performed when the computer program is executed by a processor.
Furthermore, the above-described method steps and system units may also be implemented using a controller and a computer-readable storage medium storing a computer program for causing the controller to implement the above-described steps or unit functions.
Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as software or hardware depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
In one or more exemplary designs, the functions may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one location to another. A storage media may be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a general purpose or special purpose computer or general purpose or special purpose processor. Further, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (D0L), or wireless technology such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, D0L, or wireless technology such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, includes Compact Disc (CD), laser disc, optical disc, digital Versatile Disc (DVD), floppy disk, blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
The foregoing is an exemplary embodiment of the present disclosure, but it should be noted that various changes and modifications could be made herein without departing from the scope of the disclosure as defined by the appended claims. The functions, steps and/or actions of the method claims in accordance with the disclosed embodiments described herein need not be performed in any particular order. Furthermore, although elements of the disclosed embodiments may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated.
It should be understood that as used herein, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly supports the exception. It should also be understood that "and/or" as used herein is meant to include any and all possible combinations of one or more of the associated listed items.
The foregoing embodiment of the present invention has been disclosed with reference to the number of embodiments for the purpose of description only, and does not represent the advantages or disadvantages of the embodiments.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program for instructing relevant hardware, and the program may be stored in a computer readable storage medium, where the storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
Those of ordinary skill in the art will appreciate that: the above discussion of any embodiment is merely exemplary and is not intended to imply that the scope of the disclosure of embodiments of the invention, including the claims, is limited to such examples; combinations of features of the above embodiments or in different embodiments are also possible within the idea of an embodiment of the invention, and many other variations of the different aspects of the embodiments of the invention as described above exist, which are not provided in detail for the sake of brevity. Therefore, any omission, modification, equivalent replacement, improvement, etc. of the embodiments should be included in the protection scope of the embodiments of the present invention.

Claims (10)

1. A method for data flow control of a multihost network card, the method comprising:
establishing a data flow control layer between the MAC layer and the SERDES layer of the multihest network card;
establishing identification of source MAC of the MAC layer by the data flow control layer to obtain the flow demand of the data of the source MAC;
establishing the connection of different SERDES interfaces of the data flow control layer and the SERDES layer;
and the data flow control layer forwards the data of the source MAC to a corresponding SERDES interface for transmission according to the flow demand of the data of the source MAC.
2. The method of claim 1, wherein establishing the identification of the source MAC of the MAC layer by the data flow control layer, the obtaining the flow requirement of the data of the source MAC comprises:
and establishing identification of the source MAC address of the Ethernet data message by the data flow control layer, and establishing identification of the source MAC of the MAC layer by the data flow control layer according to the source MAC address so as to obtain flow requirements corresponding to data of different source MACs of the MAC layer.
3. The method of claim 1, wherein the establishing a connection of the data flow control layer with a different SERDES interface of a SERDES layer comprises:
and establishing a plurality of configuration modules in the data flow control layer, and establishing connection between the configuration modules and different SERDES interfaces of the SERDES layer respectively so as to transmit data.
4. The method of claim 3 wherein the data flow control layer forwarding the data of the source MAC to the corresponding SERDES interface for transmission according to the flow requirements of the data of the source MAC comprises:
and setting a SERDES interface required by the configuration module for dynamically matching the data of the source MAC according to the flow demand of the data of the source MAC so as to realize that the data of the source MAC is forwarded to the corresponding SERDES interface for transmission.
5. The method of claim 4, wherein the data flow control layer forwarding the data of the source MAC to the corresponding SERDES interface for transmission according to the flow requirements of the data of the source MAC comprises:
the configuration module allocates a corresponding number of SERDES interfaces for the data of the source MAC according to the sending priority of the data of the source MAC and the required bandwidth, and forwards the data of the source MAC to the corresponding SERDES interfaces for transmission.
6. The method according to claim 1, wherein the method further comprises:
setting a preset time range of data flow control in the data flow control layer;
responding to the SERDES interface transmission corresponding to the data matching of the source MAC by the flow control layer within the preset time range;
and responding to the condition that the data of all source MACs of the MAC layer do not fall within the preset time range, and setting all SERDES interfaces to be shared for transmission.
7. A system for data flow control of a multihost network card, comprising:
the first module is configured to establish a data flow control layer between the MAC layer and the SERDES layer of the multihost network card;
a second module configured to establish identification of a source MAC of the MAC layer by the data flow control layer, and obtain a flow requirement of data of the source MAC;
a third module configured to establish a connection between the data flow control layer and a different SERDES interface of the SERDES layer; and
and a fourth module, configured to, by the data flow control layer, forward the data of the source MAC to a corresponding SERDES interface for transmission according to the flow requirement of the data of the source MAC.
8. The system of claim 7, further comprising a fifth module configured to: setting a preset time range of data flow control at the data flow control layer, responding to the preset time range, wherein the flow control layer is used for transmitting the data of the source MAC by matching the corresponding SERDES interface, and responding to the preset time range, and setting the data of all the source MAC of the MAC layer to share all the SERDES interfaces for transmission.
9. A computer device, comprising:
at least one processor; and
a memory storing computer instructions executable on the processor, which when executed by the processor, perform the steps of the method of any one of claims 1-6.
10. A computer readable storage medium storing a computer program, characterized in that the computer program when executed by a processor implements the steps of the method of any one of claims 1-6.
CN202210655505.6A 2022-06-10 2022-06-10 Method, system, equipment and medium for controlling data flow of multi host network card Active CN114900469B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210655505.6A CN114900469B (en) 2022-06-10 2022-06-10 Method, system, equipment and medium for controlling data flow of multi host network card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210655505.6A CN114900469B (en) 2022-06-10 2022-06-10 Method, system, equipment and medium for controlling data flow of multi host network card

Publications (2)

Publication Number Publication Date
CN114900469A CN114900469A (en) 2022-08-12
CN114900469B true CN114900469B (en) 2023-07-25

Family

ID=82728757

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210655505.6A Active CN114900469B (en) 2022-06-10 2022-06-10 Method, system, equipment and medium for controlling data flow of multi host network card

Country Status (1)

Country Link
CN (1) CN114900469B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116488779B (en) * 2023-06-15 2023-09-15 无锡麟聚半导体科技有限公司 Test method and system for data stream transmission verification based on randomly generated data source

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614354A (en) * 2018-12-13 2019-04-12 锐捷网络股份有限公司 Interface assignment method, board, equipment and storage medium
CN110995616A (en) * 2019-12-06 2020-04-10 苏州浪潮智能科技有限公司 Management method and device for large-flow server and readable medium
CN112491600A (en) * 2018-03-07 2021-03-12 华为技术有限公司 Method and device for upgrading network card firmware, network card and equipment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9590920B2 (en) * 2011-04-18 2017-03-07 Ineda Systems, Inc. Multi-host Ethernet controller

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112491600A (en) * 2018-03-07 2021-03-12 华为技术有限公司 Method and device for upgrading network card firmware, network card and equipment
CN109614354A (en) * 2018-12-13 2019-04-12 锐捷网络股份有限公司 Interface assignment method, board, equipment and storage medium
CN110995616A (en) * 2019-12-06 2020-04-10 苏州浪潮智能科技有限公司 Management method and device for large-flow server and readable medium

Also Published As

Publication number Publication date
CN114900469A (en) 2022-08-12

Similar Documents

Publication Publication Date Title
US9800513B2 (en) Mapped FIFO buffering
CN101180860B (en) Traffic diversion in an ethernet-based access network
US7903552B2 (en) Directional and priority based flow control mechanism between nodes
US5918021A (en) System and method for dynamic distribution of data packets through multiple channels
US20110164616A1 (en) Methods and apparatus for processing superframes
US8705351B1 (en) Method and system for load balancing in networks
US8942094B2 (en) Credit-based network congestion management
USRE41464E1 (en) Switching ethernet controller providing packet routing
JPH11145990A (en) Trunk-based operation of 'ethernet(r)' compatible network
US20100002714A1 (en) PCI express network
CN109873776B (en) Multicast message load sharing balancing method and device
US11165705B2 (en) Data transmission method, device, and computer storage medium
CN114900469B (en) Method, system, equipment and medium for controlling data flow of multi host network card
US9137030B1 (en) Multicast queueing in a network switch
US9282000B1 (en) Network devices having configurable receive packet queues and related methods
US20090274049A1 (en) Non-blocked network system and packet arbitration method thereof
WO2019165855A1 (en) Message transmission method and device
US20040081108A1 (en) Arbitration system
CN102594665B (en) Service data transmission method and device
JP5437290B2 (en) Service distribution method, service distribution device, and program
US20040062242A1 (en) Routing packets in packet-based input/output communications
US9225672B1 (en) Systems and methods for packet grouping in networks
US9154455B1 (en) Method and system for determining drop eligibility of network information
AU2003275303B2 (en) Method and apparatus for processing superframes using an arbitration system
US12015560B2 (en) Data transmission method and network device

Legal Events

Date Code Title Description
PB01 Publication
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