FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
A client is a representation of an IP address behind the NAT. More...
Public Member Functions | |
CLIB_CACHE_LINE_ALIGN_MARK (cacheline0) | |
Data Fields | |
ip_address_t | cc_ip |
the client's IP address More... | |
dpo_id_t | cc_parent |
How to send packets to this client post translation. More... | |
fib_node_index_t | cc_fei |
the FIB entry this client sources More... | |
u32 | cc_locks |
number of DPO locks More... | |
u32 | tr_refcnt |
Translations refcount for cleanup. More... | |
u32 | session_refcnt |
Session refcount for cleanup. More... | |
index_t | parent_cci |
Parent cnat_client index if cloned via interpose or own index if vanilla client. More... | |
u8 | flags |
Client flags. More... | |
A client is a representation of an IP address behind the NAT.
A client thus sends packet to a VIP. Clients are learned in the Data-plane when they send packets, but, since they make additions to the FIB they must be programmed in the main thread. They are aged out when they become idle.
A client interposes in the FIB graph for the prefix corresponding to the client (e.g. client's-IP/32). As a result this client object is cloned as the interpose DPO. The clones are removed when the lock count drops to zero. The originals are removed when the client ages. At forwarding time the client preforms the reverse translation and then ships the packet to where the FIB would send it.
Definition at line 35 of file cnat_client.h.
cnat_client_t_::CLIB_CACHE_LINE_ALIGN_MARK | ( | cacheline0 | ) |
fib_node_index_t cnat_client_t_::cc_fei |
the FIB entry this client sources
Definition at line 52 of file cnat_client.h.
ip_address_t cnat_client_t_::cc_ip |
the client's IP address
Definition at line 42 of file cnat_client.h.
u32 cnat_client_t_::cc_locks |
number of DPO locks
Definition at line 57 of file cnat_client.h.
dpo_id_t cnat_client_t_::cc_parent |
How to send packets to this client post translation.
Definition at line 47 of file cnat_client.h.
u8 cnat_client_t_::flags |
Client flags.
Definition at line 79 of file cnat_client.h.
index_t cnat_client_t_::parent_cci |
Parent cnat_client index if cloned via interpose or own index if vanilla client.
Used to get translations & update session_refcnt
Definition at line 74 of file cnat_client.h.
u32 cnat_client_t_::session_refcnt |
Session refcount for cleanup.
Definition at line 67 of file cnat_client.h.
u32 cnat_client_t_::tr_refcnt |
Translations refcount for cleanup.
Definition at line 62 of file cnat_client.h.