Scaleable route redistribution mechanism
AssigneeCisco Technology, Inc.
InventorsPedro M. Marques, Steven P. Lin
Life of this patent
Estimating the term…
Abstract
A method of distributing route information is described. The method includes maintaining a number of entries, indicating that at least one of the entries, requiring processing by a first process, has been processed by the first process, and causing the first process to process another of the entries requiring processing by the first process based on the indication. In doing so, the first process uses the indication to decide which of the entries requiring processing the process has already processed and which of those entries remain to be processed. Each one of the entries preferably corresponds to at least one characteristic of a network connection between a number of network elements, such as a route between network elements.
Claims13
A method of distributing route information comprising:
- maintaining a plurality of entries, wherein:
- said plurality of entries is a plurality of route entries, and
- each one of said plurality of route entries corresponds to a route in a network;
- indicating an entry of said plurality of entries requiring processing by a first process has been processed by said first process, said indicating comprises maintaining a marker configured to indicate which of said plurality of route entries requiring processing by said first process have not been processed by said first process, said marker corresponding to said first process, wherein said marker is configured to store an index;
- storing said plurality of route entries as nodes in a radix tree;
- incrementing a master index upon performing an addition operation or a modification operation, said addition operation adding a new route entry to said plurality of route entries and said modification operation modifying a one of said plurality of route entries;
- storing said master index in a node index of said new route entry, if an addition operation is performed;
- storing said master index in a node index of said one of said plurality of route entries, if a modification operation is performed;
- and
- causing said first process to process another of said plurality of entries requiring processing by said first process based on said indication.
A computer program product encoded in computer readable media, the computer program product comprising:
- a first set of instructions, executable by a processor and configured to cause said processor to maintain a plurality of entries, wherein said plurality of entries is a plurality of route entries, and each one of said plurality of route entries corresponds to a route in a network;
- a second set of instructions, executable on said processor and configured to cause said processor to indicate an entry of said plurality of entries requiring processing by a first process has been processed by said first process, wherein said second set of instructions comprises a third set of instructions, executable on said processor and configured to cause said processor to maintain a marker configured to indicate which of said plurality of route entries requiring processing by said first process have not been processed by said first process, said marker corresponding to said first process, wherein said marker is configured to store an index;
- a fourth set of instructions, executable on said processor and configured to cause said processor to cause said first process to process another of said plurality of entries requiring processing by said first process based on said indication;
- a fifth set of instructions, executable on said processor and configured to cause said processor to increment a master index upon performing an addition operation or a modification operation, said addition operation adding a new route entry to said plurality of route entries and said modification operation modifying a one of said plurality of route entries;
- a sixth set of instructions, executable on said processor and configured to cause said processor to store said master index in a node index of said new route entry, if an addition operation is performed;
- an seventh set of instructions, executable on said processor and configured to cause said processor to store said master index in a node index of said one of said plurality of route entries, if a modification operation is performed;
- and
- an eight set of instructions, executable on said processor and configured to cause said processor to store said plurality of route entries as nodes in a radix tree.
A method of distributing route information comprising:
- maintaining a plurality of entries, wherein
- said plurality of entries is a plurality of route entries,
- each one of said plurality of route entries corresponds to a route in a network, and
- said plurality of entries comprises a routing table;
- indicating an entry of said plurality of entries requiring processing by a first process has been processed by said first process;
- detecting a change made to said routing table by a second process;
- notifying said first process of said change;
- updating a marker corresponding to said first process, said marker indicating which of said plurality of entries requiring processing by said first process have been processed by said first process;
- and
- causing said first process to process another of said plurality of entries requiring processing by said first process based on said indication.
A computer program product encoded in computer readable media, the computer program product comprising:
- a first set of instructions, executable by a processor and configured to cause said processor to maintain a plurality of entries, wherein
- said plurality of entries is a plurality of route entries,
- each one of said plurality of route entries corresponds to a route in a network, and
- said plurality of entries comprises a routing table;
- a second set of instructions, executable on said processor and configured to cause said processor to indicate an entry of said plurality of entries requiring processing by a first process has been processed by said first process;
- a third set of instructions, executable on said processor and configured to cause said processor to detect a change made to said routing table by a second process;
- a fourth set of instructions, executable on said processor and configured to cause said processor to notify said first process of said change;
- and
- a fifth set of instructions, executable on said processor and configured to cause said processor to update a marker corresponding to said first process, said marker indicating which of said plurality of entries requiring processing by said first process have been processed by said first process
- a sixth set of instructions, executable on said processor and configured to cause said processor to cause said first process to process another of said plurality of entries requiring processing by said first process based on said indication.
Dependencies are inferred from the claim text.