Network routing using indirect next hop data
First Claim
1. A method comprising:
- storing, within hardware of a packet forwarding engine within a network device, a forwarding tree that includes a set of hierarchically arranged nodes, wherein the set of nodes includes a root node, a plurality of intermediate nodes, and a plurality of leaf nodes, wherein each of the leaf nodes stores a first data pointer and a second data pointer that each point to respective data structures that are external to the forwarding tree, wherein the external data structure pointed to by the first pointer specifies a primary next hop and the external data structure pointed to by the second pointer specifies a backup next hop;
forwarding packets with the packet forwarding engine to the primary next hop for at least one of the leaf nodes of the forwarding tree;
in response to a network event, with the packet forwarding engine and for the at least one of the leaf nodes, marking the first data pointer as inactive to promote the second data pointer that defines the backup next hop to a data pointer that defines a new primary next hop; and
forwarding packets with the packet forwarding engine to the new primary next hop.
0 Assignments
0 Petitions
Accused Products
Abstract
A router maintains routing information including (i) route data representing destinations within a computer network, (ii) next hop data representing interfaces to neighboring network devices, and (iii) indirect next hop data that maps a subset of the routes represented by the route data to a common one of the next hop data elements. In this manner, routing information is structured such that routes having the same next hop use indirect next hop data structures to reference common next hop data. In particular, in response to a change in network topology, the router need not change all of the affected routes, but only the common next hop data referenced by the intermediate data structures. This provides for increased efficiency in updating routing information after a change in network topology, such as link failure.
-
Citations
12 Claims
-
1. A method comprising:
-
storing, within hardware of a packet forwarding engine within a network device, a forwarding tree that includes a set of hierarchically arranged nodes, wherein the set of nodes includes a root node, a plurality of intermediate nodes, and a plurality of leaf nodes, wherein each of the leaf nodes stores a first data pointer and a second data pointer that each point to respective data structures that are external to the forwarding tree, wherein the external data structure pointed to by the first pointer specifies a primary next hop and the external data structure pointed to by the second pointer specifies a backup next hop; forwarding packets with the packet forwarding engine to the primary next hop for at least one of the leaf nodes of the forwarding tree; in response to a network event, with the packet forwarding engine and for the at least one of the leaf nodes, marking the first data pointer as inactive to promote the second data pointer that defines the backup next hop to a data pointer that defines a new primary next hop; and forwarding packets with the packet forwarding engine to the new primary next hop. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A network device comprising:
-
a packet forwarding engine having hardware that stores a forwarding tree that includes a set of hierarchically arranged nodes, wherein the set of nodes includes a root node, a plurality of intermediate nodes, and a plurality of leaf nodes, wherein each of the leaf nodes stores a first data pointer and a second data pointer that each point to respective data structures that are external to the forwarding tree, wherein the external data structure pointed to by the first pointer specifies a primary next hop and the external data structure pointed to by the second pointer specifies a backup next hop, wherein the packet forwarding engine is configured to; initially forward packets to the primary next hop for at least one of the leaf nodes of the forwarding tree; in response to a network event, mark the first data pointer of the at least one leaf node as inactive to promote the second data pointer that defines the backup next hop to a data pointer that defines a new primary next hop; forward packets to the new primary next hop. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification