IP Library Granted Patent US 8,194,666
Granted Patent B2
US 8,194,666 · App. 11/668,322 · Granted Jun 5, 2012

Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability

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 8,194,666
App. No.
11/668,322
Granted
Jun 5, 2012
Kind
B2
Abstract

According to an embodiment of the invention, a network device such as a router or switch provides efficient data packet handling capability. The network device includes one or more input ports for receiving data packets to be routed, as well as one or more output ports for transmitting data packets. The network device includes an integrated port controller integrated circuit for routing packets. The integrated circuit includes an interface circuit, a received packets circuit, a buffer manager circuit for receiving data packets from the received packets circuit and transmitting data packets in one or more buffers and reading data packets from the one or more buffers. The integrated circuit also includes a rate shaper counter for storing credit for a traffic class, so that the integrated circuit can support input and/or output rate shaping. The integrated circuit may be associated with an IRAM, a CAM, a parameter memory configured to hold routing and/or switching parameters, which may be implemented as a PRAM, and an aging RAM, which stores aging information. The aging information may be used by a CPU coupled to the integrated circuit via a system interface circuit to remove entries from the CAM and/or the PRAM when an age count exceeds an age limit threshold for the entries.

Claims (30)

1. A method of processing a data packet received over a port, comprising:

receiving the data packet over the port;

deriving a forward identifier for the data packet;

computing, after receiving the data packet, a trunk index for the received data packet based upon a type of the data packet;

modifying the forward identifier to enable trunking, the modifying comprising performing a logical operation using the forward identifier and the trunk index; and

performing a lookup in a memory using the modified forward identifier.

2. The method of claim 1 wherein the type is one of Internet Protocol (IP), Internetwork Packet Exchange (IPX), or Layer 2 (L2).

3. A device comprising:

a set of ports;

a memory; and

a port controller configured to

derive a forward identifier for a data packet received by the device over an input port from the set of ports,

compute a trunk index for the data packet after receiving the data packet based on a type of the data packet,

modify the forward identifier to enable trunking by performing a logical operation using the forward identifier and the trunk index, and

perform a lookup in the memory using the modified forward identifier.

4. The device of claim 3 wherein the type is one of Internet Protocol (IP), Internetwork Packet Exchange (IPX), or Layer 2 (L2).

5. A method comprising:

determining, by a network device, a forwarding identifier for a packet received by the network device;

computing a trunk index for the received packet based on a type of the packet;

modifying, by the network device, the forward identifier to support trunking, the modifying comprising performing a logical operation using the forward identifier and the trunk index; and

performing, by the network device, a lookup in a memory using the modified forward identifier.

6. The method of claim 5 wherein the type is one of Internet Protocol (IP), Internetwork Packet Exchange (IPX), or Layer 2 (L2).

7. A device comprising:

a memory; and

a port controller configured to:

determine a forwarding identifier for a packet received by the device;

compute, based on a type of the packet, a trunk index for the received packet;

modify the forward identifier to support trunking by performing a logical operation using the forward identifier and the trunk index; and

perform a lookup in the memory using the modified forward identifier.

8. The device of claim 7 wherein the type is one of Internet Protocol (IP), Internetwork Packet Exchange (IPX), or Layer 2 (L2).

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047270/0247 →
RELEASE OF SECURITY INTEREST Recorded Jan 22, 2015
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC
Reel/Frame 034804/0793 →
RELEASE OF SECURITY INTEREST Recorded Jan 21, 2015
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; INRANGE TECHNOLOGIES CORPORATION; FOUNDRY NETWORKS, LLC
Reel/Frame 034792/0540 →
CHANGE OF NAME Recorded Jul 21, 2010
From: FOUNDRY NETWORKS, INC.
To: FOUNDRY NETWORKS, LLC
Reel/Frame 024733/0739 →
SECURITY AGREEMENT Recorded Jan 20, 2010
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION; MCDATA SERVICES CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 023814/0587 →
SECURITY AGREEMENT Recorded Dec 22, 2008
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, INC.; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION
To: BANK OF AMERICA, N.A. AS ADMINISTRATIVE AGENT
Reel/Frame 022012/0204 →