Distributed next hop resolution
    1.
    发明授权

    公开(公告)号:US10715440B1

    公开(公告)日:2020-07-14

    申请号:US16026005

    申请日:2018-07-02

    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.

    DISTRIBUTED LABEL ASSIGNMENT FOR LABELED ROUTING PROTOCOL ROUTES

    公开(公告)号:US20230077138A1

    公开(公告)日:2023-03-09

    申请号:US18054831

    申请日:2022-11-11

    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.

    Distributed label assignment for labeled routing protocol routes

    公开(公告)号:US11502946B2

    公开(公告)日:2022-11-15

    申请号:US16814664

    申请日:2020-03-10

    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.

    Regulating enqueueing and dequeuing border gateway protocol (BGP) update messages

    公开(公告)号:US11496559B1

    公开(公告)日:2022-11-08

    申请号:US16900762

    申请日:2020-06-12

    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.

    Lockless management of immutable objects by multi-threaded processes using multiple counters

    公开(公告)号:US11561823B1

    公开(公告)日:2023-01-24

    申请号:US15930171

    申请日:2020-05-12

    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.

    DISTRIBUTED LABEL ASSIGNMENT FOR LABELED ROUTING PROTOCOL ROUTES

    公开(公告)号:US20210288906A1

    公开(公告)日:2021-09-16

    申请号:US16814664

    申请日:2020-03-10

    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.

    MULTI-THREADED ROUTE PROCESSING
    8.
    发明申请

    公开(公告)号:US20190179668A1

    公开(公告)日:2019-06-13

    申请号:US15841023

    申请日:2017-12-13

    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.

    Border gateway protocol update packing for a distributed routing information base

    公开(公告)号:US11356369B1

    公开(公告)日:2022-06-07

    申请号:US16836436

    申请日:2020-03-31

    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.

Patent Agency Ranking