IP Library Granted Patent US 8,625,466
Granted Patent B2
US 8,625,466 · App. 12/777,832 · Granted Jan 7, 2014

Multi-card network device appearing as single entity in spanning tree network

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,625,466
App. No.
12/777,832
Granted
Jan 7, 2014
Kind
B2
Abstract

Techniques are disclosed that may allow a network device comprising multiple line cards that are each executing a spanning tree algorithm to appear as a single spanning tree protocol entity to other network devices within a bridged local area network (LAN). In one example, a method includes determining, via a first processor on a first card of a network device, a first superior local port on the first card, transmitting, from the first card to a second card of the network device, a data unit specifying the determined first superior local port, and determining, via a second processor on the second card, a superior port on the network device among the first superior local port and a second plurality of ports on the second card based on a second plurality of BPDUs received via the second plurality of ports.

Claims (110)

1. A method comprising:

determining, via a first processor executing a first instance of a spanning tree protocol on a first card of a network device, a first superior local port among a first plurality of ports on the first card based on a first plurality of bridge protocol data units (BPDUs) received via the first plurality of ports;

transmitting, from the first card to a second card of the network device via at least one of a data plane and a communications channel of the network device, a data unit specifying the determined first superior local port among the first plurality of ports;

determining, via a second processor executing a second instance of the spanning tree protocol on the second card, a second superior local port among a second plurality of ports on the second card based on a second plurality of BPDUs received via the second plurality of ports; and

determining, via the second processor, a superior port on the network device based on at least the determined first superior local port and the determined second superior local port.

2. The method of claim 1 , wherein the determined superior port on the network device is the determined first superior local port.

3. The method of claim 1 , wherein the transmitted data unit is a first data unit, the method further comprising:

determining, via a third processor executing a third instance of the spanning tree protocol on a third card of the network device, a third superior local port among a third plurality of ports on the third card based on a third plurality of BPDUs received via the third plurality of ports; and

transmitting, from the third card to the second card, a second data unit specifying the determined third superior local port among the third plurality of ports,

wherein determining, via the second processor the superior port on the network device based on at least the determined first superior local port and the determined second superior local port comprises:

comparing, via the second processor, the determined first superior local port and the determined third superior local port to determine a superior remote port among the first card and the third card; and

determining, via the second processor the superior port on the network device among the first card, the second card, and the third card based on the determined superior remote port and the determined second superior local port.

4. The method of claim 3 , wherein comparing, via the second processor, the determined first superior local port and the determined third superior local port to determine the superior remote port among the first card and the third card comprises:

comparing a first priority vector to a second priority vector to determine the superior remote port among the first card and the third card.

5. The method of claim 1 , further comprising:

assigning a first range of port identifiers to the first plurality of ports on the first card; and

assigning a second range of port identifiers to the second plurality of ports on the second card,

wherein the first range of port identifiers is different than the second range of port identifiers.

6. The method of claim 1 , further comprising:

assigning a device identifier to the first card; and

assigning the device identifier to the second card.

7. The method of claim 6 , wherein the network device is a bridge, and wherein the device identifier is a bridge identifier.

8. The method of claim 1 , further comprising:

defining a pseudo-port on the second card, wherein the pseudo-port does not physically reside on the second card; and

presenting, via the pseudo-port, the data unit specifying the determined first superior local port among the first plurality of ports to the second instance of the spanning tree algorithm.

9. The method of claim 1 , wherein the network device resides within an Ethernet network.

10. A network device comprising:

a first processor, executing a first instance of a spanning tree protocol on a first card of the network device, configured to:

determine a first superior local port among a first plurality of ports on the first card based on a first plurality of bridge protocol data units (BPDUs) received via the first plurality of ports; and

transmit, from the first card to a second card of the network device via at least one of a data plane and a communications channel of the network device, a data unit specifying the determined first superior local port among the first plurality of ports; and

a second processor, executing a second instance of the spanning tree protocol on the second card of the network device, configured to:

determine a second superior local port among a second plurality of ports on the second card based on a second plurality of BPDUs received via the second plurality of ports; and

determine a superior port on the network device based on at least the determined first superior local port and the determined second superior local port.

11. The network device of claim 10 , wherein the determined superior port on the network device is the determined first superior local port.

