IP Library Granted Patent US 8,295,282
Granted Patent B2
US 8,295,282 · App. 12/079,341 · Granted Oct 23, 2012

Method and apparatus for MAC address learning

Assignee: Alcatel Lucent
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,295,282
App. No.
12/079,341
Granted
Oct 23, 2012
Kind
B2
Abstract

The invention includes a method and apparatus for synchronizing line card forwarding databases. A method includes receiving a data packet at a line card, generating a control packet for each of at least one other line card to enable an address update operation thereat, and propagating the at least one control packet toward the at least one other line card. The control packet, or packets, is generated in response to a determination to perform an address update operation for the received data packet. The address update process may be implemented as an ingress address update process or an egress address update process. This address update process performed in conjunction with an address aging process.

Claims (73)

1. A method for synchronizing a plurality of forwarding databases of a respective plurality of line cards, the line cards comprising a first line card and a second line card, the method comprising:

receiving a data packet at the first line card, wherein the data packet comprises a source address and is received via an ingress port, wherein the first line card comprises a forwarding database including a plurality of entries, wherein each of the entries includes respective entry information comprising a source address, an ingress port, and an aging timestamp;

in response to a determination that one of the entries of the forwarding database includes the source address of the received packet and the ingress port via which the packet is received, determining whether the aging timestamp of the one of the entries satisfies a refresh threshold;

when the aging timestamp of the one of the entries satisfies the refresh threshold, resetting the aging timestamp of the one of the entries and generating a control packet adapted to enable an address refresh operation to be performed for the source address on the second line card; and

propagating the control packet toward the second line card via a data forwarding path between the first line card and the second line card.

2. The method of claim 1 , wherein generating the control packet comprises generating a copy of the data packet and modifying the copy of the data packet to form thereby the control packet.

3. The method of claim 2 , wherein modifying the copy of the data packet comprises:

setting one or more bits of a data packet header of the copy of the data packet.

4. The method of claim 2 , wherein modifying the copy of the data packet comprises:

removing a payload of the copy of the data packet.

5. The method of claim 2 , wherein the data packet is a first data packet, the method further comprising:

receiving a second data packet at the first line card;

in response to a determination to perform an address update operation for the second data packet, generating a second control packet adapted to enable an address update operation to be performed on the second line card; and

propagating the second control packet toward the second line card via the data forwarding path between the first line card and the second line card.

6. The method of claim 5 , wherein determining whether to perform an address update operation for the second data packet comprises:

determining a source address of the second data packet;

determining whether an entry for the source address exists in the forwarding database of the first line card.

7. The method of claim 6 , further comprising:

when an entry for the source address does not exist in the forwarding database of the first line card, performing an address learning operation comprising adding a new entry for the source address to the forwarding database of the first line card, wherein the new entry for the source address comprises the source address, an associated ingress port on which the second data packet is received, and an aging timestamp.

8. The method of claim 6 , further comprising:

when an entry for the source address exists in the forwarding database of the first line card, determining whether an ingress port included in the entry for the source address matches an ingress port associated with the second data packet.

9. The method of claim 8 , further comprising:

when the ingress ports match, determining whether to perform an address refresh operation.

10. The method of claim 8 , further comprising:

when the egress ports do not match, performing an address relearning operation comprising:

updating an ingress port of the entry for the source address; and

resetting an aging timestamp of the entry for the source address.

11. The method of claim 1 , further comprising:

running an address aging process on the first line card, the address aging process comprising:

for each of the entries of the forwarding database of the first line card, determining whether an address aging timestamp associated with the entry satisfies an aging threshold;

for each of the entries of the forwarding database of the first line card for which the associated address aging timestamp does not satisfy the aging threshold, incrementing the address aging timestamp associated with the entry; and

for each of the plurality of entries of the forwarding database of the first line card for which the associated address aging timestamp satisfies the aging threshold, invalidating the entry.

12. An apparatus for synchronizing a plurality of forwarding databases of a respective plurality of line cards, the apparatus comprising:

a first line card, the first line card comprising:

a forwarding database configured to include a plurality of entries, wherein each of the entries is configured to include respective entry information comprising a source address, an ingress port, and an aging timestamp; and

a processor configured to:

receive a data packet, wherein the data packet comprises a source address and is received via an ingress port;

in response to a determination that one of the entries of the forwarding database includes the source address of the received packet and the ingress port via which the packet is received, determine whether the aging timestamp of the one of the entries satisfies a refresh threshold;

when the aging timestamp of the one of the entries satisfies the refresh threshold, reset the aging timestamp of the one of the entries and generate a control packet adapted to enable an address refresh operation to be performed for the source address on the second line card; and

propagate the control packet toward the second line card via a data forwarding path between the first line card and the second line card.

13. The apparatus of claim 12 , wherein, to generate the control packet, the processor is configured to:

generate a copy of the data packet and modify the copy of the data packet to form thereby the control packet.

