A method comprising: receiving a first route at an input thread of a network device; identifying, with the input thread, the input thread being one of a plurality of execution threads (26, 28, 31, 40) for at least one routing protocol process executing on a plurality of processing cores of at least one hardware-based processor of a network device, a first route processing thread of the execution threads to process a first route of a routing protocol, in response to receiving the first route at the input thread; receiving a second route at the input thread; identifying, with the thread and responsive to receiving the second route, 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; processing, by the second route processing thread executing on a second core of the plurality of processing cores at least partially concurrently with the first route processing thread executing on the first core of the plurality of processing cores, the second route; storing, by the first route processing thread, the first route to a first routing information base partition, of an overall routing information base for the network device, that stores routes for the first route processing thread; and storing, by the second route processing thread, the second route to a second routing information base partition, of the overall routing information base for the network device, that stores routes for the second route processing thread; receiving, by a main thread of the plurality of execution threads, a request to show active routes stored by the network device; communicating, by the main thread in response to the request, requests for candidate next routes to the first route processing thread and the second route processing thread; receiving, by the main thread, from the first route processing thread, a first candidate next route stored to the first routing information base partition; receiving, by the main thread, from the second route processing thread, a second candidate next route stored to the second routing information base partition; selecting, by the main thread from among the first candidate next route and the second candidate next route, the first candidate next route as a next route in a route order for the request to show active routes; and outputting, by the main thread for display to a user, in response to selecting the first candidate next route, the first candidate next route. receiving a first route at an input thread of a network device; identifying, with the input thread, the input thread being one of a plurality of execution threads (26, 28, 31, 40) for at least one routing protocol process executing on a plurality of processing cores of at least one hardware-based processor of a network device, a first route processing thread of the execution threads to process a first route of a routing protocol, in response to receiving the first route at the input thread; receiving a second route at the input thread; identifying, with the thread and responsive to receiving the second route, 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; processing, by the second route processing thread executing on a second core of the plurality of processing cores at least partially concurrently with the first route processing thread executing on the first core of the plurality of processing cores, the second route; storing, by the first route processing thread, the first route to a first routing information base partition, of an overall routing information base for the network device, that stores routes for the first route processing thread; and storing, by the second route processing thread, the second route to a second routing information base partition, of the overall routing information base for the network device, that stores routes for the second route processing thread; receiving, by a main thread of the plurality of execution threads, a request to show active routes stored by the network device; communicating, by the main thread in response to the request, requests for candidate next routes to the first route processing thread and the second route processing thread; receiving, by the main thread, from the first route processing thread, a first candidate next route stored to the first routing information base partition; receiving, by the main thread, from the second route processing thread, a second candidate next route stored to the second routing information base partition; selecting, by the main thread from among the first candidate next route and the second candidate next route, the first candidate next route as a next route in a route order for the request to show active routes; and outputting, by the main thread for display to a user, in response to selecting the first candidate next route, the first candidate next route.