FD.io VPP
v20.09-64-g4f7b92f0a
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... | |
} | 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 cs_ts_index | |
Timestamp index this session was last used. More... | |
u32 flags | |
Indicates a return path session that was source NATed on the way in. 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 38 of file cnat_session.h.
u8 cnat_session_t_::cs_af |
The address family describing the IP addresses.
Definition at line 63 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 48 of file cnat_session.h.
index_t cnat_session_t_::cs_lbi |
The load balance object to use to forward.
Definition at line 88 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 58 of file cnat_session.h.
u32 cnat_session_t_::cs_ts_index |
Timestamp index this session was last used.
Definition at line 93 of file cnat_session.h.
u32 cnat_session_t_::flags |
Indicates a return path session that was source NATed on the way in.
Definition at line 98 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