|
Hybrid ICN (hICN) plugin
v21.06-rc0-4-g18fa668
|
A forwarding entry in the FIB table. More...


Go to the source code of this file.
Typedefs | |
| typedef struct fib_entry | FibEntry |
Functions | |
| FibEntry * | fibEntry_Create (Name *name, strategy_type fwdStrategy) |
| void | fibEntry_Release (FibEntry **fibEntryPtr) |
| FibEntry * | fibEntry_Acquire (const FibEntry *fibEntry) |
| void | fibEntry_SetStrategy (FibEntry *fibEntry, strategy_type strategy, unsigned related_prefixes_len, Name **related_prefixes) |
| void | fibEntry_AddNexthop (FibEntry *fibEntry, unsigned connectionId) |
| void | fibEntry_RemoveNexthopByConnectionId (FibEntry *fibEntry, unsigned connectionId) |
| size_t | fibEntry_NexthopCount (const FibEntry *fibEntry) |
| const NumberSet * | fibEntry_GetNexthops (const FibEntry *fibEntry) |
| void | fibEntry_ReceiveObjectMessage (const FibEntry *fibEntry, const NumberSet *egressId, const Message *objectMessage, Ticks pitEntryCreation, Ticks objReception) |
| void | fibEntry_OnTimeout (const FibEntry *fibEntry, const NumberSet *egressId) |
| const NumberSet * | fibEntry_GetNexthopsFromForwardingStrategy (const FibEntry *fibEntry, const Message *interestMessage) |
| strategy_type | fibEntry_GetFwdStrategyType (const FibEntry *fibEntry) |
| StrategyImpl * | fibEntry_GetFwdStrategy (const FibEntry *fibEntry) |
| Name * | fibEntry_GetPrefix (const FibEntry *fibEntry) |
A forwarding entry in the FIB table.
A Forwarding Information Base (FIB) entry (FibEntry) is a set of nexthops for a name. It also indicates the forwarding strategy.
Each nexthop contains the ConnectionId assocaited with it. This could be something specific like a MAC address or point-to-point tunnel. Or, it could be something general like a MAC group address or ip multicast overlay.
See strategy.h for a description of forwarding strategies. In short, a strategy is the algorithm used to select one or more nexthops from the set of available nexthops.
Each nexthop also contains a void* to a forwarding strategy data container. This allows a strategy to keep proprietary information about each nexthop.
| FibEntry* fibEntry_Acquire | ( | const FibEntry * | fibEntry | ) |
Returns a reference counted copy of the fib entry
The reference count is increased by one. The returned value must be released via fibEnty_Release().
| [in] | fibEntry | An allocated FibEntry |
| const NumberSet* fibEntry_GetNexthops | ( | const FibEntry * | fibEntry | ) |
@function fibEntry_GetNexthops @abstract Returns the nexthop set of the FIB entry. You must Acquire if it will be saved. @discussion Returns the next hop set for the FIB entry.
| Name* fibEntry_GetPrefix | ( | const FibEntry * | fibEntry | ) |
@function fibEntry_GetPrefix @abstract Returns a copy of the prefix.
| void fibEntry_Release | ( | FibEntry ** | fibEntryPtr | ) |
Decrements the reference count by one, and destroys the memory after last release
1.8.17