14. The apparatus of claim 13 , wherein, to modify the copy of the data packet, the processor is configured to:

set one or more bits of a data packet header of the copy of the data packet.

15. The apparatus of claim 13 , wherein, to modify the copy of the data packet, the processor is configured to:

remove a payload of the copy of the data packet.

16. The apparatus of claim 12 , wherein the data packet is a first data packet, wherein the processor is configured to:

receive a second data packet;

in response to a determination to perform an address update operation for the second data packet, generate a second control packet adapted to enable an address update operation to be performed on the second line card; and

propagate the second control packet toward the second line card via the data forwarding path between the first line card and the second line card.

17. The apparatus of claim 16 , wherein, to determine whether to perform an address update operation for the second data packet, the processor is configured to:

determine a source address of the second data packet;

determine whether an entry for the source address exists in the forwarding database of the first line card.

18. The apparatus of claim 17 , wherein the processor is configured to:

when an entry for the source address does not exist in the forwarding database of the first line card, perform an address learning operation comprising adding a new entry for the source address to the forwarding database of the first line card, wherein the new entry for the source address comprises the source address, an associated ingress port on which the second data packet is received, and an aging timestamp.

19. The apparatus of claim 17 , wherein the processor is configured to:

when an entry for the source address exists in the forwarding database of the first line card, determine whether an ingress port included in the entry for the source address matches an ingress port associated with the second data packet.

20. The apparatus of claim 19 , wherein the processor is configured to:

when the ingress ports match, determine whether to perform an address refresh operation.

21. The apparatus of claim 19 , wherein the processor is configured to:

when the egress ports do not match, perform an address relearning operation comprising:

updating an ingress port of the entry for the source address; and

resetting an aging timestamp of the entry for the source address.

22. The apparatus of claim 12 , wherein the processor is configured to:

run an address aging process on the first line card, wherein to run the address aging process the processor is configured to:

for each of the entries of the forwarding database of the first line card, determine whether an address aging timestamp associated with the entry satisfies an aging threshold;

for each of the entries of the forwarding database of the first line card for which the associated address aging timestamp does not satisfy the aging threshold, increment the address aging timestamp associated with the entry; and

for each of the plurality of entries of the forwarding database of the first line card for which the associated address aging timestamp satisfies the aging threshold, invalidate the entry.

23. A non-transitory computer-readable storage medium storing instructions which, when executed by a computer, cause the computer to perform a method for synchronizing a plurality of forwarding databases of a respective plurality of line cards, the line cards comprising a first line card and a second line card, the method comprising:

receiving a data packet at the first line card, wherein the data packet comprises a source address and is received via an ingress port, wherein the first line card comprises a forwarding database including a plurality of entries, wherein each of the entries includes respective entry information comprising a source address, an ingress port, and an aging timestamp;

in response to a determination that one of the entries of the forwarding database includes the source address of the received packet and the ingress port via which the packet is received, determining whether the aging timestamp of the one of the entries satisfies a refresh threshold;

when the aging timestamp of the one of the entries satisfies the refresh threshold, resetting the aging timestamp of the one of the entries and generating a control packet adapted to enable an address refresh operation to be performed for the source address on the second line card; and

propagating the control packet toward the second line card via a data forwarding path between the first line card and the second line card.

Assignments (15)
PATENT SECURITY AGREEMENT Recorded Aug 6, 2024
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 068328/0674 →
RELEASE OF LIEN ON PATENTS Recorded Aug 5, 2024
From: BARINGS FINANCE LLC
To: RPX CORPORATION
Reel/Frame 068328/0278 →
PATENT SECURITY AGREEMENT Recorded Apr 22, 2023
From: RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 063429/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: PROVENANCE ASSET GROUP LLC
To: RPX CORPORATION
Reel/Frame 059352/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: NOKIA US HOLDINGS INC.
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058363/0723 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: CORTLAND CAPITAL MARKETS SERVICES LLC
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058983/0104 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 30, 2014
From: CREDIT SUISSE AG
To: ALCATEL LUCENT
Reel/Frame 033868/0001 →
SECURITY AGREEMENT Recorded Jan 30, 2013
From: ALCATEL LUCENT
To: CREDIT SUISSE AG
Reel/Frame 029821/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2012
From: ALCATEL-LUCENT USA INC.
To: ALCATEL LUCENT
Reel/Frame 028154/0081 →
MERGER Recorded Apr 19, 2012
From: LUCENT TECHNOLOGIES INC.
To: ALCATEL-LUCENT USA INC.
Reel/Frame 028070/0655 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2008
From: SCHLENK, RALPH
To: LUCENT TECHNOLOGIES INC.
Reel/Frame 021005/0637 →
Priority Claims (1)
EP 07251433 · Mar 30, 2007 · regional
Continuity (1)
Related Publication 20080240106A1 · Oct 2, 2008