US 12,231,324 B2
Optimized programming of forwarding data in network device hardware
Sriram Sellappa, Santa Clara, CA (US); Mayukh Saubhasik, Richmond (CA); and Imtiyaz Mohammad, Bangalore (IN)
Assigned to ARISTA NETWORKS, INC., Santa Clara, CA (US)
Filed by Arista Networks, Inc., Santa Clara, CA (US)
Filed on May 11, 2023, as Appl. No. 18/316,168.
Application 18/316,168 is a division of application No. 17/563,969, filed on Dec. 28, 2021, granted, now 11,689,448.
Application 17/563,969 is a division of application No. 16/533,558, filed on Aug. 6, 2019, granted, now 11,252,081, issued on Feb. 15, 2022.
Prior Publication US 2023/0388221 A1, Nov. 30, 2023
Int. Cl. H04L 45/02 (2022.01); H04L 45/24 (2022.01)
CPC H04L 45/02 (2013.01) [H04L 45/24 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
receiving, by a network device, information associated with a network topology of a network comprising a plurality of network devices, the network topology comprising a first tunnel and a second tunnel, the first tunnel associated with a first plurality of multipath routes, the second tunnel associated with a second plurality of multipath routes;
based on the received information associated with the network topology of the network, determining that:
the first tunnel is configured to run through the network device and configured to encapsulate first packets that traverse the first tunnel with a first label, wherein network devices, in response to receiving first packets encapsulated with the first label, use the first label to determine a next hop for the received first packets and forward the first packets to the determined next hop encapsulated with the first label;
the second tunnel is configured to run through the network device and configured to encapsulate second packets that traverse the second tunnel with a second label, wherein network devices, in response to receiving second packets encapsulated with the second label, use the second label to determine a next hop for the received second packets and forward the second packets to the determined next hop encapsulated with the second label; and
the first plurality of multipath routes and the second plurality of multipath routes share a plurality of possible next hops from the network device; and
based on the determination, programming a set of hardware resources of the network device to:
store a set of next hop operations for each possible next hop in the plurality of possible next hops,
wherein a first incoming packet that is encapsulated with the first label is forwarded through the first tunnel to a first next hop using next hop operations selected from the set of next hop operations based on the first label, wherein the forwarding occurs without replacing the encapsulation data of the first packet, and
wherein a second incoming packet that is encapsulated with the second label is forwarded through the second tunnel to a second next hop using next hop operations selected from the same stored set of next hop operations based on the second label, wherein the forwarding occurs without replacing the encapsulation data of the second packet.