aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2024-10-03 00:34:03 -0700
committerDave Wallace <dwallacelf@gmail.com>2024-10-04 17:59:01 +0000
commit28955ceb8bb95ae05f5fce78ed3e9fec7e4bede6 (patch)
tree00b97e52f7509a439bad5ed78dc4f0ae3bef4ade /src/vnet
parent89969288d3fe997c37c723784d6f28ed51d0a84b (diff)
session vcl: add support for vcl transport attributes
Session layer can push transport attributes to vcl sessions which are stored as vector for session lifetime. Store original_dst_ip and port when available in vcl session attribute vector. Type: feature Change-Id: Iab6c65ddcfed220fc919f564cd19083561812faf Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/vnet')
-rw-r--r--src/vnet/session/application_interface.h1
-rw-r--r--src/vnet/session/transport_types.h3
2 files changed, 3 insertions, 1 deletions
diff --git a/src/vnet/session/application_interface.h b/src/vnet/session/application_interface.h
index f175e4a58c6..1702a3727de 100644
--- a/src/vnet/session/application_interface.h
+++ b/src/vnet/session/application_interface.h
@@ -396,6 +396,7 @@ typedef struct session_accepted_msg_
transport_endpoint_t lcl;
transport_endpoint_t rmt;
u8 flags;
+ /* TODO(fcoras) maybe refactor to pass as transport attr */
u32 original_dst_ip4;
u16 original_dst_port;
} __clib_packed session_accepted_msg_t;
diff --git a/src/vnet/session/transport_types.h b/src/vnet/session/transport_types.h
index c92cb7939ae..f6058c6cef6 100644
--- a/src/vnet/session/transport_types.h
+++ b/src/vnet/session/transport_types.h
@@ -259,7 +259,8 @@ typedef enum transport_endpt_attr_flag_
_ (u64, next_output_node, NEXT_OUTPUT_NODE) \
_ (u16, mss, MSS) \
_ (u8, flags, FLAGS) \
- _ (u8, cc_algo, CC_ALGO)
+ _ (u8, cc_algo, CC_ALGO) \
+ _ (transport_endpoint_t, ext_endpt, EXT_ENDPT)
typedef enum transport_endpt_attr_type_
{