12. The network device of claim 10 , wherein the transmitted data unit is a first data unit, the device further comprising:

a third processor, executing a third instance of the spanning tree protocol on a third card of the network device, configured to:

determine a third superior local port among a third plurality of ports on the third card based on a third plurality of BPDUs received via the third plurality of ports; and

transmit, from the third card to the second card, a second data unit specifying the determined third superior local port among the third plurality of ports,

wherein the second processor configured to determine the superior port on the network device based on at least the determined first superior local port and the determined second superior port is further configured to:

compare the determined first superior local port and the determined third superior local port to determine a superior remote port among the first card and the third card; and

determine the superior port on the network device among the first card, the second card, and the third card based on the determined superior remote port and the determined second superior The local port.

13. The network device of claim 12 , wherein the second processor configured to compare the determined first superior local port and the determined third superior local port to determine the superior remote port among the first card and the third card is configured to:

compare a first priority vector to a second priority vector to determine the superior remote port among the first card and the third card.

14. The network device of claim 10 ,

wherein the first plurality of ports on the first card comprises a first range of port identifiers,

wherein the second plurality of ports on the second card comprises a second range of port identifiers, and

wherein the first range of port identifiers is different than the second range of port identifiers.

15. The network device of claim 10 ,

wherein the first card comprises a device identifier, and

wherein the second card comprises the device identifier.

16. The network device of claim 15 , wherein the network device is a bridge, and wherein the device identifier is a bridge identifier.

17. The network device of claim 10 , further comprising:

a pseudo-port defined on the second card, wherein the pseudo-port does not physically reside on the second card,

wherein the data unit specifying the determined first superior local port among the first plurality of ports is presented, via the pseudo-port, to the second instance of the spanning tree algorithm.

18. The network device of claim 10 , wherein the network device resides within an Ethernet network.

19. A non-transitory computer-readable storage medium comprising instructions that, when executed, cause:

a first processor to:

determine, by executing a first instance of a spanning tree protocol on a first card of a network device, a first superior local port among a first plurality of ports on the first card based on a first plurality of bridge protocol data units (BPDUs) received via the first plurality of ports; and

transmit, from the first card to a second card of the network device via at least one of a data plane and a communications channel of the network device, a data unit specifying the determined first superior local port among the first plurality of ports; and

a second processor to:

determine, by executing a second instance of the spanning tree protocol on the second card, a second superior local port among a second plurality of ports on the second card based on a second plurality of BPDUs received via the second plurality of ports; and

determine, by executing the second instance of the spanning tree protocol on the second card, a superior port on the network device based on at least the determined first superior local port and the determined second superior local port.

20. The non-transitory computer-readable storage medium of claim 19 , wherein the determined superior port on the network device is the first superior local port.

21. The non-transitory computer-readable storage medium of claim 19 , wherein the transmitted data unit is a first data unit, the computer-readable storage medium further comprising instructions that, when executed, cause:

a third processor to:

determine, by executing a third instance of the spanning tree protocol on a third card of the network device, a third superior local port among a third plurality of ports on the third card based on a third plurality of BPDUs received via the third plurality of ports; and

transmit, from the third card to the second card, a second data unit specifying the determined third superior local port among the third plurality of ports,

wherein the instructions that, when executed by the second processor to determine, by executing the second instance of the spanning tree protocol on the second card, the superior port on the network device based on at least the determined first superior local port and the determined second superior local port comprise further instructions that, when executed, cause the second processor to:

compare the determined first superior local port and the determined third superior local port to determine a superior remote port among the first card and the third card; and

determine, by executing the second instance of the spanning tree protocol on the second card, the superior port on the network device among the first card, the second card, and the third card based on the determined superior remote port and the determined second superior local port.

22. The non-transitory computer-readable storage medium of claim 21 , wherein the instructions that, when executed, cause the second processor to compare the determined first superior local port and the determined third superior local port to determine the superior remote port among the first card and the third card comprise further instructions that, when executed, cause the second processor to:

compare a first priority vector to a second priority vector to determine the superior remote port among the first card and the third card.

23. The non-transitory computer-readable storage medium of claim 19 ,

wherein the first plurality of ports on the first card comprises a first range of port identifiers,

wherein the second plurality of ports on the second card comprises a second range of port identifiers, and

