libTFO
|
Forwarding table entry along with its traffic statistics. More...
#include <fibentry.hh>
Public Types | |
typedef M | match_type |
typedef A | action_type |
typedef U | user_type |
Public Member Functions | |
FibEntry (uint32_t size_b2, uint32_t size_b3, const M &m, const A &a) | |
~FibEntry (void) | |
const M & | match (void) const |
const A & | action (void) const |
const A & | action (const A &a) |
const A & | old_action (void) const |
const A & | old_action (const A &a) |
U & | user_data (void) |
enum FibEntryState & | state (void) const |
enum FibEntryState & | state (enum FibEntryState s) |
enum FibEntryTable & | table (void) const |
enum FibEntryTable & | table (enum FibEntryTable t) |
const uint32_t | ttl (void) const |
const uint32_t | ttl (uint32_t t) |
const uint32_t | ttl_decrement (void) |
const uint64_t & | hits_total (void) const |
const uint64_t & | hits_b1 (void) const |
const uint64_t & | hits_b2 (void) const |
const uint64_t & | hits_b3 (void) const |
void | update_hits (const uint64_t &hits, const enum FibEntryHitsUpdateType type) |
void | bin_complete (void) |
Forwarding table entry along with its traffic statistics.
M | Type of flow match, e.g., destination IP prefix. |
A | Type of flow action, e.g., output interface. |
U | Type of additional information attached to FIB entries. |
typedef A FibEntry< M, A, U >::action_type |
typedef M FibEntry< M, A, U >::match_type |
FibEntry< M, A, U >::FibEntry | ( | uint32_t | size_b2, |
uint32_t | size_b3, | ||
const M & | m, | ||
const A & | a | ||
) | [inline] |
Creates a new instance of FibEntry.
[in] | size_b2 | Number of b1 time bins that make a b2 time bin. |
[in] | size_b3 | Number of b1 time bins that make a b3 time bin. |
[in] | m | Match. |
[in] | a | Action. |
Deletes a FibEntry.
const A& FibEntry< M, A, U >::action | ( | void | ) | const [inline] |
const A& FibEntry< M, A, U >::action | ( | const A & | a | ) | [inline] |
Sets the action.
[in] | a | Action. |
void FibEntry< M, A, U >::bin_complete | ( | void | ) | [inline] |
Updates the hit counters of all time scales (b1, b2, b3).
const uint64_t& FibEntry< M, A, U >::hits_b1 | ( | void | ) | const [inline] |
const uint64_t& FibEntry< M, A, U >::hits_b2 | ( | void | ) | const [inline] |
const uint64_t& FibEntry< M, A, U >::hits_b3 | ( | void | ) | const [inline] |
const uint64_t& FibEntry< M, A, U >::hits_total | ( | void | ) | const [inline] |
const M& FibEntry< M, A, U >::match | ( | void | ) | const [inline] |
const A& FibEntry< M, A, U >::old_action | ( | void | ) | const [inline] |
const A& FibEntry< M, A, U >::old_action | ( | const A & | a | ) | [inline] |
Sets the action prior to the last modification.
[in] | a | Action. |
enum FibEntryState& FibEntry< M, A, U >::state | ( | void | ) | const [inline] |
enum FibEntryState& FibEntry< M, A, U >::state | ( | enum FibEntryState | s | ) | [inline] |
Sets the FibEntryState.
[in] | s | State. |
enum FibEntryTable& FibEntry< M, A, U >::table | ( | void | ) | const [inline] |
enum FibEntryTable& FibEntry< M, A, U >::table | ( | enum FibEntryTable | t | ) | [inline] |
Sets the FibEntryTable.
[in] | t | Table. |
const uint32_t FibEntry< M, A, U >::ttl | ( | void | ) | const [inline] |
const uint32_t FibEntry< M, A, U >::ttl | ( | uint32_t | t | ) | [inline] |
Sets the TTL.
[in] | t | TTL value. |
const uint32_t FibEntry< M, A, U >::ttl_decrement | ( | void | ) | [inline] |
Decrements the TTL.
void FibEntry< M, A, U >::update_hits | ( | const uint64_t & | hits, |
const enum FibEntryHitsUpdateType | type | ||
) | [inline] |
Modifies the hit counter. Call bin_complete() when b1 has finished.
[in] | hits | Number of hits. |
[in] | type | Type of update. |
U& FibEntry< M, A, U >::user_data | ( | void | ) | [inline] |