FD.io VPP  v16.09
Vector Packet Processing
lb_as_t Struct Reference

Each VIP is configured with a set of application server. More...

Data Fields

ip46_address_t address
 Destination address used to tunnel traffic towards that application server. More...
 
u32 adj_index
 Second ip lookup can be avoided by sending directly the packet to ip-rewrite with a configured adjacency. More...
 
u32 vip_index
 ASs are indexed by address and VIP Index. More...
 
u8 flags
 Some per-AS flags. More...
 
u32 last_used
 Rotating timestamp of when LB_AS_FLAGS_USED flag was last set. More...
 

Detailed Description

Each VIP is configured with a set of application server.

Definition at line 48 of file lb.h.

Field Documentation

ip46_address_t lb_as_t::address

Destination address used to tunnel traffic towards that application server.

The address is also used as ID and pseudo-random seed for the load-balancing process.

Definition at line 55 of file lb.h.

u32 lb_as_t::adj_index

Second ip lookup can be avoided by sending directly the packet to ip-rewrite with a configured adjacency.

When set to ~0, the packets are sent to ip6-lookup.

Definition at line 62 of file lb.h.

u8 lb_as_t::flags

Some per-AS flags.

For now only LB_AS_FLAGS_USED is defined.

Definition at line 75 of file lb.h.

u32 lb_as_t::last_used

Rotating timestamp of when LB_AS_FLAGS_USED flag was last set.

AS removal is based on garbage collection and reference counting. When an AS is removed, there is a race between configuration core and worker cores which may still add a reference while it should not be used. This timestamp is used to not remove the AS while a race condition may happen.

Definition at line 88 of file lb.h.

u32 lb_as_t::vip_index

ASs are indexed by address and VIP Index.

Which means there will be duplicated if the same server address is used for multiple VIPs.

Definition at line 69 of file lb.h.


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