|  | FD.io VPP
    v21.01.1
    Vector Packet Processing | 
The FIB DPO provieds;. More...
 Collaboration diagram for load_balance_t_:
 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.