IP Library Granted Patent US 8,103,800
Granted Patent B2
US 8,103,800 · App. 10/780,853 · Granted Jan 24, 2012

Method and apparatus for multi-chip address resolution lookup synchronization in a network environment

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,103,800
App. No.
10/780,853
Granted
Jan 24, 2012
Kind
B2
Abstract

A method of handling datagrams in a network device coupled to other network devices is disclosed. The method includes the steps of receiving an incoming datagram at a port of the network device, determining an egress port for the incoming datagram based on a destination address contained in the incoming datagram and a lookup of an address resolution lookup (ARL) table and performing a lookup of the ARL table based on a source address contained in the incoming datagram to determine whether the source address has been learned previously. The method also includes the steps of writing an entry into the ARL table when the source address has not been learned previously, determining whether the other network devices have learned the source address when the source address has been learned previously and continuing to relay a learning message with the source address to the other network devices when it is determined that the other network devices have not learned the source address.

Claims (35)

1. A method of handling datagrams in a network device coupled to other network devices, the method comprising:

performing, by the network device, a lookup of an address resolution lookup ARL table based on a source address contained in an incoming datagram to determine whether the source address has been learned previously;

determining, when the source address has been learned previously, whether the other network devices have learned the source address by examining a learned all devices tag for the source address in the ARL table; and

when it is determined that the other network devices have not learned the source address:

sending, by the network device, a learning message with the source address to the other network devices; and

re-sending, by the network device, the learning message to the other network devices until the learning message is returned to the network device from one of the other network devices.

2. The method of claim 1 , wherein the method further comprises updating a hit bit in the ARL table when the source address has been learned previously.

3. The method of claim 1 , wherein the network device and the other network devices are connected through a ringed connection and continuing to relay the learning message comprises continuing to relay the learning message through the ringed connection.

4. The method of claim 3 , further comprising determining an egress port for the incoming datagram based on a destination address contained in the incoming datagram and a lookup of the ARL table, wherein determining an egress port comprises flooding all ports of the network device with the incoming datagram when the lookup of the ARL table does not find a match with the destination address.

5. The method of claim 1 , wherein the incoming datagram comprises an incoming data packet.

6. The method of claim 1 , further comprising writing an entry into the ARL table when the source address has not been learned previously.

7. A network device coupled to other network devices for handling datagrams comprising:

a computer readable storage medium having instructions stored thereon, wherein the instructions, when executed by the network device, cause the network device to:

implement an address resolution lookup (ARL) table;

perform a lookup of the ARL table based on a source address contained in an incoming datagram to determine whether the source address has been learned previously;

determine, when the source address has been learned previously, whether the other network devices have learned the source address by examining a learned all devices tag for the source address in the ARL table; and

relay a learning message with the source address from the network device to the other network devices when it is determined that the other network devices have not learned the source address, wherein relaying the learning message comprises repeatedly relaying the learning message from the network device to the other network devices until the learning message is returned to the network device from one of the other network devices.

8. The network device of claim 7 , wherein the instructions, when executed by the network device, further cause the network device to update a hit bit in the ARL table when the source address has been learned previously.

9. The network device of claim 7 , wherein:

the network device and the other network devices are connected through a ringed connection; and

relaying the learning message comprises relaying the learning message through the ringed connection.

10. The network device of claim 7 , wherein the network device is connected to the other network devices through one of a stacking port of the network device and an expansion port of the network device.

11. The network device of claim 7 , wherein the instructions, when executed by the network device, further cause the network device to determine an egress port for the incoming datagram based on a destination address contained in the incoming datagram, wherein determining the egress port comprises flooding all ports of the network device with the incoming datagram when the lookup of the ARL table does not find a match with the destination address.

12. The network device of claim 7 , wherein the instructions, when executed by the network device, further cause the network device to write an entry into the ARL table when the source address has not been learned previously.

13. A network device coupled to other network devices for handling datagrams comprising:

a computer readable storage medium having instructions stored thereon, wherein the instructions, when executed by the network device, provide for implementing:

an address resolution lookup (ARL) table;

an ARL table reader configured to perform a lookup of the ARL table based on a source address contained in an incoming datagram to determine whether the source address has been learned previously;

a global address determiner configured to determine whether the other network devices have learned the source address when the source address has been learned previously by examining a learned all devices tag for the source address in the ARL table; and

a learning message forwarder configured to relay a learning message with the source address from the network to the other network devices when it is determined that the other network devices have not learned the source address, wherein the learning message forwarder is further configured to repeatedly relay the learning message, from the network device to the other network devices until the learning message is returned to the network device from one of the other network devices.

14. The network device of claim 13 , wherein the instructions, when executed by the network device, further provide for implementing an updater configured to update a hit bit in the ARL table when the source address has been learned previously.

15. The network device of claim 13 , wherein the network device and the other network devices are connected through a ringed connection and the learning message forwarder comprises a ring message forwarder configured to relay the learning message through the ringed connection.

16. The network device of claim 13 , wherein the network device is connected to the other network devices through one of a stacking port of the network device and an expansion port of the network device.

17. The network device of claim 13 , wherein the instructions, when executed by the network device, further provide for implementing and egress port determiner configured to determine an egress port for the incoming datagram based on a destination address contained in the incoming datagram, wherein the egress port determiner comprises a port flooder configured to flood all ports of the network device with the incoming datagram when the lookup of the ARL table does not find a match with the destination address.

18. The network device of claim 13 , wherein the instructions, when executed by the network device, further provide for implementing an ARL table writer configured to write an entry into the ARL table when the source address has not been learned previously.

Assignments (4)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2004
From: TZENG, SHRJIE; LIN, CHIUNG-CHI
To: BROADCOM CORPORATION
Reel/Frame 015009/0415 →