US 12,407,606 B2
Packet processing system and method, machine-readable storage medium, and program product
Xuemin Wen, Beijing (CN); and Shaofu Zuo, Beijing (CN)
Assigned to HUAWEI CLOUD COMPUTING TECHNOLOGIES CO., LTD., Guizhou (CN)
Filed by Huawei Cloud Computing Technologies Co., Ltd., Guizhou (CN)
Filed on Aug. 19, 2022, as Appl. No. 17/891,334.
Application 17/891,334 is a continuation of application No. PCT/CN2020/136455, filed on Dec. 15, 2020.
Claims priority of application No. 202010104496.2 (CN), filed on Feb. 20, 2020; and application No. 202010526837.5 (CN), filed on Jun. 11, 2020.
Prior Publication US 2022/0393974 A1, Dec. 8, 2022
Int. Cl. G06F 15/173 (2006.01); H04L 45/00 (2022.01); H04L 45/12 (2022.01); H04L 47/122 (2022.01)
CPC H04L 45/38 (2013.01) [H04L 45/123 (2013.01); H04L 47/122 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A packet processing system, comprising:
a programmable forwarding device configured to:
receive a packet comprising header information;
compare the header information to a first match field of a first flow entry in a first flow table accessible to the programmable forwarding device to determine whether a first matching flow entry exists in the first flow table;
send, when the first matching flow entry does not exist in the first flow table accessible to the programmable forwarding device, the packet to a programmable network adapter; and
process, when the first matching flow entry exists in the first flow table, the packet based on the first flow entry existing in the first flow table accessible to the programmable forwarding device, wherein the first matching flow entry existing in the first flow table accessible to the programmable forwarding device is offloaded from a second flow table accessible to the programmable network adapter;
a computing device comprising:
the programmable network adapter configured to:
receive the packet from the programmable forwarding device;
compare the header information to a second match field of a second flow entry in the second flow table accessible to the programmable network adapter to determine whether a second matching flow entry exists in the second flow table;
send, when the second flow entry does not exist in the second flow table accessible to the programmable network adapter, the packet to a processor; and
process, when the second matching flow entry exists in the second flow table, the packet based on the second matching flow entry existing in the second flow table accessible to the programmable network adapter, wherein second matching flow entry existing in the second flow table accessible to the programmable network adapter device is offloaded from a third flow table accessible to a gateway running on the processor; and
the processor configured to:
run, when the first matching flow entry does not exist in the first flow table and when the second matching flow entry does not exist in the second flow table, the gateway to receive the packet from the programmable network adapter; and
process, based on a third flow entry in the third flow table accessible to the gateway, the packet.