User-specified key creation from attributes independent of encapsulation type
Abstract
An integrated circuit has a hardware decoder that parses a frame to identify a type of encapsulation. The integrated circuit also has a number of hardware parsers, each parser being coupled to the decoder by an enable line. During packet processing, one of the parsers is enabled by the decoder, based on the value which identifies the encapsulation type. The enabled parser retrieves one or more attributes from the frame, depending on the encapsulation. The integrated circuit also has a register, coupled to each parser. The register holds the attributes retrieved by the parser. The integrated circuit also has a key generation hardware which creates a key, by concatenating from the attributes register, certain attributes that are pre-selected by a user for forming the key. The integrated circuit supplies the key to a memory to look up a set of user-specified actions to be performed on data in the frame.
Claims
exact text as granted — not AI-modified1 . A method of processing data from a network, the method comprising:
identifying, from a value at a fixed location in a frame, a type of encapsulation of data in the frame; extracting a plurality of attributes of the frame from a corresponding plurality of locations in the frame based on the type of encapsulation; wherein at least one attribute being extracted is at different locations in frames of different types of encapsulation; generating a key by use of said attributes and independent of the type of encapsulation.
2 . The method of claim 1 further comprising:
using at least said key, to identify a plurality of instructions.
3 . The method of claim 2 further comprising:
executing at least one instruction in said plurality of instructions.
4 . The method of claim 1 further comprising:
concatenating the key, with an identifier of a port on which the frame is received, to generate a modified key; and
using at least said modified key, to identify a plurality of instructions.
5 . The method of claim 4 further comprising:
concatenating the modified key, with an identifier of a database associated with the port, to generate an extended key;
wherein at least said extended key is used to identify the plurality of instructions.
6 . The method of claim 1 wherein:
the key is generated by concatenating said attributes.
7 . The method of claim 1 wherein the different types of encapsulation comprise two or more of:
encapsulation with no VLAN tags;
encapsulation with one VLAN tag; and
encapsulation with two VLAN tags.
8 . The method of claim 7 wherein at least one of said types of encapsulations conforms to Ethernet.
9 . The method of claim 7 wherein at least another of said types of encapsulations conforms to 802.3.
10 . The method of claim 1 further comprising:
generating an additional key by use of an additional group of attributes; and
reading memory using at least the additional key.
11 . The method of claim 1 further comprising:
using said key directly, without any logic processing, to perform a memory look-up.
12 . An integrated circuit for processing data from a network, the integrated circuit comprising:
first hardware means for identifying, from a value at a fixed location in a frame, a type of encapsulation of data in the frame; and second hardware means, coupled to the first hardware means, for extracting a plurality of attributes of the frame from a corresponding plurality of locations in the frame based on the type of encapsulation; wherein at least one attribute being extracted is at different locations in frames of different types of encapsulation; and third hardware means, coupled to the second hardware means, for generating a key from attributes independent of encapsulation type.
13 . The integrated circuit of claim 12 further comprising:
a memory, coupled to the third hardware means, to receive therefrom the key to be used in looking up the memory; and
a processor coupled to the memory to receive therefrom instructions to be executed by the processor as identified by the key.
14 . An integrated circuit (IC) comprising:
an input port; an encapsulation dependent hardware coupled to the input port to receive a frame; a plurality of first storage elements, coupled to the encapsulation dependent hardware, the first storage elements holding a plurality of attributes of the frame; a plurality of second storage elements holding identifiers of a subset of first storage elements; an encapsulation independent hardware coupled to the plurality of second storage elements to receive therefrom said identifiers, the encapsulation independent hardware being further coupled to the plurality of first storage elements to receive therefrom values of attributes in the subset; and a register coupled to receive an output of the encapsulation independent hardware.
15 . The integrated circuit of claim 14 further comprising:
a memory, coupled to the register, to receive therefrom a value to be used in looking up the memory; and
a processor coupled to the memory to receive therefrom instructions to be executed by the processor as identified by the value in the register.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.