×

Network routing using indirect next hop data

  • US 8,532,127 B2
  • Filed: 07/30/2010
  • Issued: 09/10/2013
  • Est. Priority Date: 10/19/2001
  • Status: Active Grant
First Claim
Patent Images

1. A method comprising:

  • storing, within a network router, 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 the leaf nodes store data pointers to data structures that are external to the forwarding tree, and wherein at least two of the leaf nodes each include a corresponding data pointer that points to a same one of the data structures that is external to the forwarding tree;

    receiving, at the network router, a packet to be routed through a network;

    identifying a key within the packet, wherein the key includes a set of bits that identify a network destination for the packet;

    traversing the forwarding tree within the network router, wherein traversing the forwarding tree includes testing the set of bits of the key with respect to different nodes of the set of nodes to traverse a path from the root node though the intermediate nodes to a particular one of the leaf nodes of the forwarding tree, wherein values of the tested bits in the key determine the path that is traversed through the forwarding tree to reach the particular one of the leaf nodes of the forwarding tree;

    upon traversing the forwarding tree and reaching the particular leaf node of the forwarding tree, using a respective data pointer stored within the particular leaf node to identify a respective one of the data structures that is external to the forwarding tree, wherein the data structures that are external to the forwarding tree store next hop data and the respective one of the data structures defines a particular next hop for the packet, the particular next hop being associated with a particular network device coupled to the network router via a network link;

    forwarding the packet to a particular interface port of the network router that is coupled to the network link so as to forward the packet to the particular next hop defined by the respective one of the data structures that is external to the forwarding tree;

    receiving a network update packet at the network router, wherein the network update packet comprises network update information; and

    updating network routes for future packets by modifying the next hop data in the data structures that are external to the forwarding tree without modifying the forwarding tree, wherein modifying the next hop data includes changing a specific next hop identified by the same data pointer that is included in the at least two of the leaf nodes so as to alter routes defined by the at least two of the leaf nodes of the forwarding tree without altering data stored within the leaf nodes.

View all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×