Apparatus and method of assigning VLAN tags
First Claim
1. An apparatus including a circuit for assigning a VLAN tag to a data frame received at a port of a switch, said circuit comprising:
- a content addressable memory which stores tagging information, said tagging information including lookup data and associated tag data;
a data frame memory which stores at least part of a data frame, said Dart including data frame information;
a search circuit, connected to said content addressable memory and said data frame memory, which reads said data frame information, searches said content addressable memory for said lookup data corresponding to said data frame information, and reads a corresponding subset of said associated tag data; and
a tagging circuit, connected to said search circuit and said data frame memory, which writes in said data frame memory a VLAN tag including said corresponding subset of said associated tag data, wherein;
said data frame information comprises an associated source address and an associated destination address;
said lookup data comprises a plurality of hashes of reference source and destination addresses; and
said search circuit searches said content addressable memory for one of said Plurality of hashes corresponding to said associated source address and said associated destination address.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus for and method of assigning a VLAN tag to a frame received at a port of a switch are disclosed. The apparatus includes a content addressable memory, a data frame memory, a search circuit, and a tagging circuit. The content addressable memory stores tagging information, the tagging information including lookup data and associated tag data. The frame memory stores at least part of a data frame, the part including data frame information. The search circuit is connected to the content addressable memory and the data frame memory. The search circuit reads the data frame information, searches the content addressable memory for the lookup data corresponding to the data frame information, and reads a corresponding subset of the associated tag data. The tagging circuit is connected to the search circuit and the data frame memory. The tagging circuit writes in the data frame memory a VLAN tag including the corresponding subset of the associated tag data.
310 Citations
16 Claims
-
1. An apparatus including a circuit for assigning a VLAN tag to a data frame received at a port of a switch, said circuit comprising:
-
a content addressable memory which stores tagging information, said tagging information including lookup data and associated tag data;
a data frame memory which stores at least part of a data frame, said Dart including data frame information;
a search circuit, connected to said content addressable memory and said data frame memory, which reads said data frame information, searches said content addressable memory for said lookup data corresponding to said data frame information, and reads a corresponding subset of said associated tag data; and
a tagging circuit, connected to said search circuit and said data frame memory, which writes in said data frame memory a VLAN tag including said corresponding subset of said associated tag data, wherein;
said data frame information comprises an associated source address and an associated destination address;
said lookup data comprises a plurality of hashes of reference source and destination addresses; and
said search circuit searches said content addressable memory for one of said Plurality of hashes corresponding to said associated source address and said associated destination address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
said data frame information further comprises an associated frame type;
said plurality of hashes further includes hashes of reference frame types; and
said search circuit further searches said content addressable memory for said one of said plurality of hashes corresponding to said associated source address, said associated destination address, and said associated frame type.
-
-
3. The apparatus of claim 1, wherein said associated tag data includes priority data, said apparatus further comprising:
-
a control memory which stores an information value; and
a priority circuit, connected to said search circuit and said control memory, which writes into said control memory said corresponding subset of said associated tag data.
-
-
4. The apparatus of claim 1, further comprising:
a detagging circuit, connected to said data frame memory, which removes said VLAN tag from said data frame.
-
5. The apparatus of claim 1, wherein:
said associated destination address corresponds to a multicast address.
-
6. The apparatus of claim 2, wherein:
said associated destination address corresponds to a multicast address.
-
7. The apparatus of claim 2, wherein said associated tag data includes priority data, said apparatus further comprising:
-
a control memory which stores an information value; and
a priority circuit, connected to said search circuit and said control memory, which writes into said control memory said corresponding subset of said associated tag data.
-
-
8. The apparatus of claim 2, further comprising:
a detagging circuit, connected to said data frame memory, which removes said VLAN tag from said data frame.
-
9. A method for assigning a VLAN tag to a data frame received at a port of a switch, said method comprising the steps of:
-
storing at least part of a data frame, said part including an associated source address and an associated destination address;
storing tagging information, said tagging information including a plurality of hashes of reference source and destination addresses, and associated tag data;
reading said associated destination address and said associated source address;
searching said tagging information for said lookup data corresponding to said associated source address and said associated destination address;
reading a subset of said associated tag data according to a result of said step of searching; and
writing in said part a VLAN tag including said subset of said associated tag data.- View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
said step of storing at least part of a data frame comprises storing at least part of a data frame, said part including an associated source address and an associated destination address corresponding to a multicast address.
-
-
11. The method of claim 9, wherein:
-
said step of storing at least part of a data frame comprises storing at least part of a data frame, said part including an associated source address, an associated destination address, and an associated frame type;
said step of storing tagging information comprises storing tagging information, said tagging information including a plurality of hashes of reference source and destination addresses and reference frame types, and associated tag data;
said step of reading said data frame information comprises reading said associated destination address, said associated source address, and said associated frame type; and
said step of searching said tagging information comprises searching said tagging information for said lookup data corresponding to said associated source address, said associated destination address, and said associated frame type.
-
-
12. The method of claim 9, wherein said associated tag data includes priority data, further comprising the steps of:
-
storing an information value; and
writing into said information value said subset of said associated tag data.
-
-
13. The method of claim 9, further comprising the step of:
removing said VLAN tag from said data frame.
-
14. The method of claim 11, wherein:
said step of storing at least part of a data frame comprises storing at least part of a data frame, said part including an associated source address, an associated frame type, and an associated destination address corresponding to a multicast address.
-
15. The method of claim 11, wherein said associated tag data includes priority data, further comprising the steps of:
-
storing an information value; and
writing into said information value said subset of said associated tag data.
-
-
16. The method of claim 9, further comprising the step of:
removing said VLAN tag from said data frame.
Specification