FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
A session represents the memory of a translation. More...
Data Fields | |
struct { | |
ip46_address_t cs_ip [VLIB_N_DIR] | |
IP 4/6 address in the rx/tx direction. More... | |
u16 cs_port [VLIB_N_DIR] | |
ports in rx/tx More... | |
ip_protocol_t cs_proto | |
The IP protocol TCP or UDP only supported. More... | |
u8 cs_af | |
The address family describing the IP addresses. More... | |
u8 cs_loc | |
input / output / fib session More... | |
} | key |
this key sits in the same memory location a 'key' in the bihash kvp More... | |
struct { | |
ip46_address_t cs_ip [VLIB_N_DIR] | |
The IP address to translate to. More... | |
u16 cs_port [VLIB_N_DIR] | |
the port to translate to. More... | |
index_t cs_lbi | |
The load balance object to use to forward. More... | |
u32 dpoi_next_node | |
Persist translation->ct_lb.dpoi_next_node. More... | |
u32 cs_ts_index | |
Timestamp index this session was last used. More... | |
u32 flags | |
session flags More... | |
} | value |
this value sits in the same memory location a 'value' in the bihash kvp More... | |
A session represents the memory of a translation.
In the tx direction (from behind to in front of the NAT), the session is preserved so subsequent packets follow the same path even if the translation has been updated. In the tx direction the session represents the swap from the VIP to the server address In the RX direction the swap is from the server address/port to VIP.
A session exists only as key and value in the bihash, there is no pool for this object. If there were a pool, one would need to be concerned about what worker is using it.
Definition at line 37 of file cnat_session.h.
u8 cnat_session_t_::cs_af |
The address family describing the IP addresses.
Definition at line 62 of file cnat_session.h.
ip46_address_t cnat_session_t_::cs_ip[VLIB_N_DIR] |
IP 4/6 address in the rx/tx direction.
The IP address to translate to.
Definition at line 47 of file cnat_session.h.
index_t cnat_session_t_::cs_lbi |
The load balance object to use to forward.
Definition at line 89 of file cnat_session.h.
u8 cnat_session_t_::cs_loc |
input / output / fib session
Definition at line 67 of file cnat_session.h.
u16 cnat_session_t_::cs_port[VLIB_N_DIR] |
ip_protocol_t cnat_session_t_::cs_proto |
The IP protocol TCP or UDP only supported.
Definition at line 57 of file cnat_session.h.
u32 cnat_session_t_::cs_ts_index |
Timestamp index this session was last used.
Definition at line 99 of file cnat_session.h.
u32 cnat_session_t_::dpoi_next_node |
Persist translation->ct_lb.dpoi_next_node.
Definition at line 94 of file cnat_session.h.
u32 cnat_session_t_::flags |
session flags
Definition at line 104 of file cnat_session.h.
struct { ... } cnat_session_t_::key |
this key sits in the same memory location a 'key' in the bihash kvp
struct { ... } cnat_session_t_::value |
this value sits in the same memory location a 'value' in the bihash kvp