IP Library › Granted Patent US 12,621,247
Granted Patent B2
US 12,621,247 · App. 18/326,891 · Granted May 5, 2026

Determining when routes may be advertised by a network device in the context of asynchronous hardware platform processing code responses

Inventors: Arseniy Kouzmenkov (Santa Clara, CA); Trevor Siemens (Santa Clara, CA); Mayukh Saubhasik (Santa Clara, CA); Vahab Akbarzadeh (Santa Clara, CA)
Assignee: Arista Networks, Inc.
H04L47/34H04L45/04
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 12,621,247
App. No.
18/326,891
Granted
May 5, 2026
Kind
B2
Abstract

Some disclosed examples involve receiving information regarding a forwarding information base (FIB) sequence number, placing the FIB sequence number into a FIB sequence number queue and assigning the FIB sequence number a first state. Some examples involve receiving a route processing request including an indication of a route and a platform sequence number associated with the FIB sequence number, assigning the FIB sequence number a second state and placing the route processing request into a route-associated queue corresponding to the route. Some examples involve receiving a route processing response corresponding to the route and corresponding to one or more route processing requests, including the route processing request, removing the route processing request from the route-associated queue, assigning the FIB sequence number a third state and publishing the FIB sequence number.

Claims (57)

1 . A method, comprising:

receiving information regarding a forwarding information base (FIB) sequence number;

placing the FIB sequence number into a FIB sequence number queue;

assigning the FIB sequence number a new state;

receiving a route processing request including an indication of a route and a platform sequence number associated with the FIB sequence number;

assigning the FIB sequence number a sent-to-platform state;

placing the route processing request into a route-associated queue corresponding to the route;

receiving a route processing response corresponding to the route and corresponding to one or more processing requests, including at least the route processing request;

removing the route processing request from the route-associated queue;

assigning the FIB sequence number a processed state; and

publishing the FIB sequence number.

2 . The method of claim 1 , further comprising publishing all FIB sequence numbers at a head of the FIB sequence number queue having the processed state.

3 . The method of claim 1 , further comprising removing the FIB sequence number from the FIB sequence number queue, clearing a state of the FIB sequence number, or both removing the FIB sequence number from the FIB sequence number queue and clearing the state of the FIB sequence number.

4 . The method of claim 1 , further comprising:

receiving an indication that a route has changed from a first FIB sequence number to a second FIB sequence number, the first FIB sequence number having the new state;

assigning the second FIB sequence number the new state; and

changing a state of the first FIB sequence number from the new state to an obsoleted state.

5 . The method of claim 4 , further comprising ceasing processing of the FIB sequence number queue responsive to determining that a FIB sequence number at a head of the FIB sequence number queue is not in the obsoleted state or the processed state.

6 . The method of claim 1 , wherein the route processing request indicates that the route is requested to be processed by a hardware platform.

7 . The method of claim 1 , further comprising ceasing processing of the FIB sequence number queue responsive to determining that the FIB sequence number queue is empty.

8 . The method of claim 1 , wherein the method is performed by a sequence number processing module implemented by a network device control system.

9 . The method of claim 8 , wherein publishing the FIB sequence number involves sending the FIB sequence number to one or more other modules implemented by the network device control system.

10 . The method of claim 8 , wherein the network device control system is a component of a network device configured for exchanging routing information with one or more neighboring network devices.

11 . A network device, comprising:

an interface system;

a memory system; and

a control system configured to:

receive, via the interface system, information regarding a forwarding information base (FIB) sequence number;

place the FIB sequence number into a FIB sequence number queue implemented in the memory system;

assign the FIB sequence number a new state;

receive a route processing request including an indication of a route and a platform sequence number associated with the FIB sequence number;

assign the FIB sequence number a sent-to-platform state;

place the route processing request into a route-associated queue corresponding to the route, the route-associated queue being implemented in the memory system;

receive a route processing response corresponding to the route and corresponding to one or more processing requests, including at least the route processing request;

remove the route processing request from the route-associated queue;

assign the FIB sequence number a processed state; and

publish the FIB sequence number.

