IP Library › Granted Patent US 12,381,830
Granted Patent B2
US 12,381,830 · App. 18/364,006 · Granted Aug 5, 2025

Efficient TLV style header parsing and editing

Inventors: Amit Narayan Gupta (San Jose, CA); Bhaswar Mitra (Santa Clara, CA); Chi Ho Fredrek Choi (Sunnyvale, CA); Arun Prasath Chandrasekaran (Fremont, CA)
Assignee: Avago Technologies International Sales Pte. Limited
H04L47/34
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,830
App. No.
18/364,006
Granted
Aug 5, 2025
Kind
B2
Abstract

In some aspects, the disclosure is directed to methods and systems for a flexible type-length-value (TLV) parser and identification map that may be used to quickly identify TLV sequences of packet headers for subsequent processing in a pipeline. A flexible TLV bus may provide a secondary path for the TLV header and identification map, allowing for subsequent processing stages to read, process, modify, delete, or otherwise utilize individual TLV sequences within the header.

Claims (36)

1. A method comprising:

identifying, by a type-length-value (TLV) processor of a device, a type of a TLV sequence of one or more TLV sequences present in a header of a packet and a starting location of the header, the packet received via communications over one or more networks;

determining, by the TLV processor, an offset of a location of the TLV sequence in the header based at least on the starting location;

encoding, by the TLV processor, the TLV sequence in a bitmap using the type and offset; and

providing, by the TLV processor, the bitmap for use by another TLV processor to identify the TLV sequence in the header.

2. The method of claim 1 , further comprising receiving, by the TLV processor, the packet from a packet data bus.

3. The method of claim 1 , further comprising determining, by the TLV processor, that the TLV sequence is present in the TLV header of the packet, wherein the TLV header is configured at a layer in a network stack of the device having a network interface to receive the packet via the one or more networks.

4. The method of claim 1 , further comprising generating, by the TLV processor, the bitmap to identify the one or more TLV sequences within the header.

5. The method of claim 1 , further comprising encoding, by the TLV processor, the TLV sequence in the bitmap using a tuple comprising at least the type and the offset.

6. The method of claim 1 , wherein the TLV processor comprises a packet processing engine configured on one or more processors.

7. The method of claim 1 , wherein the TLV processor comprises circuitry.

8. The method of claim 1 , further comprising placing, by the TLV processor, the bitmap on a flex bus for another TLV processor to use.

9. A system comprising:

a device configured with a type-length-value (TLV) processor, the device having a network interface configured to receive one or more packets via communications over one or more networks;

the TLV processor configured to:

identify a type of a TLV sequence of one or more TLV sequences present in a header of a packet and a starting location of the header;

determine an offset of a location of the TLV sequence in the header based at least on the starting location;

encode the TLV sequence in a bitmap using the type and offset; and

communicate the bitmap on a bus for use by another TLV processor to identify the TLV sequence in the header.

10. The system of claim 9 , wherein the TLV processor is further configured to receive the packet from a packet data bus.

11. The system of claim 9 , wherein the TLV processor is further configured to determine that the TLV sequence is present in the TLV header of the packet, wherein the TLV header is configured at a layer in a network stack of the device having a network interface to receive the packet via the one or more networks.

12. The system of claim 9 , wherein the TLV processor is further configured to generate the bitmap to encode the one or more TLV sequences within the header.

13. The system of claim 9 , wherein the TLV processor is further configured to encode the TLV sequence in the bitmap using a tuple comprising at least the type and the offset.

14. The system of claim 9 , wherein the TLV processor comprises a packet processing engine configured on one or more processors.

15. The system of claim 9 , wherein the TLV processor comprises circuitry.

16. A device comprising:

circuitry providing a type-length-value (TLV) circuit;

the TLV circuit configured to:

identify a type of a TLV sequence of one or more TLV sequences present in a header of a packet and a starting location of the header;

determine an offset of a location of the TLV sequence in the header based at least on the starting location;

encode the TLV sequence in a bitmap using the type and offset; and

place the bitmap on a bus for use by another TLV circuit to identify the TLV sequence in the header.

17. The device of claim 16 , wherein the TLV circuit is further configured to receive the packet from a packet data bus.

18. The device of claim 16 , wherein the TLV circuit is further configured to determine that the TLV sequence is present in the TLV header of the packet.

19. The device of claim 16 , wherein the TLV circuit is further configured to generate the bitmap and encode the TLV sequence in the bitmap using a tuple comprising at least the type and the offset.

20. The device of claim 16 , wherein the TLV circuit and the another TLV circuit is electrically coupled to the bus.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2023
From: GUPTA, AMIT NARAYAN; MITRA, BHASWAR; CHOI, CHI HO FREDREK; CHANDRASEKARAN, ARUN PRASATH
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 064467/0744 →
Continuity (2)
Continuation 17587660 · Jan 28, 2022
Related Publication 20230411703A1 · Dec 21, 2023
References Cited (19)
US 9531986B2 · Cho et al. · 2016 [cited by applicant]
US 10701190B2 · Kfir et al. · 2020 [cited by applicant]
US 20070286066A1 · Zhang · 2007 [cited by examiner]
US 20090310543A1 · Kim · 2009 [cited by examiner]
US 20090327547A1 · Cho · 2009 [cited by examiner]
US 20090327572A1 · Cho · 2009 [cited by examiner]
US 20100118772A1 · Cheng · 2010 [cited by examiner]
US 20110019622A1 · Lee · 2011 [cited by examiner]
US 20120036507A1 · Jonnala · 2012 [cited by examiner]
US 20140016453A1 · Mehta · 2014 [cited by examiner]
US 20190215384A1 · Kfir et al. · 2019 [cited by applicant]
US 20210007039A1 · Salahuddeen · 2021 [cited by examiner]
US 20220255845A1 · Khera · 2022 [cited by examiner]
US 20220255857A1 · Li et al. · 2022 [cited by applicant]
CN 107707548A · 2018 [cited by applicant]
WO WO2008140817A2 · 2008 [cited by applicant]
WO WO2021083341A1 · 2021 [cited by applicant]
Notice of Allowance on U.S. Appl. No. 17/587,660 Dtd May 10, 2023. [cited by applicant]
Partial European Search Report EP 22216721.5 dated Jun. 5, 2023. [cited by applicant]