1#ifndef NDNDPDK_FIB_FIB_H
2#define NDNDPDK_FIB_FIB_H
19__attribute__((nonnull))
void
23__attribute__((nonnull))
bool
31__attribute__((nonnull))
void
38__attribute__((nonnull))
void
56__attribute__((nonnull))
static __rte_always_inline
FibEntry*
57Fib_Find(
Fib* fib,
LName name, uint64_t hash) {
58 return FibEntry_GetReal(
Fib_Get(fib, name, hash));
void Fib_Clear(Fib *fib)
Delete all entries.
Definition fib.c:11
void Fib_Erase(Fib *fib, FibEntry *entry)
Erase given FIB entry.
Definition fib.c:63
FibEntry * Fib_Lpm(Fib *fib, const PName *name)
Perform longest prefix match.
Definition fib.c:86
bool Fib_AllocBulk(struct rte_mempool *fibMp, FibEntry *entries[], unsigned count)
Allocate and zero entries.
Definition fib.c:27
FibEntry * Fib_Get(Fib *fib, LName name, uint64_t hash)
Retrieve FIB entry.
Definition fib.c:69
void Fib_Write(Fib *fib, FibEntry *entry)
Insert or replace a FIB entry.
Definition fib.c:43
A FIB entry.
Definition entry.h:27
A replica of the Forwarding Information Base (FIB).
Definition fib.h:9
uint32_t insertSeqNum
Definition fib.h:12
int startDepth
starting depth ('M' of 2-stage LPM algorithm)
Definition fib.h:11
struct cds_lfht * lfht
URCU hashtable.
Definition fib.h:10
Name in linear buffer.
Definition name.h:11
Parsed name.
Definition name.h:139