12 . The network device of claim 11 , wherein the control system is further configured to publish all FIB sequence numbers in the FIB sequence number queue having the processed state.

13 . The network device of claim 11 , wherein the control system is further configured to remove the FIB sequence number from the FIB sequence number queue, to clear a state of the FIB sequence number, or to both remove the FIB sequence number from the FIB sequence number queue and clear the state of the FIB sequence number.

14 . The network device of claim 11 , wherein the control system is further configured to:

receive an indication that a route has changed from a first FIB sequence number to a second FIB sequence number, the first FIB sequence number having the new state;

assign the second FIB sequence number the new state; and

change a state of the first FIB sequence number from the new state to an obsoleted state.

15 . The network device of claim 14 , wherein the control system is further configured to cease processing of the FIB sequence number queue responsive to determining that a FIB sequence number at a head of the FIB sequence number queue is not in the obsoleted state or the processed state.

16 . The network device of claim 11 , wherein the control system is further configured to exchange routing information with one or more neighboring network devices.

17 . One or more non-transitory media having instructions for controlling a network device to perform a method stored thereon, the method comprising:

receiving information regarding a forwarding information base (FIB) sequence number;

placing the FIB sequence number into a FIB sequence number queue;

assigning the FIB sequence number a new state;

receiving a route processing request including an indication of a route and a platform sequence number associated with the FIB sequence number;

assigning the FIB sequence number a sent-to-platform state;

placing the route processing request into a route-associated queue corresponding to the route;

receiving a route processing response corresponding to the route and corresponding to one or more processing requests, including at least the route processing request;

removing the route processing request from the route-associated queue;

assigning the FIB sequence number a processed state; and

publishing the FIB sequence number.

18 . The one or more non-transitory media of claim 17 , wherein the method further comprises publishing all FIB sequence numbers in the FIB sequence number queue having the processed state.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2023
From: KOUZMENKOV, ARSENIY; SIEMENS, TREVOR; SAUBHASIK, MAYUKH; AKBARZADEH, VAHAB
To: ARISTA NETWORKS, INC.
Reel/Frame 063933/0173 →
Continuity (1)
Related Publication 20240406115A1 · Dec 5, 2024
References Cited (24)
US 9294304B2 · Sindhu · 2016 [cited by examiner]
US 9479457B2 · Sindhu · 2016 [cited by examiner]
US 9703743B2 · Sindhu · 2017 [cited by examiner]
US 10498529B1 · Hashmi · 2019 [cited by examiner]
US 11398927B1 · Malhotra · 2022 [cited by examiner]
US 11924103B2 · Zhuang · 2024 [cited by examiner]
US 12244495B2 · Andhe · 2025 [cited by examiner]
US 20060092857A1 · Ansari · 2006 [cited by examiner]
US 20070192451A1 · Tran · 2007 [cited by examiner]
US 20080126722A1 · Korlepara · 2008 [cited by examiner]
US 20120017022A1 · Corrigan · 2012 [cited by examiner]
US 20160080246A1 · Yong · 2016 [cited by examiner]
US 20160330102A1 · Fenner · 2016 [cited by examiner]
US 20170295099A1 · Murphy · 2017 [cited by examiner]
US 20170302563A1 · Wang · 2017 [cited by examiner]
US 20210226910A1 · Ranpise · 2021 [cited by examiner]
US 20210297350A1 · Vegesna · 2021 [cited by examiner]
US 20210297351A1 · Vegesna · 2021 [cited by examiner]
US 20220045986A1 · Lo · 2022 [cited by examiner]
US 20220345300A1 · Inamdar · 2022 [cited by examiner]
US 20230132016A1 · Lo · 2023 [cited by examiner]
US 20230344751A1 · Hao · 2023 [cited by examiner]
US 20240406115A1 · Kouzmenkov · 2024 [cited by examiner]
Yaonan Liang, BGP per AFI/SAFI Update Wait-for-Covergence, EOS 4.22.1F TOI, Oct. 11, 2019, pp. 1-2, Arista Networks, Inc. [cited by applicant]