IP Library Granted Patent US 7,020,139
Granted Patent B2
US 7,020,139 · App. 09/877,069 · Granted Mar 28, 2006

Trunking and mirroring across stacked gigabit switches

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 7,020,139
App. No.
09/877,069
Granted
Mar 28, 2006
Kind
B2
Abstract

A method of handling data packets in a network switch is disclosed. The method includes placing incoming packets into an input queue and applying the input data packets to an address resolution logic engine. A lookup is performed to determine whether certain packet fields are stored in a lookup table; and the result of the lookup is also examined to determine if it provides a trunk group ID for a particular data packet of the input data packets. When the lookup provides a trunk group ID, the trunk group ID is used to determine an egress port and the particular data packet is forwarded to the egress port. Alternatively, the packet is discarded, forwarded, or modified based upon the result of the lookup, where the lookup does not provide a trunk group ID. A network switch using the method is also disclosed and methods directed to mirroring of data packets are also disclosed.

Claims (70)

1. A method of handling data packets in a series of stacked network switches, said method comprising:

placing incoming packets into an input queue of a first stacked network switch;

applying the input data packets to an address resolution logic engine;

performing a lookup to determine whether certain packet fields are stored in a lookup table;

determining whether a result of the lookup provides a trunk group ID for a particular data packet of said input data packets;

when the lookup provides a trunk group ID;

using the trunk group ID to determine an egress port;

determining if the egress port is found on said first stacked network switch;

setting a stacked tag on said particular data packet if the egress port is not found on the first stacked network switch;

determining whether the particular data packet is a broadcast data packet;

selecting one port of a group of ports defining a trunk group as the egress port; and

forwarding said particular data packet to the egress port; and

when said lookup does not provide a trunk group ID;

discarding, forwarding, or modifying the packet based upon the result of the lookup.

2. A method of handling data packets as recited in claim 1 , wherein said step of using the trunk group ID to determine an egress port comprises using the trunk group ID as an index to perform a lookup on a trunk group table to obtain said egress port.

3. A method of handling data packets as recited in claim 2 , wherein the lookup on the trunk group table results in a rules tag, where the rules tag define a criterion to be used to select the egress port.

4. A method of handling data packets in a series of stacked network switches, said method comprising:

placing incoming packets into an input queue of a first stacked network switch;

applying the input data packets to an address resolution logic engine;

performing a lookup to determine whether certain packet fields are stored in a lookup table;

determining whether a result of the lookup provides a trunk group ID for a particular data packet of said input data packets;

when the lookup provides a trunk group ID;

using the trunk group ID to determine an egress port,

determining if the egress port is found on said first stacked network switch;

setting a stacked tag on said particular data packet if the egress port is not found on the first stacked network switch; and

forwarding said particular data packet to the egress port; and

when said lookup does not provide a trunk group ID;

discarding, forwarding, or modifying the packet based upon the result, of the lookup; and

defining a group of ports as being linked together in said trunk group table; and monitoring the statuses of said group of ports.

5. A method of handling data packets as recited in claim 4 , further comprising updating said trunk group table when the status of one of the group of ports changes.

6. A first stacked network switch for handling data packets configured in connection with a series of stacked network switches comprising:

an input queue for placing incoming packets into;

an address resolution logic engine;

means for performing a lookup to determine whether certain packet fields are stored in a lookup table;

means for determining whether a result of the lookup provides a trunk group ID for a particular data packet of said input data packets;

means for determining whether the trunk group ID is found on said first stacked network switch;

means for setting a stacked tag on said particular data packet; and

means for discarding, forwarding, and modifying the packet based upon the result of the lookup; and

means for determining whether the particular data packet is a broadcast data packet; and

means for selecting one port of a group of ports defining a trunk group as the egress port;

wherein if the lookup provides a trunk group ID, the means for discarding, forwarding, and modifying the packet is configured to use the trunk group ID to determine an egress port and forwards said particular data packet to the egress port and wherein the means for setting a stacked tag sets the stacked tag on said particular data packet when the trunk group ID is not found on said first stacked network switch.

7. A network switch for handling data packets as recited in claim 6 , wherein the means for discarding, forwarding, and modifying the packet is configured to use trunk group ID as an index to perform a lookup on a trunk group table to obtain said egress port.

8. A network switch for handling data packets configured in connection with a series of stacked network switches comprising:

an input queue for placing incoming packets into;

an address resolution logic engine;

means for performing a lookup to determine whether certain packet fields are stored in a lookup table;

means for determining whether a result of the lookup provides a trunk group ID for a particular data packet of said input data packets;

means for determining whether the trunk group ID is found on said first stacked network switch;

means for setting a stacked tag on said particular data packet; and

means for discarding, forwarding, and modifying the packet based upon the result of the lookup;

means for defining a group of ports as being linked together in a trunk group table; and

means for monitoring the statuses of said group of ports;

wherein if the lookup provides a trunk group ID, the means for discarding, forwarding, and modifying the packet is configured to use the trunk group ID to determine an egress port and forwards said particular data packet to the egress port and wherein the means for setting a stacked tag sets the stacked tag on said particular data packet when the trunk group ID is not found on said first stacked network switch.

9. A network switch for handling data packets as recited in claim 8 , further comprising means for updating said trunk group table when the status of one of the group of ports changes.

10. A method of handling data packets in a network switch, said method comprising:

placing incoming packets into an input queue;

applying the input data packets to an address resolution logic engine;

performing a lookup to determine whether certain packet fields are stored in a lookup table;

resolving mirroring fields of said incoming data packets;

discarding, forwarding, or modifying the packet based upon the result of the lookup;

forwarding said incoming data packets to mirroring ports based on said mirroring field; and

determining if said mirroring ports are local to the network switch when several networked switches are stacked together.

11. A network switch for handling data packets in a network switch, said method comprising:

an input queue for placing incoming packets into;

address resolution logic engine;

means for performing a lookup to determine whether certain packet fields are stored in a lookup table;

means for resolving mirroring fields of said incoming data packets;

means for discarding, forwarding, and modifying the packet based upon the result of the lookup;

means for forwarding said incoming data packets to mirroring ports based on said mirroring field; and

means for determining if said mirroring ports are local to the network switch when several networked switches are stacked together.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047196 FRAME: 0097. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048555/0510 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047196/0097 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →