![]() |
FD.io VPP
v19.04.4-rc0-5-ge88582fac
Vector Packet Processing
|
The FIB DPO provieds;. More...
Collaboration diagram for load_balance_t_: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... | |
| load_balance_flags_t | lb_flags |
| Flags concenring the LB's creation and modification. 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 106 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 166 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 174 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 138 of file load_balance.h.
| load_balance_flags_t load_balance_t_::lb_flags |
Flags concenring the LB's creation and modification.
Definition at line 133 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 161 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 146 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 151 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 116 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 121 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 128 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 156 of file load_balance.h.