wherein the first range of port identifiers is different than the second range of port identifiers.

24. The non-transitory computer-readable storage medium of claim 19 ,

wherein the first card comprises a device identifier, and

wherein the second card comprises the device identifier.

25. The non-transitory computer-readable storage medium of claim 24 , wherein the network device is a bridge, and wherein the device identifier is a bridge identifier.

26. The non-transitory computer-readable storage medium of claim 19 , further comprising instructions that, when executed, cause the second processor to:

present, via a pseudo-port on the second card, the data unit specifying the determined first superior local port among the first plurality of ports to the second instance of the spanning tree algorithm,

wherein the pseudo-port does not physically reside on the second card.

27. The non-transitory computer-readable storage medium of claim 19 , wherein the network device resides within an Ethernet network.

28. A network device comprising:

means for determining a first superior local port among a first plurality of ports on a first card of a network device based on a first plurality of bridge protocol data units (BPDUs) received via the first plurality of ports;

means for transmitting, from the first card to a second card of the network device via at least one of a data plane and a communications channel of the network device, a data unit specifying the determined first superior local port among the first plurality of ports;

means for determining a second superior local port among a second plurality of ports on the second card based on a second plurality of BPDUs received via the second plurality of ports; and

means for determining a superior port on the network device based on at least the determined first superior local port and the determined second superior local port.

29. The network device of claim 28 , wherein the determined superior port on the network device is the first superior local port.

30. The network device of claim 28 , wherein the transmitted data unit is a first data unit, the network device further comprising:

means for determining a third superior local port among a third plurality of ports on a third card of the network device based on a third plurality of BPDUs received via the third plurality of ports; and

means for transmitting, from the third card to the second card, a second data unit specifying the determined third superior local port among the third plurality of ports,

wherein the means for determining the superior port on the network device based on at least the determined first superior local port and the determined second superior local port comprises:

means for comparing the determined first superior local port and the determined third superior local port to determine a superior remote port among the first card and the third card; and

means for determining the superior port on the network device among the first card, the second card, and the third card based on the determined superior remote port and the determined second superior local port.

31. The network device of claim 30 , wherein the means for comparing comprises:

means for comparing a first priority vector to a second priority vector to determine the superior remote port among the first card and the third card.

32. The network device of claim 28 , further comprising:

means for assigning a first range of port identifiers to the first plurality of ports on the first card; and

means for assigning a second range of port identifiers to the second plurality of ports on the second card,

wherein the first range of port identifiers is different than the second range of port identifiers.

33. The network device of claim 28 , further comprising:

means for assigning a device identifier to the first card; and

means for assigning the device identifier to the second card.

34. The network device of claim 33 , wherein the network device is a bridge, and wherein the device identifier is a bridge identifier.

35. The network device of claim 28 , further comprising:

means for defining a pseudo-port on the second card, wherein the pseudo-port does not physically reside on the second card; and

means for presenting, via the pseudo-port, the data unit specifying the determined first superior local port among the first plurality of ports to the second instance of the spanning tree algorithm.

36. The network device of claim 28 , wherein the network device resides within an Ethernet network.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded May 11, 2022
From: BANK OF AMERICA, N.A.
To: CALIX, INC.
Reel/Frame 059929/0453 →
RELEASE OF SECURITY INTEREST Recorded Apr 18, 2022
From: BANK OF AMERICA, N.A.
To: CALIX, INC.
Reel/Frame 059802/0579 →
SECURITY INTEREST Recorded Jan 28, 2020
From: CALIX, INC.
To: BANK OF AMERICA, N.A., AS AGENT
Reel/Frame 051719/0348 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Jan 27, 2020
From: SILICON VALLEY BANK
To: CALIX, INC.
Reel/Frame 051714/0883 →
RELEASE OF SECURITY INTEREST Recorded Aug 9, 2017
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT FOR LENDERS
To: CALIX, INC.
Reel/Frame 043494/0549 →
SECURITY INTEREST Recorded Aug 9, 2017
From: CALIX, INC.
To: SILICON VALLEY BANK
Reel/Frame 043495/0424 →
SECURITY AGREEMENT Recorded Jul 29, 2013
From: CALIX, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 030899/0597 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2010
From: MILLER, RONALD D.
To: CALIX, INC.
Reel/Frame 024612/0078 →