IP Library Granted Patent US 12,381,963
Granted Patent B2
US 12,381,963 · App. 18/370,821 · Granted Aug 5, 2025

Method of using bit vectors to allow expansion and collapse of header layers within packets for enabling flexible modifications and an apparatus thereof

Inventors: Chirinjeev Singh (San Jose, CA); Tsahi Daniel (Palo Alto, CA); Gerald Schmidt (San Jose, CA)
Assignee: MARVELL ASIA PTE, LTD
H04L69/22H04L49/3009H04L69/04H04L69/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,381,963
App. No.
18/370,821
Granted
Aug 5, 2025
Kind
B2
Abstract

Embodiments of the apparatus for modifying packet headers relate to a use of bit vectors to allow expansion and collapse of protocol headers within packets for enabling flexible modification. A rewrite engine expands each protocol header into a generic format and applies various commands to modify the generalized protocol header. The rewrite engine maintains a bit vector for the generalized protocol header with each bit in the bit vector representing a byte of the generalized protocol header. A bit marked as 0 in the bit vector corresponds to an invalid byte, while a bit marked as 1 in the bit vector corresponds to a valid byte. The rewrite engine uses the bit vector to remove all the invalid bytes after all commands have been operated on the generalized protocol header to thereby form a new protocol header.

Claims (33)

1. A method of a network device, the method comprising:

receiving a packet having a header including one or more protocol layers, wherein each protocol layer of the one or more protocol layers corresponds to one of a plurality of protocols; and

for at least one protocol layer of the one or more protocol layers:

converting the at least one protocol layer to a generic protocol layer format associated with the protocol of the at least one protocol layer by adding one or more fields to the at least one protocol layer, wherein the one or more fields added to the at least one protocol layer were not previously a part of the at least one protocol layer and are dependent on the protocol of the at least one protocol layer.

2. The method of claim 1 , further comprising maintaining a protocol table including a plurality of entries, wherein each entry of the plurality of entries is associated with a unique identifier and includes data associated with a different combination of the plurality of protocols.

3. The method of claim 1 , wherein the header of the packet includes a body that is a portion of the header that is not modified by the set of generic commands.

4. The method of claim 3 , further comprising:

maintaining a pointer structure for the packet that includes an end pointer, a plurality of layer pointers and a total size of the header of the packet, wherein each of the layer pointers point to a start position of a different one of the protocol layers of the header of the packet and the end pointer points to the start of the body of the header.

5. The method of claim 1 , further comprising, for each protocol layer of the at least one protocol layer that is converted, storing a bit vector including a plurality of values that each represent a different portion of the converted protocol layer.

6. The method of claim 1 , wherein the generic format includes all supported fields of the protocol of the at least one protocol layer.

7. The method of claim 1 , wherein converting the at least one protocol layer includes:

of fields supported by the protocol of the at least one protocol layer, detecting which of the fields are missing from the at least one protocol layer; and

based on the detection, expanding the at least one protocol layer to the generic format by adding the missing fields.

8. A network switch comprising:

an input port for receiving a packet having a header including one or more protocol layers, wherein each protocol layer of the one or more protocol layers corresponds to one of a plurality of protocols; and

a non-transitory computer-readable memory storing a rewrite engine that, for at least one protocol layer of the one or more protocol layers, converts the at least one protocol layer to a generic protocol layer format associated with the protocol of the at least one protocol layer by adding one or more fields to the at least one protocol layer, wherein the one or more fields added to the at least one protocol layer were not previously a part of the at least one protocol layer and are dependent on the protocol of the at least one protocol layer.

9. The network of claim 8 , wherein the memory stores a protocol table including a plurality of entries, wherein each entry of the plurality of entries is associated with a unique identifier and includes data associated with a different combination of the protocols.

10. The network of claim 8 , wherein the header of the packet includes a body that is a portion of the header that is not modified by the set of generic commands, and further wherein the memory stores a pointer structure for the packet that includes an end pointer, a plurality of layer pointers and a total size of the header of the packet.

11. The network of claim 10 , wherein each of the layer pointers point to a start position of a different one of the protocol layers of the header of the packet and the end pointer points to the start of the body of the header.

