An asynchronous event packet processing method, system, device, and storage medium

By comparing the checksum type of asynchronous event packets, generating a reception or error list, the detection problem of AEN packet loss is solved, and accurate monitoring of network status and link optimization is achieved.

CN115801926BActive Publication Date: 2025-08-01INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211450805.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-18
Publication Date
2025-08-01
Estimated Expiration
2042-11-18

AI Technical Summary

Technical Problem

In the prior art, when the AEN asynchronous event packet is lost during transmission, the management controller cannot detect it in time, resulting in incomplete network status monitoring.

Method used

By performing checksum type comparison of asynchronous event packets, a reception list or error list is generated, and a incremental IID field and checksum field are used to ensure the integrity of the packet, and a detection report is generated to optimize the network link.

Benefits of technology

Accurate monitoring of network health status and timely detection of link changes are realized, and detection reports are generated to optimize network links.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115801926B_ABST
    Figure CN115801926B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for processing asynchronous event packets, comprising the following steps: in response to receiving an asynchronous event packet, verifying the checksum recorded in a first preset field of the asynchronous event packet; in response to the verification of the checksum passing, obtaining the type of the asynchronous event packet recorded in a second preset field of the asynchronous event packet; obtaining the current network state and comparing it with the type of the asynchronous event packet; in response to the current network state matching the corresponding state of the type of the asynchronous event packet, putting the currently received asynchronous event packet into a receiving list. The present invention also discloses a system, a computer device, and a readable storage medium. The solution proposed by the present invention can better grasp the health state of the current network and the network changes of the corresponding link through the processing of asynchronous event packets, and can generate corresponding detection reports. According to the problems in the detection statistical report, the network link can be optimized targetedly.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of NCSI, and in particular, to a method, system, device, and storage medium for processing asynchronous event packets. Background Art

[0002] NCSI (Network Controller Sideband Interface), as an industry standard for sideband interface network controllers that support out-of-band management of servers defined by the Distributed Management Task Force (DMTF), is supported by devices from major network card manufacturers (such as Broadcom, etc.). However, currently, the support for AEN asynchronous event packets is still not perfect. An AEN asynchronous event packet is an announcement data packet actively sent by a network controller to a management controller when certain state changes occur and affect the normal operation of its interface. These events include: link state changes, loading and unloading of operating system drivers, chip reset, etc. An AEN packet is a type of NCSI packet that operates outside the NCSI request-response mechanism. That is to say, an AEN packet is neither an NCSI request nor a response to any NCSI request. An AEN packet has no response, and even if an AEN packet is lost during transmission, the management controller has no way of knowing. Summary of the Invention

[0003] In view of this, in order to overcome at least one aspect of the above problems, an embodiment of the present invention provides a method for processing asynchronous event packets, including the following steps:

[0004] In response to receiving an asynchronous event packet, verify the checksum recorded in the first preset field in the asynchronous event packet;

[0005] In response to the verification of the checksum passing, obtain the type of the asynchronous event packet recorded in the second preset field in the asynchronous event packet;

[0006] Obtain the current network state and compare it with the type of the asynchronous event packet;

[0007] In response to the current network state matching the state corresponding to the type of the asynchronous event packet, put the currently received asynchronous event packet into the receive list.

[0008] In some embodiments, it further includes:

[0009] In response to the current network state not matching the state corresponding to the type of the asynchronous event packet, put the currently received asynchronous event packet into the error list.

[0010] In some embodiments, it further includes:

[0011] Obtain the sequence number of the asynchronous event packet recorded in the third preset field in the asynchronous event packet;

[0012] Determine whether the sequence number of the currently received asynchronous event packet and the sequence numbers of the asynchronous event packets in the reception list are consecutive;

[0013] In response to non - consecutiveness, determine that an asynchronous event packet is lost and put the corresponding sequence number into the error list.

[0014] In some embodiments, it further includes:

[0015] Construct the asynchronous event packet, where set the IID field of the asynchronous event packet to an increasing value to uniquely determine an asynchronous event packet, use the first byte of the 3 - byte reserved field in the NCSI payload as the third preset field for recording the sequence number, and use the second and third bytes of the 3 - byte reserved field in the NCSI payload as the first preset field for recording the checksum.

