US 11,705,983 B2
Efficient BIER forwarding over varying BSL domain using header stitching
Mankamana Prasad Mishra, San Jose, CA (US); Nagendra Kumar Nainar, Morrisville, NC (US); Carlos M. Pignataro, Cary, NC (US); and IJsbrand Wijnands, Leuven (BE)
Assigned to CISCO TECHNOLOGY, INC., San Jose, CA (US)
Filed by Cisco Technology Inc., San Jose, CA (US)
Filed on Mar. 22, 2021, as Appl. No. 17/208,293.
Prior Publication US 2022/0303046 A1, Sep. 22, 2022
Int. Cl. H04L 45/745 (2022.01); H04L 1/00 (2006.01)
CPC H04L 1/0007 (2013.01) [H04L 45/745 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A system, comprising:
one or more processors; and
one or more computer-readable non-transitory storage media comprising instructions that, when executed by the one or more processors, cause one or more components of the system to perform operations comprising:
receiving, at a border node, a packet from an ingress router, the packet comprising a Bit Index Explicit Replication (BIER) header having a BIER bit string, the BIER bit string corresponding to a first bit string length;
reading an incoming label of the packet, the incoming label associated with packet instructions to split the BIER header into a plurality of smaller headers associated with a plurality of smaller bit strings, each smaller bit string of the plurality of smaller bit strings corresponding to a second bit string length;
generating a set of split bit masks, wherein the operation of generating the set of split bit masks comprises:
assigning each split bit mask of the set of split bit masks a consecutive numerical index starting from zero; and
for each split bit mask:
setting a set of consecutive bits to one (1), the set of consecutive bits having a bit length corresponding to the second bit string length; and
setting all remaining bits to zero (0);
performing a separate bitwise AND operation on each split bit mask of the set of split bit masks and the BIER bit string to generate the plurality of smaller bit strings, each smaller bit string of the plurality of smaller bit strings copied to a corresponding smaller header of the plurality of smaller headers; and
performing a lookup for each of the plurality of smaller headers on a respective forwarding table to determine one or more egress routers to which to transmit the packet.