tcp session: next node config on connects
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ief06b1509d31b55efc8d1436b6ff9e01c6037a32
diff --git a/src/vnet/session/transport_types.h b/src/vnet/session/transport_types.h
index 9fabac5..9ea1f21 100644
--- a/src/vnet/session/transport_types.h
+++ b/src/vnet/session/transport_types.h
@@ -202,11 +202,15 @@
TRANSPORT_CFG_F_UNIDIRECTIONAL = 1 << 1,
} transport_endpt_cfg_flags_t;
+/* clang-format off */
#define foreach_transport_endpoint_cfg_fields \
foreach_transport_endpoint_fields \
- _(transport_endpoint_t, peer) \
- _(u16, mss) \
- _(u8, transport_flags) \
+ _ (transport_endpoint_t, peer) \
+ _ (u32, next_node_index) \
+ _ (u32, next_node_opaque) \
+ _ (u16, mss) \
+ _ (u8, transport_flags) \
+/* clang-format on */
typedef struct transport_endpoint_pair_
{
diff --git a/src/vnet/tcp/tcp.c b/src/vnet/tcp/tcp.c
index c54a994..4b1dd8e 100644
--- a/src/vnet/tcp/tcp.c
+++ b/src/vnet/tcp/tcp.c
@@ -831,6 +831,8 @@
/* The other connection vars will be initialized after SYN ACK */
tcp_connection_timers_init (tc);
tc->mss = rmt->mss;
+ tc->next_node_index = rmt->next_node_index;
+ tc->next_node_opaque = rmt->next_node_opaque;
TCP_EVT (TCP_EVT_OPEN, tc);
tc->state = TCP_STATE_SYN_SENT;