US 11,729,300 B2
Generating programmatically defined fields of metadata for network packets
Thomas A. Volpe, Austin, TX (US); Timothy David Gasser, Austin, TX (US); Robert Michael Johnson, Austin, TX (US); Mark Bradley Davis, Austin, TX (US); and Vithal Dattatraya Shirodkar, Seattle, WA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Jan. 29, 2021, as Appl. No. 17/163,211.
Application 17/163,211 is a continuation of application No. 15/058,074, filed on Mar. 1, 2016, granted, now 10,911,579.
Prior Publication US 2021/0160350 A1, May 27, 2021
Int. Cl. H04L 69/22 (2022.01); H04L 45/7453 (2022.01)
CPC H04L 69/22 (2013.01) [H04L 45/7453 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A packet processor, comprising:
a parser that generates programmatically defined fields of metadata for processing network packets received at the packet processor, wherein the parser comprises a header separator and a plurality of field extractors, and wherein the plurality of field extractors comprises at least a first field extractor and a second field extractor;
wherein the packet processor is configured to:
receive instructions specifying the programmatically defined fields of metadata, wherein the instructions specify an extraction of one or more individual bits of data from at least one of the received network packets for at least one of the programmatically defined fields; and
store the instructions specifying the programmatically defined fields of metadata;
wherein the header separator is configured to:
identify different headers of a first network packet within a stream of data comprising a plurality of network packets as the stream of data is received;
provide a first indication of at least one header of the different headers within the first network packet to the first field extractor;
provide a second indication of all of the different headers within the first network packet to the second field extractor;
wherein the first field extractor is configured to extract metadata from the at least one header of the different headers of the first network packet identified in the first indication; and
wherein the second field extractor is configured to extract the specified one or more individual bits from the first network packet, according to the instructions specifying the programmatically defined fields of metadata stored at the packet processor, that corresponds to at least one header of all of the different headers indicated by the header separator in the second indication, to generate different portions of the programmatically defined fields of metadata for the first network packet from the different headers.