LOAD SHARING OF MPLS PSEUDO-WIRES
First Claim
1. A method, in a first switch at a first edge of a multiprotocol label switching (MPLS) network, to establish a virtual private local area network service (VPLS) pseudo-wire over a plurality of label switched paths (LSPs) of the MPLS network that couple the first switch to a second switch at a second edge of the MPLS network, and to load balance data to be transmitted across the VPLS pseudo-wire over the plurality of LSPs, the method comprising:
- maintaining at a first table an indication that the VPLS pseudo-wire traffic is to be transmitted over the plurality of LSPs and further identifying in the first table a pointer to a second table maintaining a plurality of LSP entries corresponding to the respective plurality of LSPs,identifying at the second table a pointer to a third table maintaining a plurality of entries, wherein each of the plurality of entries identifies a next hop index;
receiving a packet to be transmitted over the VPLS pseudo-wire;
computing a hash value on at least one or more portions of the received packet;
selecting one of the plurality of entries in the third table according to the computed hash value; and
retrieving the next hop index from the selected one of the plurality of entries in the third table.
7 Assignments
0 Petitions
Accused Products
Abstract
A first switch at a first edge of an MPLS network establishes a VPLS pseudo-wire over a plurality of label switched paths (LSPs) of the MPLS network that couple the first switch to a second switch at a second edge of the MPLS network. The first switch further load balances data to be transmitted across the VPLS pseudo-wire over the plurality of LSPs. The first switch accomplishes this by maintaining at a first table an indication that the VPLS pseudo-wire traffic is to be transmitted over the plurality of LSPs and further identifying in the first table a pointer to a second table maintaining a plurality of LSP entries corresponding to the respective plurality of LSPs. The first switch then identifies at the second table a pointer to a third table maintaining a plurality of entries, wherein each of the plurality of entries identifies a next hop index. The first switch receives a packet to be transmitted over the VPLS pseudo-wire, computes a hash value on at least one or more portions of the received packet, selects one of the plurality of entries in the third table according to the computed hash value, retrieves the next hop index from the selected one of the plurality of entries in the third table, selects an entry in a fourth table according to the retrieved next hop index, and retrieves from the selected entry in the fourth table an egress port number associated with an egress port to which the received packet is to be directed for transmission across the VPLS pseudo-wire.
18 Citations
32 Claims
-
1. A method, in a first switch at a first edge of a multiprotocol label switching (MPLS) network, to establish a virtual private local area network service (VPLS) pseudo-wire over a plurality of label switched paths (LSPs) of the MPLS network that couple the first switch to a second switch at a second edge of the MPLS network, and to load balance data to be transmitted across the VPLS pseudo-wire over the plurality of LSPs, the method comprising:
-
maintaining at a first table an indication that the VPLS pseudo-wire traffic is to be transmitted over the plurality of LSPs and further identifying in the first table a pointer to a second table maintaining a plurality of LSP entries corresponding to the respective plurality of LSPs, identifying at the second table a pointer to a third table maintaining a plurality of entries, wherein each of the plurality of entries identifies a next hop index; receiving a packet to be transmitted over the VPLS pseudo-wire; computing a hash value on at least one or more portions of the received packet; selecting one of the plurality of entries in the third table according to the computed hash value; and retrieving the next hop index from the selected one of the plurality of entries in the third table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-readable, non-transitory, storage medium, comprising computer instructions, that when executed, cause a first switch at a first edge of a multiprotocol label switching (MPLS) network, to establish a virtual private local area network service (VPLS) pseudo-wire over a plurality of label switched paths (LSPs) of the MPLS network that couple the first switch to a second switch at a second edge of the MPLS network, and to load balance data to be transmitted across the VPLS pseudo-wire over the plurality of LSPs, according to a method comprising:
-
maintaining at a first table an indication that the VPLS pseudo-wire traffic is to be transmitted over the plurality of LSPs and further identifying in the first table a pointer to a second table maintaining a plurality of LSP entries corresponding to the respective plurality of LSPs, identifying at the second table a pointer to a third table maintaining a plurality of entries, wherein each of the plurality of entries identifies a next hop index; receiving a packet to be transmitted over the VPLS pseudo-wire; computing a hash value on at least one or more portions of the received packet; selecting one of the plurality of entries in the third table according to the computed hash value; and retrieving the next hop index from the selected one of the plurality of entries in the third table. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A switch at a first edge of a multiprotocol label switching (MPLS) network, to establish a virtual private local area network service (VPLS) pseudo-wire over a plurality of label switched paths (LSPs) of the MPLS network that couple the switch to a second switch at a second edge of the MPLS network, and to load balance data to be transmitted across the VPLS pseudo-wire over the plurality of LSPs, the switch comprising:
-
a first table to maintain an indication that the VPLS pseudo-wire traffic is to be transmitted over the plurality of LSPs and further to identify a pointer to a second table to maintain a plurality of LSP entries corresponding to the respective plurality of LSPs, the second table to identify a pointer to a third table to maintain a plurality of entries, wherein each of the plurality of entries identifies a next hop index; an input port to receive a packet to be transmitted over the VPLS pseudo-wire; a hash engine to compute a hash value on at least one or more portions of the received packet; and a first selection means to select one of the plurality of entries in the third table according to the computed hash value. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32)
-
Specification