FD.io VPP  v21.01.1
Vector Packet Processing
lb_main_t Struct Reference
+ Collaboration diagram for lb_main_t:

Data Fields

lb_vip_tvips
 Pool of all Virtual IPs. More...
 
uwordvip_prefix_indexes
 bitmap for vip prefix to support per-port vip More...
 
lb_as_tass
 Pool of ASs. More...
 
vlib_refcount_t as_refcount
 Each AS has an associated reference counter. More...
 
uwordvip_index_by_nodeport
 
lb_per_cpu_tper_cpu
 Some global data is per-cpu. More...
 
u32 ip_lookup_next_index [LB_VIP_N_TYPES]
 Node next index for IP adjacencies, for each of the traffic types. More...
 
ip6_address_t ip6_src_address
 Source address used in IPv6 encapsulated traffic. More...
 
ip4_address_t ip4_src_address
 Source address used for IPv4 encapsulated traffic. More...
 
u32 per_cpu_sticky_buckets
 Number of buckets in the per-cpu sticky hash table. More...
 
u32 flow_timeout
 Flow timeout in seconds. More...
 
vlib_simple_counter_main_t vip_counters [LB_N_VIP_COUNTERS]
 Per VIP counter. More...
 
dpo_type_t dpo_gre4_type
 DPO used to send packet from IP4/6 lookup to LB node. More...
 
dpo_type_t dpo_gre6_type
 
dpo_type_t dpo_gre4_port_type
 
dpo_type_t dpo_gre6_port_type
 
dpo_type_t dpo_l3dsr_type
 
dpo_type_t dpo_l3dsr_port_type
 
dpo_type_t dpo_nat4_port_type
 
dpo_type_t dpo_nat6_port_type
 
fib_node_type_t fib_node_type
 Node type for registering to fib changes. More...
 
clib_bihash_8_8_t vip_index_per_port
 
clib_bihash_8_8_t mapping_by_as4
 
clib_bihash_24_8_t mapping_by_as6
 
lb_snat_mapping_tsnat_mappings
 
u16 msg_id_base
 API dynamically registered base ID. More...
 
clib_spinlock_t writer_lock
 
vlib_main_tvlib_main
 
vnet_main_tvnet_main
 

Detailed Description

Definition at line 470 of file lb.h.

Field Documentation

◆ as_refcount

vlib_refcount_t lb_main_t::as_refcount

Each AS has an associated reference counter.

As ass[0] has a special meaning, its associated counter starts at 0 and is decremented instead. i.e. do not use it.

Definition at line 494 of file lb.h.

◆ ass

lb_as_t* lb_main_t::ass

Pool of ASs.

ASs are referenced by address and vip index. The first element (index 0) is special and used only to fill new_flow_tables when no AS has been configured.

Definition at line 487 of file lb.h.

◆ dpo_gre4_port_type

dpo_type_t lb_main_t::dpo_gre4_port_type

Definition at line 539 of file lb.h.

◆ dpo_gre4_type

dpo_type_t lb_main_t::dpo_gre4_type

DPO used to send packet from IP4/6 lookup to LB node.

Definition at line 537 of file lb.h.

◆ dpo_gre6_port_type

dpo_type_t lb_main_t::dpo_gre6_port_type

Definition at line 540 of file lb.h.

◆ dpo_gre6_type

dpo_type_t lb_main_t::dpo_gre6_type

Definition at line 538 of file lb.h.

◆ dpo_l3dsr_port_type

dpo_type_t lb_main_t::dpo_l3dsr_port_type

Definition at line 542 of file lb.h.

◆ dpo_l3dsr_type

dpo_type_t lb_main_t::dpo_l3dsr_type

Definition at line 541 of file lb.h.

◆ dpo_nat4_port_type

dpo_type_t lb_main_t::dpo_nat4_port_type

Definition at line 543 of file lb.h.

◆ dpo_nat6_port_type

dpo_type_t lb_main_t::dpo_nat6_port_type

Definition at line 544 of file lb.h.

◆ fib_node_type

fib_node_type_t lb_main_t::fib_node_type

Node type for registering to fib changes.

Definition at line 548 of file lb.h.

◆ flow_timeout

u32 lb_main_t::flow_timeout

Flow timeout in seconds.

Definition at line 527 of file lb.h.

◆ ip4_src_address

ip4_address_t lb_main_t::ip4_src_address

Source address used for IPv4 encapsulated traffic.

Definition at line 517 of file lb.h.

◆ ip6_src_address

ip6_address_t lb_main_t::ip6_src_address

Source address used in IPv6 encapsulated traffic.

Definition at line 512 of file lb.h.

◆ ip_lookup_next_index

u32 lb_main_t::ip_lookup_next_index[LB_VIP_N_TYPES]

Node next index for IP adjacencies, for each of the traffic types.

Definition at line 507 of file lb.h.

◆ mapping_by_as4

clib_bihash_8_8_t lb_main_t::mapping_by_as4

Definition at line 554 of file lb.h.

◆ mapping_by_as6

clib_bihash_24_8_t lb_main_t::mapping_by_as6

Definition at line 555 of file lb.h.

◆ msg_id_base

u16 lb_main_t::msg_id_base

API dynamically registered base ID.

Definition at line 563 of file lb.h.

◆ per_cpu

lb_per_cpu_t* lb_main_t::per_cpu

Some global data is per-cpu.

Definition at line 502 of file lb.h.

◆ per_cpu_sticky_buckets

u32 lb_main_t::per_cpu_sticky_buckets

Number of buckets in the per-cpu sticky hash table.

Definition at line 522 of file lb.h.

◆ snat_mappings

lb_snat_mapping_t* lb_main_t::snat_mappings

Definition at line 558 of file lb.h.

◆ vip_counters

Per VIP counter.

Definition at line 532 of file lb.h.

◆ vip_index_by_nodeport

uword* lb_main_t::vip_index_by_nodeport

Definition at line 497 of file lb.h.

◆ vip_index_per_port

clib_bihash_8_8_t lb_main_t::vip_index_per_port

Definition at line 551 of file lb.h.

◆ vip_prefix_indexes

uword* lb_main_t::vip_prefix_indexes

bitmap for vip prefix to support per-port vip

Definition at line 479 of file lb.h.

◆ vips

lb_vip_t* lb_main_t::vips

Pool of all Virtual IPs.

Definition at line 474 of file lb.h.

◆ vlib_main

vlib_main_t* lb_main_t::vlib_main

Definition at line 568 of file lb.h.

◆ vnet_main

vnet_main_t* lb_main_t::vnet_main

Definition at line 569 of file lb.h.

◆ writer_lock

clib_spinlock_t lb_main_t::writer_lock

Definition at line 565 of file lb.h.


The documentation for this struct was generated from the following file: