CN108768859B - Data processing method, device and system - Google Patents

Data processing method, device and system Download PDF

Info

Publication number
CN108768859B
CN108768859B CN201810477506.XA CN201810477506A CN108768859B CN 108768859 B CN108768859 B CN 108768859B CN 201810477506 A CN201810477506 A CN 201810477506A CN 108768859 B CN108768859 B CN 108768859B
Authority
CN
China
Prior art keywords
entry
entries
identification information
operation instruction
instruction
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
CN201810477506.XA
Other languages
Chinese (zh)
Other versions
CN108768859A (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.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication 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 Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201810477506.XA priority Critical patent/CN108768859B/en
Publication of CN108768859A publication Critical patent/CN108768859A/en
Application granted granted Critical
Publication of CN108768859B publication Critical patent/CN108768859B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The embodiment of the application provides a data processing method, a device and a system, which belong to the field of data communication, wherein the method comprises the following steps: receiving a table item operation instruction, wherein the table item operation instruction carries table item characteristic identification information; and acquiring the table entry matched with the table entry feature identification information according to the table entry operation instruction, and executing the operation corresponding to the table entry operation instruction on the table entry. In the method, when a plurality of entries need to be operated in a unified manner, the entries with the same entry feature identification information can be operated corresponding to the entry operation instruction according to the entry operation instruction, so that the time of simultaneously processing the plurality of entries by the CPU is saved.

Description

Data processing method, device and system
Technical Field
The present application relates to the field of data communication, and in particular, to a data processing method, apparatus, and system.
Background
In the switching device supporting a stacked or distributed system, the master device and the slave device or the master control board and the service board of the rack-mounted device communicate with each other through RPC (Remote Procedure Call) messages and remotely issue hardware resources. Namely: the master control board sends RPC messages, the service board receives the messages and executes corresponding actions.
In a VXLAN (Virtual Extensible LAN) environment of a switching device, there are many switching chip entry resources to be maintained, which mainly include an ARP (Address Resolution Protocol) table and a routing table, and the number of each resource entry in the VXLAN network is generally very large, and like the ARP table and the routing table, when deleting, it is necessary to send RPC information and access the switching chip to execute a deletion operation.
Disclosure of Invention
The embodiment of the application aims to provide a data processing method, a device and a system.
In a first aspect, an embodiment of the present application provides a data processing method, where the method includes: receiving a table item operation instruction, wherein the table item operation instruction carries table item characteristic identification information; and acquiring the table entry matched with the table entry feature identification information according to the table entry operation instruction, and executing the operation corresponding to the table entry operation instruction on the table entry. In the method, when the specific table items need to be operated in a unified manner, the table items with the same table item characteristic identification information can be operated corresponding to the table item operation instruction according to the table item operation instruction, so that the time of simultaneously processing a plurality of table items by the CPU is saved.
Further, before the receiving the table entry operation instruction, the method further includes: receiving a table entry writing instruction, wherein the table entry writing instruction comprises table entries needing to be synchronized, and each table entry in the table entries needing to be synchronized comprises the table entry characteristic identification information; and writing the table entry needing to be synchronized into a switching chip according to the table entry writing instruction. The table entries added with the table entry feature identification information are written into the switching chip in advance, so that when the table entries are required to be operated and processed, the table entries can be directly processed in batches according to the table entry feature identification information, the table entries do not need to be processed one by one for many times, and the time for processing the CPU is saved.
Further, the table entry operation instruction carries a table entry type, and the obtaining, according to the table entry operation instruction, a table entry matched with the table entry feature identification information and performing an operation corresponding to the table entry operation instruction on the table entry includes: and reading all the table entries matched with the table entry types from the exchange chip according to the table entry operation instruction, writing the table entries into a cache, traversing all the table entries in the cache, searching the table entries matched with the table entry characteristic identification information, and executing the operation corresponding to the table entry operation instruction on the table entries matched with the table entry characteristic identification information. That is, the corresponding table entry can be selected according to the table entry type to execute the operation corresponding to the table entry operation instruction, so that the table entries do not need to be processed one by one, and the time for processing the CPU is saved.
Further, after the operation corresponding to the entry operation instruction is performed on the entry matching the entry feature identification information, the method further includes: and rewriting all the table entries in the cache after the operation corresponding to the table entry operation instruction is executed into the exchange chip.
In a second aspect, an embodiment of the present application provides a data processing method, where the method includes: adding the same table item feature identification information for each table item with the same feature; and issuing a table entry writing instruction aiming at the table entries needing to be synchronized, wherein the table entry writing instruction is used for indicating that the table entries needing to be synchronized are written into a switching chip, and each table entry in the table entries needing to be synchronized comprises the table entry characteristic identification information. Therefore, when the entries in the switching chip are to be operated in a unified manner, the entry feature identification information with the same number can be written into the switching chip, and the entries can be operated in a unified manner according to the entry feature identification information, so that the time for simultaneously processing a plurality of entries by the CPU is saved.
Further, for the table entry that needs to be synchronized, after issuing the table entry write instruction, the method further includes: and issuing a table item operation instruction, wherein the table item operation instruction carries table item characteristic identification information and is used for executing corresponding operation on the synchronized table items.
In a third aspect, an embodiment of the present application provides a data processing method, where the method includes: the sending end sends a table item operation instruction to the receiving end; the receiving end receives the table item operation instruction, and the table item operation instruction carries table item characteristic identification information; and the receiving end acquires the table item matched with the table item characteristic identification information according to the table item operation instruction, and executes the operation corresponding to the table item operation instruction on the table item. Therefore, when the specific table entry needs to be operated in a unified manner, the operation corresponding to the table entry operation instruction can be executed on the table entries with the same table entry characteristic identification information according to the table entry operation instruction, so that the time of simultaneously processing a plurality of table entries by the CPU is saved.
Further, before the sending end issues the table entry operation instruction to the receiving end, the method further includes: the sending end adds the same table item characteristic identification information for each table item with the same characteristic; sending a table entry writing instruction to the receiving end aiming at the table entries needing to be synchronized, wherein each table entry in the table entries needing to be synchronized comprises the table entry characteristic identification information; and the receiving end receives the table entry writing instruction and writes the table entry needing to be synchronized into a switching chip. Therefore, when the entries in the switching chip are to be operated in a unified manner, the entry feature identification information with the same number can be written into the switching chip, and the entries can be operated in a unified manner according to the entry feature identification information, so that the time for simultaneously processing a plurality of entries by the CPU is saved.
Further, the table item operation instruction carries a table item type, and the receiving end acquires a table item matched with the table item feature identification information according to the table item operation instruction, and performs an operation corresponding to the table item operation instruction on the table item, including: and the receiving end reads all the table items matched with the table item types from the exchange chip according to the table item operation instruction and writes the table items into a cache, traverses all the table items in the cache, searches the table items matched with the table item characteristic identification information, and executes the operation corresponding to the table item operation instruction on the table items matched with the table item characteristic identification information. That is, the corresponding table entry can be selected according to the table entry type to execute the operation corresponding to the table entry operation instruction, so that the table entries do not need to be processed one by one, and the time for processing by the CPU is saved.
Further, the method further comprises: and the receiving end rewrites all the table entries in the cache after the operation corresponding to the table entry operation instruction is executed into the exchange chip.
In a fourth aspect, an embodiment of the present application provides a data processing apparatus, where the apparatus includes: an operation instruction receiving module, configured to receive an entry operation instruction, where the entry operation instruction carries entry feature identification information; and the operation execution module is used for acquiring the table entry matched with the table entry characteristic identification information according to the table entry operation instruction and executing the operation corresponding to the table entry operation instruction on the table entry.
Further, the operation instruction receiving module is further configured to receive an entry writing instruction, where the entry writing instruction includes entries that need to be synchronized, and each entry in the entries that need to be synchronized includes the entry feature identification information; the device further comprises: and the table entry writing module is used for writing the table entry needing to be synchronized into the switching chip according to the table entry writing instruction.
Further, the table entry operation instruction carries a table entry type, and the operation execution module is specifically configured to read all table entries matching the table entry type from a switch chip according to the table entry operation instruction and write the table entries into a cache, traverse all table entries in the cache, search for a table entry matching the table entry feature identification information, and execute an operation corresponding to the table entry operation instruction on the table entry matching the table entry feature identification information.
Further, the table entry writing module is further configured to rewrite all table entries in the cache after the operation corresponding to the table entry operation instruction is executed into the switch chip.
In a fifth aspect, an embodiment of the present application provides a data processing apparatus, where the apparatus includes: the identification adding module is used for adding the same table item characteristic identification information for each table item with the same characteristic; and the write instruction sending module is used for issuing an entry write instruction aiming at the entries needing to be synchronized, the entry write instruction is used for indicating that the entries needing to be synchronized are written into a switching chip, and each entry in the entries needing to be synchronized contains the entry characteristic identification information.
Further, the apparatus further comprises: and the operation instruction issuing module is used for issuing a table item operation instruction, wherein the table item operation instruction carries table item characteristic identification information and is used for executing corresponding operation on the synchronized table items.
In a sixth aspect, an embodiment of the present application provides a data processing system, where the system includes: the sending end is used for sending the table item operation instruction to the receiving end; the receiving end is used for receiving the table item operation instruction, and the table item operation instruction carries table item characteristic identification information; and the receiving end is further configured to obtain, according to the entry operation instruction, an entry matching the entry feature identification information, and execute an operation corresponding to the entry operation instruction on the entry.
Further, the sending end is further configured to add the same table entry feature identification information to each table entry having the same feature; sending a table entry writing instruction to the receiving end aiming at the table entries needing to be synchronized, wherein each table entry in the table entries needing to be synchronized comprises the table entry characteristic identification information; and the receiving end is further configured to receive the entry writing instruction and write the entry needing to be synchronized into a switch chip.
Further, the table item operation instruction carries a table item type, and the receiving end is further configured to read all table items matching the table item type from a switch chip according to the table item operation instruction and write the table items into a cache, traverse all table items in the cache, search for a table item matching the table item feature identification information, and perform an operation corresponding to the table item operation instruction on the table item matching the table item feature identification information.
Further, the receiving end is further configured to rewrite all the table entries in the cache after the operation corresponding to the table entry operation instruction is executed into the switch chip.
The embodiment of the application provides a data processing method, a data processing device and a data processing system. When the specific table entry needs to be operated in a unified manner, the operation corresponding to the table entry operation instruction can be executed on the table entries with the same table entry feature identification information according to the table entry operation instruction, so that the time of simultaneously processing a plurality of table entries by the CPU is saved.
Additional features and advantages of the present application will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the embodiments of the present application. The objectives and other advantages of the application may be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are required to be used in the embodiments will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present application and therefore should not be considered as limiting the scope, and for those skilled in the art, other related drawings can be obtained from the drawings without inventive effort.
Fig. 1 is a schematic structural diagram of a switching device according to an embodiment of the present application;
fig. 2 is a flowchart of a data processing method according to a first embodiment of the present application;
fig. 3 is a schematic diagram of a first application of a data processing method in a switching device according to an embodiment of the present application;
fig. 4 is a schematic diagram of a second application of a data processing method in a switching device according to an embodiment of the present application;
fig. 5 is a schematic diagram of a third application of a data processing method in a switching device according to an embodiment of the present application;
fig. 6 is a flowchart of a data processing method according to a second embodiment of the present application;
fig. 7 is a flowchart of a data processing method according to a third embodiment of the present application;
fig. 8 is a block diagram of a data processing apparatus according to a fourth embodiment of the present application;
fig. 9 is a block diagram of a data processing apparatus according to a fifth embodiment of the present application;
fig. 10 is a block diagram of a data processing system according to a sixth embodiment of the present application;
fig. 11 is a schematic structural diagram of another switching device according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. The components of the embodiments of the present application, generally described and illustrated in the figures herein, can be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of the present application, presented in the accompanying drawings, is not intended to limit the scope of the claimed application, but is merely representative of selected embodiments of the application. All other embodiments, which can be derived by a person skilled in the art from the embodiments of the present application without making any creative effort, shall fall within the protection scope of the present application.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures. Meanwhile, in the description of the present application, the terms "first", "second", and the like are used only for distinguishing the description, and are not to be construed as indicating or implying relative importance.
In the VXLAN network, as shown in fig. 1, a rack-mounted switching device 10 generally includes a plurality of service boards 200 and at least one main control board 100, the main control board 100 is used for controlling and managing the service boards 200, the main control board 100 includes a processor, the service boards 200 include a processor and a switching chip, the switching chip stores a plurality of tables, such as routing tables, ARP tables, etc., the switching device 10 can forward messages obtained from the main control board 100 based on the tables, and in implementing the technical solution of the embodiment of the present application, the inventors of the present application find that a large number of entries are learned on a certain VXLAN interface, for example, after 10K ARP entries are learned on the VXLAN 1 interface, when the VXLAN 1 interface is broken due to an illegal network attack or a network device failure, it is necessary to delete a large amount of ARP entries on the VXLAN interface, which consumes a processing time of the CPU in the switching device 10 and communication between the main control board 100 and the service boards 200 A source.
However, the conventional practice known to those skilled in the art in the prior art is as follows: the ARP table entries are traversed on the main control board 100, all ARP table entries learned on the VXLAN 1 interface are found, then each ARP table entry is found, the main control board 100 sends an RPC message to the service board 200, and when the service board 200 receives the RPC message, the service board 200 calls an interface between a switching chip in the service board 200 and a processor in the service board 200, executes IO operation, and deletes the ARP table entry. However, in this case, taking 10K ARP entries as an example, 10K RPC message transmissions and 10K IO operations need to be performed, and if the number of execution times is larger than an order of magnitude, the number of execution times will increase linearly. Moreover, the RPC transmission needs to occupy the resources of the CPUs in the main control board 100 and the service board 200, and if the CPU resources are occupied for a long time, other tasks do not have enough CPU resources, and further other tasks performed on the switch device 10, such as the route forwarding task, are affected, which may adversely affect the performance and stability of the switch device 10.
Therefore, when a large number of entries in the switch chip are operated (e.g. deleted), the main control board 100 needs to send a large number of RPC messages to the service boards 200, which will occupy the execution time of the CPUs of the main control board 100 and the service boards 200 for a long time, and at the same time, each time the entries are deleted, the service boards 200 will execute an IO operation, that is, extract the entries from the switch chip through an interface call, and the service boards 200 also need to occupy the execution time of their CPUs when executing the IO operation. These RPC information interactions and frequent IO operations performed by the hardware obviously become bottlenecks affecting the performance of the switching device 10 and pose a threat to the stability of the switching device 10.
The above prior art solutions have drawbacks that are the results of practical and careful study of the inventor, and therefore, the discovery process of the above problems and the solutions proposed by the following embodiments of the present application for the above problems should be the contributions of the inventor to the present application in the process of the present application.
Therefore, in order to solve the problems that when the master control board 100 in the stacked or distributed switching device 10 operates the resources in the switching chip in the VXLAN environment, the RPC information is sent too much and the switching chip frequently executes IO operations to occupy the CPU resources of the master control board 100 and the service board 200, which affects the performance and stability of the switching device 10, the embodiment of the present application provides a data processing method.
It should be noted that the data processing method provided in the embodiment of the present application may also be applied to interaction between two devices in a stacking device, and for convenience of description, the data processing method in the embodiment is described below by taking the switching device 10 as an example.
First embodiment
Referring to fig. 2, fig. 2 is a flowchart of a data processing method according to a first embodiment of the present application, where the method includes the following steps:
step S110: and receiving an item operation instruction.
The service board 200 has a plurality of table entries written in advance, when a table entry is written, the main control board 100 first sends a table entry writing instruction to the service board 200, where the table entry writing instruction includes a table entry to be synchronized, the table entry to be synchronized may be understood as a certain type of table entry having the same table entry characteristics, such as an ARP table or a routing table, or a plurality of types of table entries, such as an ARP table and a routing table, and the table entry to be synchronized is used to provide a basis for the switch chip to forward a message.
The entry writing instruction is used to instruct the service board 200 to write the entry that needs to be synchronized into the switch chip of the service board 200. Each entry in the entries to be synchronized includes entry characteristic identification information, and after the service board 200 receives an entry writing instruction issued by the main control board 100, the service board 200 writes the entry to be synchronized into the switch chip according to the entry writing instruction.
When the master control board 100 writes the entry to be synchronized into the service board 200, the master control board 100 first obtains the entry to be synchronized, and if the entry to be synchronized is an entry of the same category, the entry includes a plurality of entries, and each entry includes the same entry feature identification information, so that when the master control board 100 writes the entry into the switch chip, the same entry feature identification information is added to each entry in the same entry category, the entry feature identification information may be identification information allocated to each entry according to actual needs, and the specific form of the entry feature identification information may be in other manners such as numbers, english, or special characters, which is not particularly limited in this embodiment. For example, for an ARP entry, entry feature identification information may be added to a specific field (e.g., a label field) in the ARP entry, for example, 99, then 99 entry feature identification information may be added to all ARP entries, for a routing table, 88 entry feature identification information may be added to each routing entry, after entry feature identification information is added to each entry, the main control board 100 issues an entry write instruction to the service board 200, and then all the entries to which the entry feature identification information is added may be written into the service board 200.
In addition, for the above-mentioned entries needing to be synchronized belong to the same category, it can also be understood that, for example, a plurality of ARP entries belong to the same category, and a plurality of routing tables belong to the same category, but the entries having the same entry feature identification information may also be entries of the same category, for example, if the same entry feature identification information 99 is added to both an ARP entry and a routing table entry, both the entries may also be referred to as entries of the same category, i.e., entries needing to be synchronized, and of course, other entry categories may also be defined by themselves according to actual requirements.
Of course, if the entry to be synchronized includes entries of different categories, for example, the entry to be synchronized includes an ARP table and a routing table at the same time, when the entry to be synchronized is written into the switch chip, different entry feature identification information may be added to the ARP table and the routing table, respectively, for example, the entry feature identification information added to the ARP table is 99, and the entry feature identification information added to the routing table is 88, so that the entries having different entry feature identification information may be written into the switch chip.
For convenience of description, the table entries to be synchronized are table entries to be written into the switch chip, and the following table entries to be synchronized are understood as a plurality of table entries containing the same table entry feature identification information.
It should be noted that, the communication between the main control board 100 and the service board 200 uses an RPC message for communication, so both the entry write command and the entry operation command are sent using an RPC message.
If the main control board 100 wants to process the table entry required to be synchronized stored in the service board 200, if the table entry is deleted, the main control board 100 sends a corresponding table entry operation instruction to the service board 200, that is, the main control board 100 sends an RPC message to the service board 200, where the RPC message carries the table entry feature identification information.
Step S120: and acquiring the table entry matched with the table entry feature identification information according to the table entry operation instruction, and executing the operation corresponding to the table entry operation instruction on the table entry.
The table item operation instruction carries a table item type, reads all table items matched with the table item type from a switching chip according to the table item operation instruction and writes the table items into a cache, traverses all table items in the cache, searches the table items matched with the table item characteristic identification information, and executes the operation corresponding to the table item operation instruction on the table items matched with the table item characteristic identification information.
The entry type may be understood as a certain category of entries, such as the above ARP table or the above routing table, after receiving the entry operation instruction, the service board 200 reads all entries matching the entry type from the switch chip and writes the entries into the cache, for example, reads all ARP tables or all routing tables and writes the ARP tables or all routing tables into the cache, then traverses all ARP tables or routing tables in the cache, finds an entry matching the entry feature identification information, for example, finds an ARP table whose entry feature identification information is 99 from all ARP tables, and then performs an operation corresponding to the entry operation instruction on the ARP table whose entry feature identification information is 99.
The table item operation instruction includes a table item deleting instruction, a table item updating instruction or a table item replacing instruction. Therefore, operations corresponding to the table entry operation instruction, such as deletion, update, replacement, and the like, may be performed on the table entries having the same table entry feature identification information, for example, if the table entry operation instruction is an update instruction, the update operation corresponding to the table entry update instruction is performed on the table entry matching with the table entry feature identification information; if the table item operation instruction is a deletion instruction, executing deletion operation corresponding to the table item deletion instruction on the table item matched with the table item characteristic identification information; and if the table item operation instruction is a replacement instruction, executing replacement operation corresponding to the table item replacement instruction on the table item matched with the table item feature identification information.
The deleting operation refers to deleting the content in the table entry, such as the ARP table entry, the MAC address in the APR table entry and the next hop MAC address; the updating operation refers to updating the content in the table entry, such as the routing table, and updating the route (such as the destination IP address) in the routing table; the replacement operation refers to replacing the content in the entry, such as replacing the current next-hop MAC address in the APR entry with another next-hop MAC address.
In addition, after the service board 200 executes the corresponding operation on the table entry matching with the table entry feature identification information according to the table entry operation instruction, all the table entries in the cache after executing the operation corresponding to the table entry operation instruction need to be rewritten into the switch chip, so that the main control board 100 may send a rewrite operation instruction to the service board 200, and after receiving the rewrite operation instruction, the service board 200 responds to the rewrite operation instruction to rewrite the table entry after executing the operation corresponding to the table entry operation instruction into the switch chip.
The following describes the implementation process of the above method by taking ARP entry deletion as an example.
As shown in fig. 3 and fig. 4, the master control board 100 learns all ARP entries in the VXLAN 100 interface, for example, the interface address is 10.0.0.1255.255.0.0, and the master control board 100 learns all ARP entries in this network segment as follows:
Arp 10.0.0.2 interface vxlan 100
Arp 10.0.0.3 interface vxlan 100
Arp 10.0.0.255 interface vxlan 100
Arp 10.0.1.1 interface vxlan 100
Arp 10.0.1.255 interface vxlan 100
the total number of the ARP entries is 255 × 255-64K, and for these entries, the main control board 100 adds a mark, that is, entry feature identification information, and assumes that the label field in the entry is 99, and adds label 99 to the entry when writing the ARP entry, while general entries all have similar label fields, and if not, it is sufficient to use the reserved field that is not used by anyone in the ARP entry.
The structure of the actual ARP entry written is as follows: (assume the corresponding next hop address in ARP table is 999)
(ip:10.0.0.2 label:99)----->nexthopId 999
(ip:10.0.0.3 label:99)----->nexthopId 999
(ip:10.0.0.255 label:99)----->nexthopId 999
(ip:10.0.1.1 label:99)----->nexthopId 999
(ip:10.0.1.255 label:99)----->nexthopId 999
As shown in fig. 5, when some event occurs, for example, the switching device 10 fails, or the switching device 10 is illegally attacked, and it is necessary to delete all ARP entries on the interface of the VXLAN 100, the main control board 100 sends an RPC message whose matched label is 99 to the service board 200, that is, the main control board 100 searches for an entry, finds that the ARP entry of the interface of the VXLAN 100 that needs to be deleted is allocated with entry feature identification information whose label is 99, and sends RPC information to the service board 200, where the content in the RPC message is all ARP entries whose label is 99 deleted. After receiving the RPC information, the service board 200 parses the RPC information, executes an IO operation, reads all ARP entries in the switch chip at one time (e.g., DMA (Direct Memory Access) read), stores the read entries in the cache of the service board 200, traverses all the entries read in the cache, searches for an entry with label of 99, finds one entry, deletes the content in the entry, and writes the one-time entry with the deleted content into the switch chip after deleting all the entries with label of 99.
Therefore, the main control board 100 only needs to issue one piece of RPC information, and the service board 200 only needs to perform one IO operation to delete the ARP entry, thereby saving a large amount of CPU time in the main control board 100 and the service board 200, improving the performance of the switching device 10, and enhancing the stability of the switching device 10.
A first embodiment of the present application provides a data processing method, where an entry operation instruction is received, where the entry operation instruction carries entry feature identification information, and then an entry matching the entry feature identification information is obtained according to the entry operation instruction, and an operation corresponding to the entry operation instruction is performed on the entry. When the specific table entry needs to be operated in a unified manner, the operation corresponding to the table entry operation instruction can be executed on the table entries with the same table entry feature identification information according to the table entry operation instruction, so that the time of simultaneously processing a plurality of table entries by the CPU is saved.
Second embodiment
Referring to fig. 6, fig. 6 is a flowchart of a data processing method according to a second embodiment of the present application, where the method includes the following steps:
step S210: and adding the same table entry characteristic identification information for each table entry with the same characteristic.
Step S220: and issuing an item writing instruction aiming at the item needing to be synchronized, wherein the item writing instruction is used for indicating to write the item needing to be synchronized into a switching chip.
Each table entry in the table entries needing to be synchronized contains the table entry characteristic identification information. Each entry with the specific same characteristic may be understood as an entry of the same category, such as an ARP table or a routing table.
In addition, please refer to the related description in the first embodiment, and redundant description is omitted herein for brevity.
In this embodiment, the main control board 100 adds the same table entry feature identification information to each obtained table entry having the same feature, and then sends a table entry write instruction to the service board 200 in the switching device 10, so that the service board 200 writes each table entry in the table entries that need to be synchronized into the switching chip, and therefore, when the main control board 100 wants to perform a unified operation on the table entries in the service board 200, if operations such as deletion and update are performed, a table entry operation instruction carrying the table entry feature identification information may be sent, so as to perform a corresponding operation on the synchronized table entries. Then, the service board 200 searches for the matched table entries according to the table entry feature identification information, so as to perform operations on the table entries uniformly, thereby saving the CPU time in the main control board 100 and the service board 200, improving the performance of the switching device 10, and enhancing the stability of the switching device 10.
Third embodiment
Referring to fig. 7, fig. 7 is a flowchart of a data processing method according to a third embodiment of the present application, where the method includes the following steps:
step S310: the sending end sends the table item operation instruction to the receiving end.
Step S320: and the receiving end receives the table item operation instruction, and the table item operation instruction carries table item characteristic identification information.
Step S330: and the receiving end acquires the table item matched with the table item characteristic identification information according to the table item operation instruction, and executes the operation corresponding to the table item operation instruction on the table item.
The receiving end may be the service board 200, the transmitting end may be the main control board 100, and of course, the receiving end and the transmitting end may also be two devices in the stacking device.
As an embodiment, before the sending end issues the entry operation instruction to the receiving end, the method further includes: the sending end adds the same table item characteristic identification information for each table item with the same characteristic; sending a table entry writing instruction to the receiving end aiming at the table entries needing to be synchronized, wherein each table entry in the table entries needing to be synchronized comprises the table entry characteristic identification information; and the receiving end receives the table entry writing instruction and writes the table entry needing to be synchronized into a switching chip.
As an embodiment, the table entry operation instruction carries a table entry type, and the receiving end obtains, according to the table entry operation instruction, a table entry matched with the table entry feature identification information, and performs an operation corresponding to the table entry operation instruction on the table entry, including: and the receiving end reads all the table items matched with the table item types from the exchange chip according to the table item operation instruction and writes the table items into a cache, traverses all the table items in the cache, searches the table items matched with the table item characteristic identification information, and executes the operation corresponding to the table item operation instruction on the table items matched with the table item characteristic identification information.
As an embodiment, the method further comprises:
and the receiving end rewrites all the table entries in the cache after the operation corresponding to the table entry operation instruction is executed into the exchange chip.
Therefore, when the sending end wants to operate the table entries in the receiving end in a unified manner, if the sending end needs to delete or update the table entries, the sending end can issue a table entry operation instruction carrying the table entry characteristic identification information to the receiving end, and then the receiving end searches the matched table entries according to the table entry characteristic identification information, so that the table entries are operated in a unified manner.
Fourth embodiment
Referring to fig. 8, fig. 8 is a block diagram illustrating a data processing apparatus 300 according to a fourth embodiment of the present application, the apparatus including:
an operation instruction receiving module 310, configured to receive an entry operation instruction, where the entry operation instruction carries entry feature identification information.
The operation executing module 320 is configured to obtain, according to the entry operation instruction, an entry matched with the entry feature identification information, and execute an operation corresponding to the entry operation instruction on the entry.
In an embodiment, the operation instruction receiving module 310 is further configured to receive an entry writing instruction, where the entry writing instruction includes entries that need to be synchronized, and each entry in the entries that need to be synchronized includes the entry characteristic identification information.
The device further comprises:
and the table entry writing module is used for writing the table entry needing to be synchronized into the switching chip according to the table entry writing instruction.
As an implementation manner, the table entry operation instruction carries a table entry type, and the operation execution module 320 is specifically configured to, according to the table entry operation instruction, read all table entries matching the table entry type from a switch chip and write the table entries into a cache, traverse all table entries in the cache, search for a table entry matching the table entry feature identification information, and execute an operation corresponding to the table entry operation instruction on the table entry matching the table entry feature identification information.
As an implementation manner, the entry writing module is further configured to rewrite all entries in the cache after the operations corresponding to the entry operation instructions are executed into the switch chip.
Fifth embodiment
Referring to fig. 9, fig. 9 is a block diagram of a data processing apparatus 400 according to a fifth embodiment of the present application, where the apparatus includes:
an identification adding module 410, configured to add the same entry feature identification information for each entry having the same feature.
A write instruction sending module 420, configured to issue an entry write instruction for entries that need to be synchronized, where the entry write instruction is used to instruct to write the entries that need to be synchronized into a switch chip, and each entry in the entries that need to be synchronized includes the entry feature identification information.
As an embodiment, the apparatus further comprises:
and the operation instruction issuing module is used for issuing a table item operation instruction, wherein the table item operation instruction carries table item characteristic identification information and is used for executing corresponding operation on the synchronized table items.
Sixth embodiment
Referring to fig. 10, fig. 10 is a block diagram illustrating a data processing system 500 according to a sixth embodiment of the present application, where the system includes:
the sending end 510 is configured to issue an entry operation instruction to the receiving end 520;
the receiving end 520 is configured to receive the entry operation instruction, where the entry operation instruction carries entry feature identification information;
the receiving end 520 is further configured to obtain, according to the entry operating instruction, an entry matching the entry feature identification information, and perform an operation corresponding to the entry operating instruction on the entry.
As an embodiment, the sending end 510 is further configured to add the same table entry feature identification information to each table entry with the same feature; for the table entries needing to be synchronized, issuing a table entry writing instruction to the receiving end 520, where each table entry in the table entries needing to be synchronized includes the table entry feature identification information;
the receiving end 520 is further configured to receive the entry writing instruction, and write the entry needing to be synchronized into a switch chip.
As an implementation manner, the entry operation instruction carries an entry type, and the receiving end 520 is further configured to read all entries matching the entry type from a switch chip according to the entry operation instruction and write the entries into a cache, traverse all entries in the cache, search for an entry matching the entry feature identification information, and perform an operation corresponding to the entry operation instruction on the entry matching the entry feature identification information.
As an implementation manner, the receiving end 520 is further configured to rewrite all entries in the cache after the operations corresponding to the entry operation instructions are executed into the switch chip.
Seventh embodiment
Referring to fig. 11, fig. 11 is a schematic structural diagram of a switching device 10 according to a seventh embodiment of the present application, where the switching device 10 may include: at least one processor 610, such as a CPU, at least one communication interface 620, at least one memory 630, and at least one communication bus 640. Wherein communication bus 640 is used to enable direct, coupled communication of these components. The communication interface 620 of the device in the embodiment of the present application is used for performing signaling or data communication with other node devices. The memory 630 may be a high-speed RAM memory or a non-volatile memory (e.g., at least one disk memory). The memory 630 may optionally be at least one memory device located remotely from the aforementioned processor. The memory 630 stores computer readable instructions which, when executed by the processor 610, cause the switching device 10 to perform the method process of fig. 2 described above.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working process of the apparatus described above may refer to the corresponding process in the foregoing method, and will not be described in too much detail herein.
To sum up, embodiments of the present application provide a data processing method, apparatus, and system, where an entry operation instruction is received, where the entry operation instruction carries entry feature identification information, and then, according to the entry operation instruction, an entry matching the entry feature identification information is obtained, and an operation corresponding to the entry operation instruction is performed on the entry. When the specific table entry needs to be operated in a unified manner, the operation corresponding to the table entry operation instruction can be executed on the table entries with the same table entry feature identification information according to the table entry operation instruction, so that the time of simultaneously processing a plurality of table entries by the CPU is saved.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus and method can be implemented in other ways. The apparatus embodiments described above are merely illustrative, and for example, the flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In addition, functional modules in the embodiments of the present application may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.
The functions, if implemented in the form of software functional modules and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The above description is only a preferred embodiment of the present application and is not intended to limit the present application, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application shall be included in the protection scope of the present application. It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, 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. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.

Claims (10)

1. A data processing method is applied to a service board, and the method comprises the following steps:
receiving a table item operation instruction sent by a main control board, wherein the table item operation instruction carries table item characteristic identification information and a table item type;
reading all the table entries matched with the table entry types from the exchange chip according to the table entry operation instruction and writing the table entries into a cache, traversing all the table entries in the cache, searching the table entries matched with the table entry characteristic identification information, and executing the operation corresponding to the table entry operation instruction on the table entries matched with the table entry characteristic identification information, wherein the table entry characteristic identification information in the table entries is added into the table entries by the main control board, and the operation is deletion, updating or replacement;
and rewriting the table entry which is in the cache and is subjected to the operation corresponding to the table entry operation instruction into the exchange chip.
2. The method of claim 1, wherein prior to receiving the entry operation instruction, the method further comprises:
receiving a table entry writing instruction, wherein the table entry writing instruction comprises table entries needing to be synchronized, and each table entry in the table entries needing to be synchronized comprises the table entry characteristic identification information;
and writing the table entry needing to be synchronized into a switching chip according to the table entry writing instruction.
3. A data processing method is applied to a main control board, and the method comprises the following steps:
adding the same table item feature identification information for each table item with the same feature;
issuing a table entry writing instruction aiming at the table entries needing to be synchronized, wherein the table entry writing instruction is used for indicating that the table entries needing to be synchronized are written into a switching chip of a service board, and each table entry in the table entries needing to be synchronized comprises the table entry characteristic identification information;
sending a table item operation instruction to the service board, wherein the table item operation instruction carries table item feature identification information and a table item type; the service board reads all the table entries matched with the table entry types from the exchange chip according to the table entry operation instruction and writes the table entries into a cache, traverses all the table entries in the cache, searches the table entries matched with the table entry feature identification information, and executes the operation corresponding to the table entry operation instruction on the table entries matched with the table entry feature identification information, wherein the operation is deletion, updating or replacement; and the service board rewrites the table entry in the cache after the operation corresponding to the table entry operation instruction is executed into the switching chip.
4. A method of data processing, the method comprising:
a sending end issues a table item operation instruction to a receiving end, wherein the sending end is a main control board, and the receiving end is a service board;
the receiving end receives the table item operation instruction, and the table item operation instruction carries table item characteristic identification information and table item types;
the receiving end reads all the table items matched with the table item types from the exchange chip according to the table item operation instruction and writes the table items into a cache, traverses all the table items in the cache, searches the table items matched with the table item characteristic identification information, and executes the operation corresponding to the table item operation instruction on the table items matched with the table item characteristic identification information, wherein the table item characteristic identification information in the table items is added into the table items by the main control board, and the operation is deletion, updating or replacement;
and the receiving end rewrites the table entry in the cache after the operation corresponding to the table entry operation instruction is executed into the exchange chip.
5. The method of claim 4, wherein before the sender issues the table entry operation instruction to the receiver, the method further comprises:
the sending end adds the same table item characteristic identification information for each table item with the same characteristic; sending a table entry writing instruction to the receiving end aiming at the table entries needing to be synchronized, wherein each table entry in the table entries needing to be synchronized comprises the table entry characteristic identification information;
and the receiving end receives the table entry writing instruction and writes the table entry needing to be synchronized into a switching chip.
6. A data processing apparatus, operating on a service board, the apparatus comprising:
the operation instruction receiving module is used for receiving a table item operation instruction sent by the main control board, wherein the table item operation instruction carries table item characteristic identification information and a table item type;
an operation execution module, configured to read all entries matching the entry type from a switch chip according to the entry operation instruction and write the entries into a cache, traverse all entries in the cache, search for an entry matching the entry feature identification information, and execute an operation corresponding to the entry operation instruction on the entry matching the entry feature identification information, where the entry feature identification information in the entry is added to the entry by the main control board, and the operation is deletion, update, or replacement;
and the table entry writing module is used for rewriting all table entries in the cache after the operation corresponding to the table entry operation instruction is executed into the switching chip.
7. The apparatus of claim 6,
the operation instruction receiving module is further configured to receive an entry writing instruction, where the entry writing instruction includes entries that need to be synchronized, and each entry in the entries that need to be synchronized includes the entry feature identification information;
and the table entry writing module is further configured to write the table entry needing to be synchronized into a switching chip according to the table entry writing instruction.
8. A data processing apparatus, operating on a master control board, the apparatus comprising:
the identification adding module is used for adding the same table item characteristic identification information for each table item with the same characteristic;
a write instruction sending module, configured to issue an entry write instruction for an entry that needs to be synchronized, where the entry write instruction is used to instruct to write the entry that needs to be synchronized into a switch chip of a service board, and each entry in the entry that needs to be synchronized includes the entry feature identification information;
an operation instruction issuing module, configured to send an entry operation instruction to the service board, where the entry operation instruction carries entry feature identification information and an entry type; the service board reads all the table entries matched with the table entry types from the exchange chip according to the table entry operation instruction and writes the table entries into a cache, traverses all the table entries in the cache, searches the table entries matched with the table entry feature identification information, and executes the operation corresponding to the table entry operation instruction on the table entries matched with the table entry feature identification information, wherein the operation is deletion, updating or replacement; and the service board rewrites the table entry in the cache after the operation corresponding to the table entry operation instruction is executed into the switching chip.
9. A data processing system, characterized in that the system comprises:
the system comprises a sending end and a receiving end, wherein the sending end is used for sending a table item operation instruction to the receiving end, the sending end is a main control board, and the receiving end is a service board;
the receiving end is used for receiving the table item operation instruction, and the table item operation instruction carries table item characteristic identification information and a table item type;
the receiving end is further configured to read all entries matching the entry type from a switch chip according to the entry operation instruction and write the entries into a cache, traverse all entries in the cache, search for entries matching the entry feature identification information, and perform an operation corresponding to the entry operation instruction on entries matching the entry feature identification information, where the entry feature identification information in the entries is added to the entries by the main control board, and the operation is deletion, update, or replacement;
the receiving end is further configured to rewrite the entry in the cache after the operation corresponding to the entry operation instruction is executed into the switch chip.
10. The system according to claim 9, wherein the sending end is further configured to add the same table entry feature identification information to each table entry having the same feature; sending a table entry writing instruction to the receiving end aiming at the table entries needing to be synchronized, wherein each table entry in the table entries needing to be synchronized comprises the table entry characteristic identification information;
and the receiving end is further configured to receive the entry writing instruction and write the entry needing to be synchronized into a switch chip.
CN201810477506.XA 2018-05-17 2018-05-17 Data processing method, device and system Active CN108768859B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810477506.XA CN108768859B (en) 2018-05-17 2018-05-17 Data processing method, device and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810477506.XA CN108768859B (en) 2018-05-17 2018-05-17 Data processing method, device and system

Publications (2)

Publication Number Publication Date
CN108768859A CN108768859A (en) 2018-11-06
CN108768859B true CN108768859B (en) 2021-05-25

Family

ID=64007024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810477506.XA Active CN108768859B (en) 2018-05-17 2018-05-17 Data processing method, device and system

Country Status (1)

Country Link
CN (1) CN108768859B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112291212B (en) * 2020-10-16 2023-02-28 北京锐安科技有限公司 Static rule management method and device, electronic equipment and storage medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101102576A (en) * 2007-08-27 2008-01-09 深圳华为通信技术有限公司 Message processing method and terminal device
CN101505282A (en) * 2009-03-31 2009-08-12 杭州华三通信技术有限公司 Method and equipment for deleting VLAN information
CN102426601A (en) * 2011-11-09 2012-04-25 华为技术有限公司 Data deleting method and device
CN102882797A (en) * 2012-10-16 2013-01-16 杭州华三通信技术有限公司 VPNv4 or VPNv6 route batch deleting method and PE (Provider Edge)
CN105338003A (en) * 2015-12-09 2016-02-17 中国电子科技集团公司第二十八研究所 Firewall implementation method applied to software defined networking
CN106066894A (en) * 2016-06-23 2016-11-02 广州市百果园网络科技有限公司 Data global buffer method and data global buffer device
CN106326499A (en) * 2016-10-14 2017-01-11 广州市千钧网络科技有限公司 Data processing method and device
CN107888513A (en) * 2017-10-23 2018-04-06 深圳市楠菲微电子有限公司 Caching method and device for exchange chip

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100442282C (en) * 2005-08-16 2008-12-10 杭州华三通信技术有限公司 Method of data query and method of inter-board data synchronization in distributed system
JP5535322B2 (en) * 2010-06-02 2014-07-02 株式会社日立製作所 Storage system whose backend communication standard is SAS

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101102576A (en) * 2007-08-27 2008-01-09 深圳华为通信技术有限公司 Message processing method and terminal device
CN101505282A (en) * 2009-03-31 2009-08-12 杭州华三通信技术有限公司 Method and equipment for deleting VLAN information
CN102426601A (en) * 2011-11-09 2012-04-25 华为技术有限公司 Data deleting method and device
CN102882797A (en) * 2012-10-16 2013-01-16 杭州华三通信技术有限公司 VPNv4 or VPNv6 route batch deleting method and PE (Provider Edge)
CN105338003A (en) * 2015-12-09 2016-02-17 中国电子科技集团公司第二十八研究所 Firewall implementation method applied to software defined networking
CN106066894A (en) * 2016-06-23 2016-11-02 广州市百果园网络科技有限公司 Data global buffer method and data global buffer device
CN106326499A (en) * 2016-10-14 2017-01-11 广州市千钧网络科技有限公司 Data processing method and device
CN107888513A (en) * 2017-10-23 2018-04-06 深圳市楠菲微电子有限公司 Caching method and device for exchange chip

Also Published As

Publication number Publication date
CN108768859A (en) 2018-11-06

Similar Documents

Publication Publication Date Title
CN112866111B (en) Method and device for managing flow table
CN107104824B (en) Network topology determination method and device
CN106998297B (en) A kind of virtual machine migration method and device
CN107786638B (en) Data processing method, device and system
EP3451592B1 (en) Packet transmission between vxlan domains
CN111131079B (en) Policy query method and device
CN108600099B (en) Message forwarding method and device and leaf equipment
CN108134855B (en) ARP table management method, processor core, storage medium and electronic device
CN111010329B (en) Message transmission method and device
CN103152390A (en) Method and device and nodes and system for node configuration of distributed storage system
CN106789859B (en) Message matching method and device
US20160224603A1 (en) Method for Reading and Writing Forwarding Information Base, and Network Processor
CN109067744B (en) ACL rule processing method, device and communication equipment
US11005703B1 (en) Method, device, and product for managing application nodes in a distributed application system
CN108768859B (en) Data processing method, device and system
CN114064668A (en) Method, electronic device and computer program product for storage management
CN109688126B (en) Data processing method, network equipment and computer readable storage medium
WO2016082367A1 (en) Method and device for realizing hardware table traversal based on network processor
CN103023704B (en) Virtual network service equipment access method and system
CN111475424B (en) Method, apparatus, and computer readable storage medium for managing a storage system
CN112565091A (en) Message forwarding method and device, storage medium and terminal equipment
EP2801914A1 (en) System and method for broadcasting data to multiple hardware forwarding engines
JP2007221522A (en) Polling device, terminal device, polling method and program
CN110716941B (en) Hand identification analysis system and data query method
CN114390023B (en) Dynamic address non-aging method and device, electronic equipment and storage medium

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