12. The network of claim 8 , wherein, for each protocol layer of the at least one protocol layer that is converted, the memory stores a bit vector including a plurality of values that each represent a different portion of the converted protocol layer.

13. The network of claim 8 , wherein the generic format includes all supported fields of the protocol of the at least one protocol layer.

14. The network of claim 8 , wherein converting the at least one protocol layer includes:

of fields supported by the protocol of the at least one protocol layer, detecting which of the fields are missing from the at least one protocol layer; and

based on the detection, expanding the at least one protocol layer to the generic format by adding the missing fields.

15. A non-transitory computer-readable medium storing a rewrite engine for receiving a packet having a header including one or more protocol layers, each protocol layer of the one or more protocol layers corresponding to a different one of a plurality of protocols, the rewrite engine configured to, for at least one protocol layer of the one or more of protocol layers, convert the at least one protocol layer to a generic protocol layer format associated with the protocol of the at least one protocol layer by adding one or more fields to the at least one protocol layer, wherein the one or more fields added to the at least one protocol layer were not previously a part of the at least one protocol layer and are dependent on the protocol of the at least one protocol layer.

16. The non-transitory computer-readable medium of claim 15 , wherein the rewrite engine is configured to access a protocol table including a plurality of entries, wherein each entry of the plurality of entries is associated with a unique identifier and includes data associated with a different combination of the protocols.

17. The non-transitory computer-readable medium of claim 15 , wherein the header of the packet includes a body that is a portion of the header that is not modified by the set of generic commands, and further wherein the rewrite engine is configured to access a pointer structure for the packet that includes an end pointer, a plurality of layer pointers and a total size of the header of the packet.

18. The non-transitory computer-readable medium of claim 17 , wherein each of the layer pointers point to a start position of a different one of the protocol layers of the header of the packet and the end pointer points to the start of the body of the header.

19. The non-transitory computer-readable medium of claim 15 , wherein, for each protocol layer of the at least one protocol layer that is converted, the rewrite engine is configured to generate a bit vector including a plurality of values that each represent a different portion of the converted protocol layer.

20. The non-transitory computer-readable medium of claim 15 , wherein the generic format includes all supported fields of the protocol of the at least one protocol layer.

21. The non-transitory computer-readable medium of claim 15 , wherein converting the at least one protocol layer includes:

of fields supported by the protocol of the at least one protocol layer, detecting which of the fields are missing from the at least one protocol layer; and