[0016] Based on the same inventive concept, according to another aspect of the present invention, embodiments of the present invention further provide an asynchronous event packet processing system, including:

[0017] A first verification module, configured to verify the checksum recorded in the first preset field in the asynchronous event packet in response to receiving the asynchronous event packet;

[0018] A first obtaining module, configured to obtain the type of the asynchronous event packet recorded in the second preset field in the asynchronous event packet in response to the verification of the checksum passing;

[0019] A second obtaining module, configured to obtain the current network state and compare it with the type of the asynchronous event packet;

[0020] A saving module, configured to put the currently received asynchronous event packet into the reception list in response to the current network state matching the state corresponding to the type of the asynchronous event packet.

[0021] In some embodiments, the saving module is further configured to:

[0022] Put the currently received asynchronous event packet into the error list in response to the current network state not matching the state corresponding to the type of the asynchronous event packet.

[0023] In some embodiments, it further includes a second verification module, configured to:

[0024] Obtain the sequence number of the asynchronous event packet recorded in the third preset field in the asynchronous event packet;

[0025] Determine whether the sequence number of the currently received asynchronous event packet and the sequence numbers of the asynchronous event packets in the reception list are consecutive;

[0026] In response to non - consecutive, determine that there is an asynchronous event packet loss and put the corresponding sequence number into the error list.

[0027] In some embodiments, it further includes a construction module configured to:

[0028] Construct the asynchronous event packet, where the IID field of the asynchronous event packet is set to an increasing value to uniquely determine an asynchronous event packet, the first byte of the 3 - byte reserved field in the NCSI payload is used as the third preset field for recording the sequence number, and the second and third bytes of the 3 - byte reserved field in the NCSI payload are used as the first preset field for recording the checksum.

[0029] Based on the same inventive concept, according to another aspect of the present invention, embodiments of the present invention further provide a computer device, including:

[0030] At least one processor; and

[0031] A memory, the memory stores a computer program that can run on the processor, and is characterized in that when the processor executes the program, the following steps are performed:

[0032] In response to receiving an asynchronous event packet, check the checksum recorded in the first preset field in the asynchronous event packet;

[0033] In response to the check of the checksum passing, obtain the type of the asynchronous event packet recorded in the second preset field in the asynchronous event packet;

[0034] Obtain the current network state and compare it with the type of the asynchronous event packet;

[0035] In response to the current network state matching the state corresponding to the type of the asynchronous event packet, put the currently received asynchronous event packet into the reception list.

[0036] In some embodiments, it further includes:

[0037] In response to the current network state not matching the state corresponding to the type of the asynchronous event packet, put the currently received asynchronous event packet into the error list.

[0038] In some embodiments, it further includes:

[0039] Obtain the sequence number of the asynchronous event packet recorded in the third preset field in the asynchronous event packet;

[0040] Determine whether the sequence number of the currently received asynchronous event packet and the sequence numbers of the asynchronous event packets in the received list are consecutive;

[0041] In response to non - continuity, determine that there is an asynchronous event packet loss and put the corresponding sequence number into the error list.

[0042] In some embodiments, it further includes:

[0043] Construct the asynchronous event packet, where the IID field of the asynchronous event packet is set to an increasing value to uniquely determine an asynchronous event packet, the first byte of the 3 - byte reserved field in the NCSI payload is used as the third preset field for recording the sequence number, and the second and third bytes of the 3 - byte reserved field in the NCSI payload are used as the first preset field for recording the checksum.

[0044] Based on the same inventive concept, according to another aspect of the present invention, an embodiment of the present invention further provides a computer - readable storage medium, where the computer - readable storage medium stores a computer program, and when the computer program is executed by a processor, the following steps are performed:

[0045] In response to receiving an asynchronous event packet, verify the checksum recorded in the first preset field of the asynchronous event packet;

[0046] In response to the verification of the checksum passing, obtain the type of the asynchronous event packet recorded in the second preset field of the asynchronous event packet;

