Method to improve forwarding information base lookup performance
First Claim
1. A method comprising:
- distributing a forwarding information base (FIB) across a plurality or FIB portions hosted by at least one memory store;
storing a first FIB entry in a first FIB portion; and
storing a second FIB entry in a second FIB portion.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for improving forwarding information base (FIB) lookup performance. An FIB is partitioned into a multiple portions that are distributed across segments of a multi-channel SRAM store to form a distributed FIB that is accessible to a network processor. Primary entries corresponding to a linked list of FIB entries are stored in a designated FIB portion. Secondary FIB entries are stored in other FIB portions (a portion of the secondary FIB entries may also be stored in the designated primary entry portion), enabling multiple FIB entries to be concurrently accessed via respective channels. A portion of the secondary FIB entries may also be stored in a secondary (e.g., DRAM) store. A depth level threshold is set to limit the number of accesses to a linked list of FIB entries by a network processor micro-engine thread, wherein an access depth that would exceed the threshold generates an exception that is handled by a separate execution thread to maintain line-rate throughput.
298 Citations
33 Claims
-
1. A method comprising:
-
distributing a forwarding information base (FIB) across a plurality or FIB portions hosted by at least one memory store;
storing a first FIB entry in a first FIB portion; and
storing a second FIB entry in a second FIB portion. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. An article of manufacture, comprising:
a machine-readable medium to provide instructions, which if executed perform operations including, accessing a first forwarding information base (FIB) entry of a distributed FIB using a first channel of a multi-channel memory store; and
concurrently accessing a second FIB entry using a second channel of the multi-channel memory store. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
29. A network apparatus, comprising:
-
a network processor including a plurality of micro-engines and a media switch fabric interface;
a multi-channel static random access memory (SRAM) store, operatively coupled to the network processor;
a dynamic random access memory (DRAM) store, operatively coupled to the network processor;
media switch fabric, including cross-over connections between a plurality of input/output (I/O) ports via which packets are received at and forwarded from; and
a plurality of instructions, accessible to the network processor, which if executed by the network processor perform operations including, managing a distributed forward information base including respective FIB portions that are accessed via respective channels of the multi-channel SRAM store;
accessing a first forwarding information base (FIB) entry of the distributed FIB using a first channel of the multi-channel SRAM store; and
concurrently accessing a second FIB entry using a second channel of the multi-channel SRAM store - View Dependent Claims (30, 31, 32, 33)
-
Specification