Bit indexed explicit replication using multiprotocol label switching
First Claim
Patent Images
1. A method performed by a node, the method comprising:
- receiving, from a sender node, a packet comprising;
a multiprotocol label switching (MPLS) label, anda multicast forwarding entry comprising a packet bit mask having one or more bits set by the sender node, wherein the one or more bits correspond to at least one neighbor node of the node;
selecting an entry in a bit forwarding table based on determining that;
a first value of a first bit is stored in a bit string at a particular bit position; and
a second value of a second bit stored in the entry indicates that the entry is to be selected;
identifying, based on the bit forwarding table and the packet bit mask, the at least one neighbor node, whereinthe at least one neighbor node is identified byselecting a subset of entries from the bit forwarding table, wherein the subset corresponds to the MPLS label,determining a first set bit in the packet bit mask, andselecting an entry among the subset of entries that corresponds to the first set bit;
copying the packet to create a copied packet that comprises a copy of the packet bit mask;
modifying the copy of the packet bit mask in the copied packet by clearing one or more of the bits that were set by the sender node;
removing a topmost label of an MPLS label stack of the copied packet;
creating, based on the bit forwarding table, a new topmost label identifying the at least one neighbor node;
attaching to the copied packet the new topmost label; and
forwarding the copied packet to the at least one neighbor node.
1 Assignment
0 Petitions
Accused Products
Abstract
Various systems and methods for performing bit indexed explicit replication (BIER) using multiprotocol label switching (MPLS). For example, one method involves receiving a packet that includes a MPLS label. The packet also includes a multicast forwarding entry. The method also involves determining, based on the value of the MPLS label, whether to use the multicast forwarding entry to forward the packet. The method further includes forwarding the packet.
-
Citations
20 Claims
-
1. A method performed by a node, the method comprising:
-
receiving, from a sender node, a packet comprising; a multiprotocol label switching (MPLS) label, and a multicast forwarding entry comprising a packet bit mask having one or more bits set by the sender node, wherein the one or more bits correspond to at least one neighbor node of the node; selecting an entry in a bit forwarding table based on determining that; a first value of a first bit is stored in a bit string at a particular bit position; and a second value of a second bit stored in the entry indicates that the entry is to be selected; identifying, based on the bit forwarding table and the packet bit mask, the at least one neighbor node, wherein the at least one neighbor node is identified by selecting a subset of entries from the bit forwarding table, wherein the subset corresponds to the MPLS label, determining a first set bit in the packet bit mask, and selecting an entry among the subset of entries that corresponds to the first set bit; copying the packet to create a copied packet that comprises a copy of the packet bit mask; modifying the copy of the packet bit mask in the copied packet by clearing one or more of the bits that were set by the sender node; removing a topmost label of an MPLS label stack of the copied packet; creating, based on the bit forwarding table, a new topmost label identifying the at least one neighbor node; attaching to the copied packet the new topmost label; and forwarding the copied packet to the at least one neighbor node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
a first node configured to receive, from a sender node, a packet comprising; a multiprotocol label switching (MPLS) label, and a multicast forwarding entry comprising a packet bit mask having one or more bits set by the sender node, wherein the one or more bits correspond to at least one neighbor node of the first node; selecting an entry in a bit forwarding table based on determining that; a first value of a first bit is stored in the bit string at a particular bit position, and a second value of a second bit stored in the entry indicates that the entry is to be selected; identify, based on the bit forwarding table and the packet bit mask, the at least one neighbor nodes, wherein the at least one neighbor node is identified by selecting a subset of entries from the bit forwarding table, wherein the subset corresponds to the MPLS label, determining a first set bit in the packet bit mask, and selecting an entry among the subset of entries that corresponds to the first set bit; copy the packet to create a copied packet that comprises a copy of the packet bit mask; modify the copy of the packet bit mask in the copied packet by clearing one or more of the bits that were set by the sender node; remove a topmost label of an MPLS label stack of the copied packet; creating, based on the bit forwarding table, a new topmost label identifying the at least one neighbor node; attach to the copied packet the new topmost label; and forward the packet to the at least one neighbor node. - View Dependent Claims (12, 13, 14, 15)
-
16. A non-transitory computer readable storage medium comprising instructions that are executable by one or more processors to perform operations comprising:
-
receiving, by a node, a packet comprising; a multiprotocol label switching (MPLS) label, and a multicast forwarding entry comprising a packet bit mask having one or more bits set by a sender node, wherein the one or more bits correspond to at least one neighbor node of the node; selecting an entry in a bit forwarding table based on determining that; a first value of a first bit is stored in the bit string at a particular bit position; and a second value of a second bit stored in the entry indicates that the entry is to be selected; identifying, based on the bit forwarding table and the packet bit mask, the at least one neighbor node, wherein the at least one neighbor node is identified by selecting a subset of entries from the bit forwarding table, wherein the subset corresponds to the MPLS label, determining a first set bit in the packet bit mask, and selecting an entry among the subset of entries that corresponds to the first set bit; copying the packet to create a copied packet that comprises a copy of the packet bit mask; modifying the copy of the packet bit mask in the copied packet by clearing one or more of the bits that were set by the sender node; removing a topmost label of an MPLS label stack of the copied packet; creating, based on the bit forwarding table, a new topmost label identifying the one or more neighbor nodes; attaching to the copied packet the new topmost label; and forwarding the copied packet to the at least one neighbor node. - View Dependent Claims (17, 18, 19, 20)
-
Specification