[0047] Obtain the current network state and compare it with the type of the asynchronous event packet;

[0048] In response to the current network state matching the state corresponding to the type of the asynchronous event packet, put the currently received asynchronous event packet into the received list.

[0049] In some embodiments, it further includes:

[0050] In response to the current network state not matching the state corresponding to the type of the asynchronous event packet, put the currently received asynchronous event packet into the error list.

[0051] In some embodiments, it further includes:

[0052] Obtain the sequence number of the asynchronous event packet recorded in the third preset field of the asynchronous event packet;

[0053] Determine whether the sequence number of the currently received asynchronous event packet and the sequence numbers of the asynchronous event packets in the received list are consecutive;

[0054] In response to non - continuity, determine that there is an asynchronous event packet loss and put the corresponding sequence number into the error list.

[0055] In some embodiments, it further includes:

[0056] Construct the asynchronous event packet, where the IID field of the asynchronous event packet is set to an incrementing value to uniquely identify an asynchronous event packet, the first byte of the 3-byte reserved field in the NCSI payload is used as the third preset field for recording the sequence number, and the second and third bytes of the 3-byte reserved field in the NCSI payload are used as the first preset field for recording the checksum.

[0057] One of the beneficial technical effects of the present invention is as follows: The solution proposed by the present invention can better grasp the health status of the current network and the network changes of the corresponding link through the processing of asynchronous event packets, and can generate corresponding detection reports. According to the problems in the detection statistical reports, the network link can be optimized targetedly. BRIEF DESCRIPTION OF THE DRAWINGS

[0058] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the following drawings are only some embodiments of the present invention. For those of ordinary skill in the art, other embodiments can be obtained based on these drawings without creative efforts.

[0059] Figure 1 It is a schematic flowchart of the asynchronous event packet processing method provided by the embodiment of the present invention;

[0060] Figure 2 It is a schematic diagram of the format of the existing AEN Ethernet frame provided by the embodiment of the present invention;

[0061] Figure 3 It is a schematic diagram of the structure of the asynchronous event packet processing system provided by the embodiment of the present invention;

[0062] Figure 4 It is a schematic diagram of the structure of the computer device provided by the embodiment of the present invention;

[0063] Figure 5 It is a schematic diagram of the structure of the computer-readable storage medium provided by the embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0064] To make the purpose, technical solutions, and advantages of the present invention clearer, the following will further describe the embodiments of the present invention in detail with reference to specific embodiments and the accompanying drawings.

[0065] It should be noted that in the embodiments of the present invention, all expressions using "first" and "second" are for distinguishing two entities or parameters with the same name but different identities. It can be seen that "first" and "second" are only for the convenience of expression and should not be construed as a limitation on the embodiments of the present invention. This will not be elaborated one by one in the subsequent embodiments.

[0066] In an embodiment of the present invention, AEN is Asynchronous Event Notification, i.e., asynchronous event notification.

[0067] According to one aspect of the present invention, an embodiment of the present invention provides a method for processing asynchronous event packets, as Figure 1 shown, which may include the steps:

[0068] S1, in response to receiving an asynchronous event packet, verifying the checksum recorded in the first preset field in the asynchronous event packet;

[0069] S2, in response to the verification of the checksum passing, obtaining the type of the asynchronous event packet recorded in the second preset field in the asynchronous event packet;

[0070] S3, obtaining the current network status and comparing it with the type of the asynchronous event packet;

[0071] S4, in response to the current network status matching the status corresponding to the type of the asynchronous event packet, putting the currently received asynchronous event packet into the receiving list.

[0072] The solution proposed by the present invention can better grasp the health status of the current network and the network changes of the corresponding link through the processing of asynchronous event packets, and can generate corresponding detection reports. According to the problems in the detection statistical report, the network link can be optimized targeted.

[0073] In some embodiments, it further includes:

[0074] Constructing the asynchronous event packet, wherein the IID field of the asynchronous event packet is set to an increasing value to uniquely determine an asynchronous event packet, the first byte of the 3-byte reserved field in the NCSI payload is used as the third preset field for recording the sequence number, and the second and third bytes of the 3-byte reserved field in the NCSI payload are used as the first preset field for recording the checksum.

[0075] Specifically, as Figure 2 shown, the current AEN Ethernet frame protocol stipulates that the IID is a fixed value, 0x0, while this application modifies it to an increasing value. Through this field, the network controller can uniquely determine an AEN asynchronous event notification packet. Then, it is defined that the first byte of the 3-byte reserved field in the NCSI payload of the AEN packet ( Figure 2In the 16 - 19 bytes, bits 08 - 15) is the AEN sequence field. It is agreed that 16 AEN packets starting from 0x00 and ending at 0x0F form a complete sequence. This sequence is used in the network controller to collect and record the reception status of AEN asynchronous event notification packets; define the 2nd and 3rd bytes of the 3 - byte reserved field in the NCSI payload of the AEN packet as the checksum ( Figure 2 In the 16 - 19 bytes, bits 16 - 31), the management controller can use the checksum part to verify the AEN packet.

[0076] In some embodiments, it further includes:

[0077] In response to the current network state not matching the state corresponding to the type of the asynchronous event packet, put the currently received asynchronous event packet into the error list.

[0078] In some embodiments, it further includes:

[0079] Obtain the sequence number of the asynchronous event packet recorded in the third preset field of the asynchronous event packet;

[0080] Judge whether the sequence number of the currently received asynchronous event packet and the sequence numbers of the asynchronous event packets in the reception list are consecutive;

[0081] In response to non - consecutive, determine that there is an asynchronous event packet loss and put the corresponding sequence number into the error list.

[0082] Specifically, based on the existing NCSI protocol, the AEN asynchronous event notification packet is a type of NCSI packet that operates outside the NCSI request-response mechanism. That is to say, the AEN packet is neither an NCSI request nor a response to any NCSI request. The AEN packet has no response. Even if an AEN packet is lost during transmission, the network controller has no way of knowing. Based on this situation, combined with the improved AEN Ethernet frame format in S11, we define the following processing mechanism based on the BMC system: 1) Create a thread ListenAEN under the IPMIMain process in the BMC system to receive AEN asynchronous event notification packets; 2) After receiving the AEN asynchronous event notification packet, first verify the checksum in the reserved field. If the verification fails, record the IID of the packet and the AEN type in the error packet list, and mark the error reason as verification failure and record it; 3) If the verification in 2) passes, then verify the sequence field of the packet. The verification rules are as follows: a) Let the sequence number in the current sequence field be i. If i-1 is not in the receiving list, then verify forward to find the sequence number closest to i, denoted as j, and record the IIDs and AEN types corresponding to the sequence numbers from j+1 to i-1 in the error list, and mark the error reason as packet loss and record it. At the same time, record i in the receiving list for subsequent packet verification; b) According to the AEN type of the AEN asynchronous event notification packet, obtain the current network status according to the NCSI protocol and compare it. If the current network status does not match the status corresponding to the AEN packet type, record the IID and AEN type in the error list, and mark the error reason as AEN event failure; 3) The ListenAEN thread regularly exports an AEN monitoring report according to the time specified by the timer, based on the receiving list and the error list, counts the number of failed AEN packets, the failure reasons, and the corresponding AEN types, and generates a statistical result for feedback; 4) According to the generated statistical result, further adjust or optimize the network card or network link.

[0083] In some embodiments, the solution proposed by the present invention can be applied to the BMC system, but is not limited to the BMC system. All systems that act as management controllers in the NCSI protocol model can apply this processing mechanism.

[0084] The solution proposed by the present invention can better grasp the current network health status and the network changes of the corresponding link through the processing of asynchronous event packets, and can generate corresponding detection reports. According to the problems in the detection statistical report, the network link can be optimized purposefully.

[0085] Based on the same inventive concept, according to another aspect of the present invention, an embodiment of the present invention also provides an asynchronous event packet processing system 400, as Figure 3 shown, including:

[0086] The first verification module 401 is configured to verify the checksum recorded in the first preset field in the asynchronous event packet in response to receiving the asynchronous event packet;

[0087] The first acquisition module 402 is configured to acquire the type of the asynchronous event packet recorded in the second preset field in the asynchronous event packet in response to the verification of the checksum passing;

[0088] The second acquisition module 403 is configured to acquire the current network status and compare it with the type of the asynchronous event packet;

[0089] The storage module 404 is configured to put the currently received asynchronous event packet into the reception list in response to the current network status matching the status corresponding to the type of the asynchronous event packet.

[0090] In some embodiments, the storage module 404 is further configured to:

[0091] Put the currently received asynchronous event packet into the error list in response to the current network status not matching the status corresponding to the type of the asynchronous event packet.

[0092] In some embodiments, it further includes a second verification module, which is configured to:

[0093] Acquire the sequence number of the asynchronous event packet recorded in the third preset field in the asynchronous event packet;

[0094] Judge whether the sequence number of the currently received asynchronous event packet and the sequence numbers of the asynchronous event packets in the reception list are consecutive;

[0095] In response to non - consecutiveness, determine that there is an asynchronous event packet loss and put the corresponding sequence number into the error list.

[0096] In some embodiments, it further includes a construction module, which is configured to:

[0097] Construct the asynchronous event packet, wherein set the IID field of the asynchronous event packet to an increasing value to uniquely determine an asynchronous event packet, use the first byte of the 3 - byte reserved field in the NCSI payload as the third preset field for recording the sequence number, and use the second and third bytes of the 3 - byte reserved field in the NCSI payload as the first preset field for recording the checksum.

[0098] Based on the same inventive concept, according to another aspect of the present invention, as Figure 4 shown, an embodiment of the present invention further provides a computer device 501, including:

[0099] At least one processor 520; and

[0100] A memory 510 stores a computer program 511 that can run on a processor. When the processor 520 executes the program, it performs the steps of any of the above asynchronous event packet processing methods.

[0101] Based on the same inventive concept, according to another aspect of the present invention, as Figure 5 shown, an embodiment of the present invention also provides a computer-readable storage medium 601. The computer-readable storage medium 601 stores a computer program 610. When the computer program 610 is executed by a processor, it performs the steps of any of the above asynchronous event packet processing methods.

[0102] Finally, it should be noted that those of ordinary skill in the art can understand that all or part of the processes of implementing the methods in the above embodiments can be completed by instructing relevant hardware through a computer program. The program can be stored in a computer-readable storage medium. When the program is executed, it can include the processes of the embodiments of the above methods.

[0103] In addition, it should be understood that the computer-readable storage medium (e.g., memory) herein can be a volatile memory or a non-volatile memory, or can include both volatile memory and non-volatile memory.

[0104] Those skilled in the art will also understand that the various exemplary logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein can be implemented as electronic hardware, computer software, or a combination of both. To clearly illustrate this interchangeability of hardware and software, a general description has been given of the functions of various illustrative components, blocks, modules, circuits, and steps. Whether this function is implemented as software or as hardware depends on the specific application and the design constraints imposed on the overall system. The functions that those skilled in the art can implement in various ways for each specific application, but this implementation decision should not be construed as causing a departure from the scope of the disclosure of the embodiments of the present invention.

[0105] The above are exemplary embodiments disclosed by the present invention. However, it should be noted that various changes and modifications can be made without departing from the scope of the disclosure of the embodiments of the present invention defined by the claims. The functions, steps, and / or actions of the method claims according to the disclosed embodiments herein need not be performed in any specific order. In addition, although the elements disclosed in the embodiments of the present invention can be described or claimed in an individual form, they can also be understood as plural unless explicitly limited to the singular.

[0106] It should be understood that, as used herein, unless the context clearly supports an exception, the singular form "a" is also intended to include the plural form. It should also be understood that the "and / or" used herein refers to any and all possible combinations of one or more of the associated listed items.

[0107] The serial numbers of the disclosed embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.

