FD.io VPP
v21.01.1
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... | |
union { | |
u32 flags | |
session flags if cs_lbi == INDEX_INVALID More... | |
u32 ct_index | |
Persist translation->ct_lb.dpoi_next_node when cs_lbi != INDEX_INVALID. 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_::ct_index |
Persist translation->ct_lb.dpoi_next_node when cs_lbi != INDEX_INVALID.
Definition at line 105 of file cnat_session.h.
u32 cnat_session_t_::flags |
session flags if cs_lbi == INDEX_INVALID
Definition at line 100 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