US 11,659,071 B2
Packet processing
Matthew Ian Ronald Williams, London (GB); Richard John Whitehouse, London (GB); Christopher Neil Swindle, Biggieswade (GB); and Colin Reynolds, Edinburgh (GB)
Assigned to MetaSwitch Networks Ltd., Enfield (GB)
Filed by MetaSwitch Networks Ltd., Enfield (GB)
Filed on Nov. 24, 2021, as Appl. No. 17/535,351.
Claims priority of application No. 2018535 (GB), filed on Nov. 25, 2020.
Prior Publication US 2022/0166856 A1, May 26, 2022
Int. Cl. G06F 15/78 (2006.01); G06F 15/80 (2006.01); G06F 16/22 (2019.01); G06F 16/31 (2019.01); G06F 16/41 (2019.01); H04L 69/22 (2022.01)
CPC H04L 69/22 (2013.01) [H04L 2212/00 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of processing packets by a packet processing system comprising a processor and memory, the method comprising:
receiving a plurality of packets, wherein each packet of the plurality of packets stores a reference to a current packet processing epoch associated with a packet processing data structure, the current packet processing epoch comprising a counter and a deletion list;
setting the counter of the current packet processing epoch to the number of packets contained in the plurality of packets;
processing, by the packet processing system, the plurality of packets according to the packet processing data structure;
in response to processing each packet of the plurality of packets, decrementing the counter to track the number of packets that have been processed;
determining that an object of the packet processing data structure is redundant as a result of an update to the packet processing data structure;
adding the redundant object to the deletion list of the current packet processing epoch;
generating a new packet processing epoch corresponding to the updated packet processing data structure;
in response to determining that the counter indicates that there are no more packets to be processed, deleting the redundant object from the packet processing data structure to generate the updated packet processing data structure;
receiving a subsequent plurality of packets, wherein each packet of the subsequent plurality of packets stores a reference to the new packet processing epoch; and
processing the subsequent plurality of packets according to the updated packet processing data structure.