[0108] Those of ordinary skill in the art can understand that all or part of the steps of implementing the above embodiments can be completed by hardware or by a program instructing relevant hardware. The program can be stored in a computer-readable storage medium, and the above-mentioned storage medium can be a read-only memory, a magnetic disk, an optical disk, etc.

[0109] Those of ordinary skill in the art should understand that the discussion of any of the above embodiments is only exemplary and is not intended to imply that the scope of the disclosure of the embodiments of the present invention (including the claims) is limited to these examples; under the concept of the embodiments of the present invention, the technical features in the above embodiments or different embodiments can also be combined, and there are many other variations in different aspects of the embodiments of the present invention as above, which are not provided in detail for the sake of brevity. Therefore, any omission, modification, equivalent replacement, improvement, etc. made within the spirit and principle of the embodiments of the present invention shall be included in the protection scope of the embodiments of the present invention.

Claims

1. An asynchronous event packet processing method, characterized in that, It includes the following steps: In response to receiving an asynchronous event packet, verify the checksum recorded in the first preset field of the asynchronous event packet; In response to the verification of the checksum passing, obtain the type of the asynchronous event packet recorded in the second preset field of the asynchronous event packet; Obtain the current network status and compare it with the type of the asynchronous event packet; In response to the current network status matching the status corresponding to the type of the asynchronous event packet, put the currently received asynchronous event packet into the receive list; In response to the current network status not matching the status corresponding to the type of the asynchronous event packet, put the currently received asynchronous event packet into the error list; Obtain the sequence number of the asynchronous event packet recorded in the third preset field of the asynchronous event packet; Judge whether the sequence number of the currently received asynchronous event packet and the sequence numbers of the asynchronous event packets in the receive list are continuous; In response to discontinuity, determine that there is an asynchronous event packet loss and put the corresponding sequence number into the error list.

2. The method according to claim 1, wherein It also includes: Construct the asynchronous event packet, where the IID field of the asynchronous event packet is set to an increasing value to uniquely determine an asynchronous event packet, the first byte of the 3-byte reserved field in the NCSI payload is used as the third preset field for recording the sequence number, and the second and third bytes of the 3-byte reserved field in the NCSI payload are used as the first preset field for recording the checksum.

3. An asynchronous event packet processing system, characterized in that, It includes: A first verification module, configured to verify the checksum recorded in the first preset field of the asynchronous event packet in response to receiving the asynchronous event packet; A first acquisition module, configured to obtain the type of the asynchronous event packet recorded in the second preset field of the asynchronous event packet in response to the verification of the checksum passing; A second acquisition module, configured to obtain the current network status and compare it with the type of the asynchronous event packet; A save module, configured to put the currently received asynchronous event packet into the receive list in response to the current network status matching the status corresponding to the type of the asynchronous event packet; The save module is also configured to: In response to the current network status not matching the status corresponding to the type of the asynchronous event packet, put the currently received asynchronous event packet into the error list; It also includes a second verification module, configured to: Obtain the sequence number of the asynchronous event packet recorded in the third preset field of the asynchronous event packet; Judge whether the sequence number of the currently received asynchronous event packet and the sequence numbers of the asynchronous event packets in the receive list are continuous; In response to discontinuity, determine that there is an asynchronous event packet loss and put the corresponding sequence number into the error list.

4. The system according to claim 3, wherein It also includes a construction module, configured to: Construct the asynchronous event packet, where the IID field of the asynchronous event packet is set to an increasing value to uniquely determine an asynchronous event packet, the first byte of the 3-byte reserved field in the NCSI payload is used as the third preset field for recording the sequence number, and the second and third bytes of the 3-byte reserved field in the NCSI payload are used as the first preset field for recording the checksum.

5. A computer device, including: At least one processor; And A memory that stores a computer program executable on the processor, characterized in that when the processor executes the program, it performs the steps of the method according to any one of claims 1-2.

6. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it performs the steps of the method according to any one of claims 1-2.

Citation Information

Patent Citations

  • Out-of-order RDMA method and device with asynchronous notification

    CN110602211A

  • Method, apparatus and program storage device for providing asynchronous status messaging in a data storage system

    US20040243737A1