System and method for maintaining a layer 2 modification buffer
AssigneeBroadcom Corporation
InventorsMichael J. Bowes, Eric A. Baden, John Jeffrey Dull, Curt McDowell
Life of this patent
Estimating the term…
Abstract
A network device for processing packets. The network devices includes a ingress module for performing lookups for layer 2 switching and performing operations for maintaining a layer 2 table. When the ingress module updates the layer 2 table, the ingress module records the operation performed on the layer 2 table in a modification buffer. Entries are added to the modification buffer when the layer 2 table is modified and in the order in which the layer 2 table was modified. The network device thus enables reconstruction of the layer 2 table by performing the operations in the modification buffer.
Claims13
A network device for processing packets, the network device comprising:
- an ingress module for performing lookups for layer 2 switching and for performing operations for maintaining a layer 2 table and a modification buffer,
- wherein when the ingress module updates the layer 2 table, the ingress module records the operation performed on the layer 2 table in the modification buffer, the ingress module adds entries to the modification buffer when the layer 2 table is modified and in the order in which the layer 2 table was modified, thereby enabling reconstruction of the layer 2 table by performing the operations in the modification buffer,
- wherein the ingress module comprises a first buffer and when the ingress module performs a learn operation, the ingress module schedules a learn instruction by marking a packet for possible learn and stores the packet in a first buffer, and
- wherein the first buffer includes one entry per port on the network device and each entry includes a first bit for indicating a status of the packet and a second bit for indicating if there is a source address in the entry, wherein if the status of the packet is known, the packet is received without errors and there is room in a second buffer, the learn instruction is copied from the first buffer to the second buffer.
A method for processing packets in a network device, the method comprising:
- performing lookup operations for layer 2 switching, and maintaining of a layer 2 table;
- recording operations performed on the layer 2 table in a modification buffer when the layer 2 table is updated, wherein entries are only added to the modification buffer when the layer 2 table is modified and in the order in which the layer 2 table is modified;
- scheduling a learn instruction by marking a packet for possible learn, storing the packet in a first buffer and copying, a learn instruction from the first buffer to a second buffer;
- implementing a round-robin arbitration scheme to determine which entry in the first buffer should be transmitted to the second buffer;
- enabling reconstruction of the layer 2 table by performing the operations in the modification buffer;
- and
- obtaining a bucket pointer for the layer 2 table when a learn instruction is transmitted from the second buffer through the ingress pipeline and comparing entries in the bucket with a key in the learn instruction, wherein if there is a match, values from the learn instruction is written in the layer 2 table and if there is no match, the values from learn instruction are written in the layer 2 table.
Dependencies are inferred from the claim text.