FD.io VPP
v18.07.1-19-g511ce25
Vector Packet Processing
|
The FIB DPO provieds;. More...
Public Member Functions | |
CLIB_CACHE_LINE_ALIGN_MARK (cacheline0) | |
required for pool_get_aligned. More... | |
Data Fields | |
u16 | lb_n_buckets |
number of buckets in the load-balance. More... | |
u16 | lb_n_buckets_minus_1 |
number of buckets in the load-balance - 1. More... | |
dpo_proto_t | lb_proto |
The protocol of packets that traverse this LB. More... | |
fib_entry_flag_t | lb_fib_entry_flags |
Flags from the load-balance's associated fib_entry_t. More... | |
u32 | lb_locks |
The number of locks, which is approximately the number of users, of this load-balance. More... | |
index_t | lb_map |
index of the load-balance map, INVALID if this LB does not use one More... | |
index_t | lb_urpf |
This is the index of the uRPF list for this LB. More... | |
flow_hash_config_t | lb_hash_config |
the hash config to use when selecting a bucket. More... | |
dpo_id_t * | lb_buckets |
Vector of buckets containing the next DPOs, sized as lbo_num. More... | |
dpo_id_t | lb_buckets_inline [LB_NUM_INLINE_BUCKETS] |
The rest of the cache line is used for buckets. More... | |
The FIB DPO provieds;.
Definition at line 84 of file load_balance.h.
load_balance_t_::CLIB_CACHE_LINE_ALIGN_MARK | ( | cacheline0 | ) |
required for pool_get_aligned.
memebers used in the switch path come first!
dpo_id_t* load_balance_t_::lb_buckets |
Vector of buckets containing the next DPOs, sized as lbo_num.
Definition at line 139 of file load_balance.h.
dpo_id_t load_balance_t_::lb_buckets_inline[LB_NUM_INLINE_BUCKETS] |
The rest of the cache line is used for buckets.
In the common case where there there are less than 4 buckets, then the buckets are on the same cachlie and we save ourselves a pointer dereferance in the data-path.
Definition at line 147 of file load_balance.h.
fib_entry_flag_t load_balance_t_::lb_fib_entry_flags |
Flags from the load-balance's associated fib_entry_t.
Definition at line 111 of file load_balance.h.
flow_hash_config_t load_balance_t_::lb_hash_config |
the hash config to use when selecting a bucket.
this is a u16
Definition at line 134 of file load_balance.h.
u32 load_balance_t_::lb_locks |
The number of locks, which is approximately the number of users, of this load-balance.
Load-balance objects of via-entries are heavily shared by recursives, so the lock count is a u32.
Definition at line 119 of file load_balance.h.
index_t load_balance_t_::lb_map |
index of the load-balance map, INVALID if this LB does not use one
Definition at line 124 of file load_balance.h.
u16 load_balance_t_::lb_n_buckets |
number of buckets in the load-balance.
always a power of 2.
Definition at line 94 of file load_balance.h.
u16 load_balance_t_::lb_n_buckets_minus_1 |
number of buckets in the load-balance - 1.
used in the switch path as part of the hash calculation.
Definition at line 99 of file load_balance.h.
dpo_proto_t load_balance_t_::lb_proto |
The protocol of packets that traverse this LB.
need in combination with the flow hash config to determine how to hash. u8.
Definition at line 106 of file load_balance.h.
index_t load_balance_t_::lb_urpf |
This is the index of the uRPF list for this LB.
Definition at line 129 of file load_balance.h.