based on the detection, expanding the at least one protocol layer to the generic format by adding the missing fields.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2023
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 064964/0276 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2023
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 064965/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2023
From: SINGH, CHIRINJEEV; DANIEL, TSAHI; SCHMIDT, GERALD
To: XPLIANT, INC.
Reel/Frame 064976/0498 →
MERGER Recorded Sep 20, 2023
From: XPLIANT, INC.
To: CAVIUM NETWORKS LLC
Reel/Frame 064976/0515 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2023
From: CAVIUM NETWORKS LLC
To: CAVIUM, INC.
Reel/Frame 064976/0532 →
CHANGE OF NAME Recorded Sep 20, 2023
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 064976/0568 →
Continuity (4)
Continuation 17330782 · May 26, 2021
Continuation 15457970 · Mar 13, 2017
Continuation 14309659 · Jun 19, 2014
Related Publication 20240022652A1 · Jan 18, 2024
References Cited (222)
US 5729712A · Whittaker · 1998 [cited by applicant]
US 5781729A · Baker et al. · 1998 [cited by applicant]
US 5805808A · Hasani et al. · 1998 [cited by applicant]
US 5951651A · Lakshman · 1999 [cited by applicant]
US 6088356A · Hendel et al. · 2000 [cited by applicant]
US 6330251B1 · O'Loughlin et al. · 2001 [cited by applicant]
US 6341129B1 · Schroeder et al. · 2002 [cited by applicant]
US 6356951B1 · Gentry · 2002 [cited by applicant]
US 6606301B1 · Muller et al. · 2003 [cited by applicant]
US 6789116B1 · Sarkissian et al. · 2004 [cited by applicant]
US 6952425B1 · Nelson · 2005 [cited by applicant]
US 7017162B2 · Smith · 2006 [cited by applicant]
US 7187694B1 · Liao · 2007 [cited by applicant]
US 7277957B2 · Rowley et al. · 2007 [cited by applicant]
US 7293113B1 · Krishsna · 2007 [cited by applicant]
US 7359403B1 · Rinne · 2008 [cited by applicant]
US 7367052B1 · Desanti · 2008 [cited by applicant]
US 7391735B2 · Johnson · 2008 [cited by applicant]
US 7502374B1 · Parker et al. · 2009 [cited by applicant]
US 7568047B1 · Aysan et al. · 2009 [cited by applicant]
US 7606263B1 · Parker · 2009 [cited by applicant]
US 7710959B2 · Ramasamy et al. · 2010 [cited by applicant]
US 7715611B2 · Eaton et al. · 2010 [cited by applicant]
US 7802009B2 · Cui et al. · 2010 [cited by applicant]
US 7822032B1 · Parker et al. · 2010 [cited by applicant]
US 7903689B2 · Niinomi et al. · 2011 [cited by applicant]
US 8031640B2 · Mitsumori · 2011 [cited by applicant]
US 8054744B1 · Bishara et al. · 2011 [cited by applicant]
US 8112800B1 · Yang et al. · 2012 [cited by applicant]
US 8144706B1 · Daniel et al. · 2012 [cited by applicant]
US 8570713B2 · Kumfer · 2013 [cited by applicant]
US 8576173B2 · Verhaegh · 2013 [cited by applicant]
US 8705533B1 · Venkatraman · 2014 [cited by applicant]
US 8804733B1 · Safai · 2014 [cited by applicant]
US 9064058B2 · Daniel · 2015 [cited by applicant]
US 9258277B1 · Zhuang et al. · 2016 [cited by applicant]
US 9313115B2 · Kamerkar et al. · 2016 [cited by applicant]
US 9379963B2 · Tran · 2016 [cited by applicant]
US 9525647B2 · Koponen · 2016 [cited by applicant]
US 9590820B1 · Shukla · 2017 [cited by applicant]
US 9590914B2 · Alizadeh Attar et al. · 2017 [cited by applicant]
US 9742694B2 · Anand · 2017 [cited by applicant]
US 20010050914A1 · Akahane et al. · 2001 [cited by applicant]
US 20020009076A1 · Engbersen · 2002 [cited by applicant]
US 20020016852A1 · Nishihara · 2002 [cited by applicant]
US 20020062394A1 · Bunn et al. · 2002 [cited by applicant]
US 20020076142A1 · Song · 2002 [cited by applicant]
US 20020083210A1 · Harrison et al. · 2002 [cited by applicant]
US 20020101867A1 · O'Callaghan et al. · 2002 [cited by applicant]
US 20020163935A1 · Paatela et al. · 2002 [cited by applicant]
US 20020191521A1 · Minamino et al. · 2002 [cited by applicant]
US 20030037154A1 · Pggio et al. · 2003 [cited by applicant]
US 20030144993A1 · Kishigami · 2003 [cited by applicant]
US 20030152078A1 · Henderson et al. · 2003 [cited by applicant]
US 20030193949A1 · Kojima et al. · 2003 [cited by applicant]
US 20030198216A1 · Lewis · 2003 [cited by applicant]
US 20030210702A1 · Kendall · 2003 [cited by applicant]
US 20030218978A1 · Brown · 2003 [cited by applicant]
US 20030231625A1 · Calvignac et al. · 2003 [cited by applicant]
US 20040019733A1 · Garinger · 2004 [cited by applicant]
US 20040064589A1 · Boucher et al. · 2004 [cited by applicant]
US 20040148425A1 · Haumont · 2004 [cited by applicant]
US 20050076228A1 · Davis et al. · 2005 [cited by applicant]
US 20050083934A1 · Tan · 2005 [cited by examiner]
US 20050193240A1 · Ash · 2005 [cited by applicant]
US 20050213570A1 · Stacy et al. · 2005 [cited by applicant]
US 20050220107A1 · Del Regno · 2005 [cited by applicant]
US 20050232303A1 · Deforche et al. · 2005 [cited by applicant]
US 20050246716A1 · Smith · 2005 [cited by applicant]
US 20050256821A1 · Mishra · 2005 [cited by applicant]
US 20050276230A1 · Akahane et al. · 2005 [cited by applicant]
US 20050281281A1 · Nair et al. · 2005 [cited by applicant]
US 20060039372A1 · Sarkinen et al. · 2006 [cited by applicant]
US 20060168309A1 · Sikdar et al. · 2006 [cited by applicant]
US 20060215653A1 · LaVigne · 2006 [cited by applicant]
US 20060215695A1 · Olderdissen · 2006 [cited by applicant]
US 20060259620A1 · Tamai · 2006 [cited by applicant]
US 20060280178A1 · Miller et al. · 2006 [cited by applicant]
US 20070022479A1 · Sikdar · 2007 [cited by applicant]
US 20070078997A1 · Stern · 2007 [cited by applicant]
US 20070263660A1 · Mitsumori · 2007 [cited by applicant]
US 20070268931A1 · Shaikli · 2007 [cited by applicant]
US 20080008159A1 · Bourlas et al. · 2008 [cited by applicant]
US 20090067325A1 · Baratakke et al. · 2009 [cited by applicant]
US 20090067446A1 · Lee · 2009 [cited by applicant]
US 20090234818A1 · Lobo et al. · 2009 [cited by applicant]
US 20090238190A1 · Cadigan, Jr. et al. · 2009 [cited by applicant]
US 20090307660A1 · Srinivasan · 2009 [cited by applicant]
US 20100161787A1 · Jones · 2010 [cited by applicant]
US 20100272125A1 · Franke et al. · 2010 [cited by applicant]
US 20100329255A1 · Singhal et al. · 2010 [cited by applicant]
US 20110022732A1 · Hutchison et al. · 2011 [cited by applicant]
US 20110040923A1 · Ren · 2011 [cited by applicant]
US 20110058514A1 · Lee et al. · 2011 [cited by applicant]
US 20110134920A1 · Dyke · 2011 [cited by applicant]
US 20110142070A1 · Lim et al. · 2011 [cited by applicant]
US 20110261698A1 · Kamerkar et al. · 2011 [cited by applicant]
US 20110261812A1 · Kini et al. · 2011 [cited by applicant]
US 20110268123A1 · Kopelman et al. · 2011 [cited by applicant]
US 20110310892A1 · DiMambro · 2011 [cited by applicant]
US 20120106509A1 · Klingenbrunn · 2012 [cited by examiner]
US 20120159132A1 · Abel · 2012 [cited by applicant]
US 20120257627A1 · Nguymetal · 2012 [cited by applicant]
US 20120281714A1 · Chang et al. · 2012 [cited by applicant]
US 20130039278A1 · Bouazizi et al. · 2013 [cited by applicant]
US 20130163427A1 · Beliveau et al. · 2013 [cited by applicant]
US 20130163475A1 · Beliveau et al. · 2013 [cited by applicant]
US 20130195457A1 · Levy et al. · 2013 [cited by applicant]
US 20130215906A1 · Hidai · 2013 [cited by applicant]
US 20130238792A1 · Kind et al. · 2013 [cited by applicant]
US 20130326083A1 · Boucher et al. · 2013 [cited by applicant]
US 20140056141A1 · Breternitz, Jr. · 2014 [cited by applicant]
US 20140078902A1 · Edsall et al. · 2014 [cited by applicant]
US 20140119231A1 · Chan et al. · 2014 [cited by applicant]
US 20140153443A1 · Carter · 2014 [cited by applicant]
US 20140269307A1 · Banerjee et al. · 2014 [cited by applicant]
US 20140328354A1 · Michael · 2014 [cited by applicant]
US 20140369363A1 · Hutchison · 2014 [cited by applicant]
US 20140369365A1 · Denio et al. · 2014 [cited by applicant]
US 20150081726A1 · Izenberg · 2015 [cited by applicant]
US 20150172189A1 · Pitchai · 2015 [cited by applicant]
US 20150187419A1 · Tran · 2015 [cited by applicant]
US 20150189047A1 · Naaman et al. · 2015 [cited by applicant]
US 20150222533A1 · Birrittella et al. · 2015 [cited by applicant]
US 20150277911A1 · Khartikov et al. · 2015 [cited by applicant]
US 20160028623A1 · Kamath · 2016 [cited by applicant]
US 20160274944A1 · Winkel · 2016 [cited by applicant]
US 20170048144A1 · Liu · 2017 [cited by applicant]
CN 101026586A · 2007 [cited by applicant]
CN 101095310A · 2007 [cited by applicant]
CN 101112056A · 2008 [cited by applicant]
CN 101237419A · 2008 [cited by applicant]
CN 101286215A · 2008 [cited by applicant]
CN 101543018A · 2009 [cited by applicant]
CN 101563908A · 2009 [cited by applicant]
CN 101686102A · 2010 [cited by applicant]
CN 101694627A · 2010 [cited by applicant]
CN 101777791A · 2010 [cited by applicant]
CN 101854361A · 2010 [cited by applicant]
CN 101958902A · 2011 [cited by applicant]
CN 102104541A · 2011 [cited by applicant]
CN 102204180A · 2011 [cited by applicant]
CN 102273149A · 2011 [cited by applicant]
CN 102353894A · 2012 [cited by applicant]
CN 102377803A · 2012 [cited by applicant]
CN 102656850A · 2012 [cited by applicant]
CN 102866961A · 2013 [cited by applicant]
CN 103444138A · 2013 [cited by applicant]
CN 103347013A · 2013 [cited by applicant]
CN 103384224A · 2013 [cited by applicant]
CN 103460751A · 2013 [cited by applicant]
CN 103597794A · 2014 [cited by applicant]
CN 103856405A · 2014 [cited by applicant]
CN 103959302A · 2014 [cited by applicant]
CN 104010049A · 2014 [cited by applicant]
CN 104012063A · 2014 [cited by applicant]
EP 1735957A · 2006 [cited by applicant]
EP 2529528A · 2012 [cited by applicant]
FI 0804845 · 1996 [cited by examiner]
JP 2000196672A · 2000 [cited by applicant]
JP 2000253061A · 2000 [cited by applicant]
JP 2003308206A · 2003 [cited by applicant]
JP 2005522948A · 2005 [cited by applicant]
JP 2007503770A · 2007 [cited by applicant]
JP 2007166514A · 2007 [cited by applicant]
JP 2009260880A · 2009 [cited by applicant]
JP 2009272912A · 2009 [cited by applicant]
JP 2013055642A · 2013 [cited by applicant]
JP 2014510504A · 2014 [cited by applicant]
KR 100441317 · 2013 [cited by applicant]
WO 2005036834A · 2005 [cited by applicant]
WO 2011078108A · 2011 [cited by applicant]
WO 2011093835A1 · 2011 [cited by applicant]
WO 2012138370A · 2012 [cited by applicant]
Second Official Action dated Dec. 6, 2023 from the Indian Patent Application No. 834/DEL/2015. [cited by applicant]
Office Action dated Jul. 17, 2019 for Chinese Patent Application No. 201510276426.4. [cited by applicant]
Office Action dated Jul. 17, 2019 for Chinese Patent Application No. 201510276588.8. [cited by applicant]
Office Action dated Jul. 29, 2019 for Chinese Patent Application No. 2015102724093. [cited by applicant]
Office Action dated Aug. 2, 2019 for Chinese Patent Application No. 2015102369392. [cited by applicant]
Office Action dated Aug. 5, 2019 for Chinese Patent Application No. 201510272163X. [cited by applicant]
Office Action from the Chinese Patent Application No. 201510229770.8 dated Aug. 5, 2019. [cited by applicant]
Chinese Office Action dated May 7, 2020 for the Chinese Patent Application No. 201510272409.3. [cited by applicant]
Chinese Office Action dated May 8, 2020 for the Chinese Patent Application No. 201510229779.9. [cited by applicant]
Chinese Office Action dated May 18, 2020 for the Chinese Patent Application No. 201510229610.3. [cited by applicant]
Chinese Office Action dated May 18, 2020 for the Chinese Patent Application No. 201510272436.0. [cited by applicant]
Chinese Notice of Allowance dated Jun. 15, 2020 for the Chinese Patent Application No. 201510236939.2. [cited by applicant]
Chinese Office Action dated Mar. 18, 2020 for the Chinese Patent Application No. 201680015083.9. [cited by applicant]
Office Action dated Aug. 19, 2019 for Chinese Patent Application No. 201502297799. [cited by applicant]
Office Action dated Aug. 26, 2019 for Japanese Patent Application No. 2015122562. [cited by applicant]
Office Action dated Aug. 27, 2019 for Chinese Patent Application No. 201502724360. [cited by applicant]
Office Action dated Aug. 27, 2019 for Chinese Patent Application No. 20150229610.3. [cited by applicant]
Office Action dated Sep. 3, 2019 for Chinese Patent Application No. 2015102726703. [cited by applicant]
Chinese Office Action dated Nov. 3, 2020 for the Chinese Patent Application No. 201510272436.0. [cited by applicant]
Chinese Office Action dated Nov. 3, 2020 for the Chinese Patent Application No. 201510272409.0. [cited by applicant]
Chinese Office Action dated Nov. 5, 2020 for the Chinese Patent Application No. 201510229779.9. [cited by applicant]
Office Action for the Japanese Application No. 2015122564 mailed on Mar. 25, 2019. [cited by applicant]
Japanese Office Action dated Mar. 18, 2019, for Japanese Patent Application No. 2015-122560. [cited by applicant]
Office Action for the Japanese Application No. 2015122559 mailed on Mar. 18, 2019. [cited by applicant]
Office Action for the Japanese Application No. 2015122561 mailed on Mar. 18, 2019. [cited by applicant]
Office Action for the Japanese Application No. 2015-122562 mailed on Mar. 18, 2019. [cited by applicant]
Indian Office Action dated Sep. 24, 2020 for the Indian Patent Application No. 847/DEL/2015. [cited by applicant]
Indian Office Action dated Sep. 25, 2020 for the Indian Patent Application No. 836/DEL/2015. [cited by applicant]
Notice of Allowance dated Aug. 28, 2020 for the Chinese Patent Application No. 2016800150839.3. [cited by applicant]
Notice of Allowance dated Aug. 27, 2020 for the Chinese Patent Application No. 201510229610.3. [cited by applicant]
Notice of Allowance dated Jul. 24, 2020 for the Chinese Patent Application No. 201510272409.3. [cited by applicant]
Notice of Allowance dated Jul. 24, 2020 for the Chinese Patent Application No. 201510229770.8. [cited by applicant]
Chinese Office Action dated Mar. 12, 2020 for the Chinese Patent Application No. 201510229770.8. [cited by applicant]
Chinese Office Action dated Mar. 2, 2020 from the Chinese Patent Application No. 201510272163.X. [cited by applicant]
Chinese Office Action dated Mar. 2, 2020 from the Chinese Patent Application No. 201510236939.2. [cited by applicant]
Office Action and English Translation for the Taiwanese application No. 104111755. [cited by applicant]
Office Action and English Translation for the Taiwanese application No. 104110829. [cited by applicant]
Indian Office Action for the Application No. 834/DEL/2015 dated Jul. 27, 2020. [cited by applicant]
Korean Office Action dated May 27, 2021 for Korean Patent Application No. 10-2015-0086078. [cited by applicant]
Korean Office Action dated May 27, 2021 for Korean Patent Application No. 10-2015-0087785. [cited by applicant]
Korean Office Action dated May 27, 2021 for Korean Patent Application No. 10-2015-0087800. [cited by applicant]
Korean Office Action dated Apr. 29, 2021 for Korean Patent Application No. 10-2015-0083631. [cited by applicant]
Korean Office Action dated Nov. 18, 2021 for the Korean Patent Application No. 10-2015-0086042. [cited by applicant]
Korean Office Action dated Apr. 30, 2021 for Korean Patent Application No. 10-2015-0084526. [cited by applicant]
Korean Office Action dated Apr. 30, 2021 for Korean Patent Application No. 10-2015-0086042. [cited by applicant]
Second Official Action dated Nov. 28, 2022, from the Indian Patent Application No. 836/DEL/2015. [cited by applicant]
Second Official Action dated Jan. 19, 2023 from the Indian Patent Application No. 841/DEL/2015. [cited by applicant]
Kozanitis et al. Leaping Multiple Headers in a Single Bound: Wire-Speed Parsing Using the Kangaroo System. [cited by applicant]