-
公开(公告)号:US10715440B1
公开(公告)日:2020-07-14
申请号:US16026005
申请日:2018-07-02
Applicant: Juniper Networks, Inc.
Inventor: Jaihari V. Loganathan , Sanjay Khanna
IPC: H04L12/745 , H04L12/46 , G01D21/00 , H04L12/751 , H04L12/753 , H04L12/801
Abstract: A system for resolving next hops in a distributed manner includes a plurality of next hop resolution subsystems, each of the plurality of next hop resolution subsystems including (1) a next hop registry, (2) a partial-view tree storing a local instance of next hop resolution information, and (3) a full-view tree storing a local instance of next hop resolution information. The system (1) receives a request to resolve a next hop; (2) obtains a plurality of partial results using the partial-view trees of the next hop resolution subsystems; (3) select a best one of the plurality of partial results; and 4) replies to the request using the selected best one of the plurality of partial results. The full-view trees are updated such that their contents tend to converge.
-
公开(公告)号:US11909632B2
公开(公告)日:2024-02-20
申请号:US18054831
申请日:2022-11-11
Applicant: Juniper Networks, Inc.
Inventor: Kevin Wang , Jaihari V. Loganathan , Jeffrey Haas , Sanjay Khanna
CPC classification number: H04L45/50 , H04L45/22 , H04L45/24 , H04L45/42 , H04L45/586 , H04L47/781
Abstract: In general, various aspects of the techniques are described in this disclosure for distributed label assignment for labeled routes. In one example, a method includes obtaining, by a first thread of a plurality of execution threads for at least one routing protocol process executing on processing circuitry of a network device, an allocation of first labels drawn from a label space for a network service; adding, by the first thread, the first labels to a first local label pool for the first thread; generating, by the first thread, after obtaining the allocation of the first labels, a labeled route comprising a route for the network service and a label assigned by the first thread from the first local label pool; and outputting, by the network device, the labeled route.
-
公开(公告)号:US20230077138A1
公开(公告)日:2023-03-09
申请号:US18054831
申请日:2022-11-11
Applicant: Juniper Networks, Inc.
Inventor: Kevin Wang , Jaihari V. Loganathan , Jeffrey Haas , Sanjay Khanna
Abstract: In general, various aspects of the techniques are described in this disclosure for distributed label assignment for labeled routes. In one example, a method includes obtaining, by a first thread of a plurality of execution threads for at least one routing protocol process executing on processing circuitry of a network device, an allocation of first labels drawn from a label space for a network service; adding, by the first thread, the first labels to a first local label pool for the first thread; generating, by the first thread, after obtaining the allocation of the first labels, a labeled route comprising a route for the network service and a label assigned by the first thread from the first local label pool; and outputting, by the network device, the labeled route.
-
公开(公告)号:US11502946B2
公开(公告)日:2022-11-15
申请号:US16814664
申请日:2020-03-10
Applicant: Juniper Networks, Inc.
Inventor: Kevin Wang , Jaihari V. Loganathan , Jeffrey Haas , Sanjay Khanna
Abstract: In general, various aspects of the techniques are described in this disclosure for distributed label assignment for labeled routes. In one example, a method includes obtaining, by a first thread of a plurality of execution threads for at least one routing protocol process executing on processing circuitry of a network device, an allocation of first labels drawn from a label space for a network service; adding, by the first thread, the first labels to a first local label pool for the first thread; generating, by the first thread, after obtaining the allocation of the first labels, a labeled route comprising a route for the network service and a label assigned by the first thread from the first local label pool; and outputting, by the network device, the labeled route.
-
公开(公告)号:US11496559B1
公开(公告)日:2022-11-08
申请号:US16900762
申请日:2020-06-12
Applicant: Juniper Networks, Inc.
Inventor: Ashutosh K. Grewal , Jaihari V. Loganathan , Kevin Wang , Sanjay Khanna
IPC: H04L67/104 , H04L47/625 , H04L43/16 , H04L45/02 , H04L47/30 , H04L47/62
Abstract: A network device, associated with peer network devices, may receive policy information for a protocol; and compute a first update message based on information regarding a route associated with the policy information. The network device may determine that an upper utilization threshold for one or more of peer queues, associated with the peer network devices, is not satisfied; and write the first update message to the peer queues based on determining that the upper utilization threshold is not satisfied. The network device may compute a second update message based on the information regarding the route; determine that the upper utilization threshold for one or more of the peer queues is satisfied; and pause writing the second update message to the peer queues based on the upper utilization threshold being satisfied. The network device may permit the peer network devices to obtain data from corresponding ones of the peer queues.
-
6.
公开(公告)号:US11561823B1
公开(公告)日:2023-01-24
申请号:US15930171
申请日:2020-05-12
Applicant: Juniper Networks, Inc.
Inventor: Jaihari V. Loganathan , Ashutosh K. Grewal , Sanjay Khanna
Abstract: In general, the disclosure describes techniques for lockless management of immutable objects by multi-threaded processes. A device comprising a processor may implement the techniques, where the processor execute a multi-threaded process including a producer thread and a consumer thread. The producer thread may instantiate an immutable object, and provide, to the consumer thread, a reference to the immutable object. The producer thread may also increment a reference counter to indicate that the reference has been provided to the consumer thread, where the reference counter is local to the producer thread and inaccessible to the at least two consumer threads. The producer thread may receive, from the consumer thread, a notification that the consumer thread has finished processing the immutable object, and decrement, responsive to receiving the notification, the reference counter. The producer thread may then delete, based on the reference counter, the immutable object.
-
公开(公告)号:US20210288906A1
公开(公告)日:2021-09-16
申请号:US16814664
申请日:2020-03-10
Applicant: Juniper Networks, Inc.
Inventor: Kevin Wang , Jaihari V. Loganathan , Jeffrey Haas , Sanjay Khanna
IPC: H04L12/723 , H04L12/713 , H04L12/717 , H04L12/707 , H04L12/911
Abstract: In general, various aspects of the techniques are described in this disclosure for distributed label assignment for labeled routes. In one example, a method includes obtaining, by a first thread of a plurality of execution threads for at least one routing protocol process executing on processing circuitry of a network device, an allocation of first labels drawn from a label space for a network service; adding, by the first thread, the first labels to a first local label pool for the first thread; generating, by the first thread, after obtaining the allocation of the first labels, a labeled route comprising a route for the network service and a label assigned by the first thread from the first local label pool; and outputting, by the network device, the labeled route.
-
公开(公告)号:US20190179668A1
公开(公告)日:2019-06-13
申请号:US15841023
申请日:2017-12-13
Applicant: Juniper Networks, Inc.
Inventor: Kevin F. Wang , Jaihari V. Loganathan , Sanjay Khanna
IPC: G06F9/48 , H04L12/733 , H04L29/08
Abstract: In general, the disclosure describes techniques for distributing processing of routes among multiple execution threads of a network device. In some examples, a method includes identifying, with a thread of a plurality of execution threads, a first route processing thread of the execution threads to process a first route of a routing protocol, the first route received by the network device; identifying, with the thread, a second route processing thread of the execution threads to process a second route of a routing protocol, the second route received by the network device; processing, by the first route processing thread executing on a first core of the plurality of processing cores, the first route; and processing, by the second route processing thread executing on a second core at least partially concurrently with the first route processing thread executing on the first core of the plurality of processing cores, the second route.
-
公开(公告)号:US11902365B2
公开(公告)日:2024-02-13
申请号:US17937804
申请日:2022-10-04
Applicant: Juniper Networks, Inc.
Inventor: Ashutosh K. Grewal , Jaihari V. Loganathan , Kevin Wang , Sanjay Khanna
IPC: H04L67/104 , H04L47/625 , H04L43/16 , H04L45/02 , H04L47/30 , H04L47/62
CPC classification number: H04L67/104 , H04L43/16 , H04L45/04 , H04L47/30 , H04L47/627 , H04L47/6225
Abstract: A network device, associated with peer network devices, may receive policy information for a protocol; and compute a first update message based on information regarding a route associated with the policy information. The network device may determine that an upper utilization threshold for one or more of peer queues, associated with the peer network devices, is not satisfied; and write the first update message to the peer queues based on determining that the upper utilization threshold is not satisfied. The network device may compute a second update message based on the information regarding the route; determine that the upper utilization threshold for one or more of the peer queues is satisfied; and pause writing the second update message to the peer queues based on the upper utilization threshold being satisfied. The network device may permit the peer network devices to obtain data from corresponding ones of the peer queues.
-
公开(公告)号:US11356369B1
公开(公告)日:2022-06-07
申请号:US16836436
申请日:2020-03-31
Applicant: Juniper Networks, Inc.
Inventor: Jaihari V. Loganathan , Ashutosh K. Grewal , Sanjay Khanna
IPC: H04L45/7453 , H04L69/325 , H04L69/28 , H04L45/02 , H04L45/748
Abstract: In general, the disclosure describes techniques for distributing processing of routes among multiple execution threads of a network device. In some examples, a method includes partitioning a routing information base (RIB) into a plurality of RIB partitions, assigning a route processing thread to each RIB partition, processing BGP routing protocol messages at each of the route processing threads, and receiving, at a BGP update thread serving a BGP peer group, from two or more of the route processing threads, route update information for routes to be advertised. The route update information includes a BGP route tuple having a network prefix value and a pointer to an outgoing attribute. The method further includes collecting, based on the BGP route tuples, route update information for routes having the same outgoing attribute and constructing a BGP update message from the collected route update information.
-
-
-
-
-
-
-
-
-