tcp session: next node config on connects 23/33023/3
authorFlorin Coras <fcoras@cisco.com>
Wed, 7 Jul 2021 04:07:50 +0000 (21:07 -0700)
committerDamjan Marion <dmarion@me.com>
Tue, 13 Jul 2021 17:20:09 +0000 (17:20 +0000)
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ief06b1509d31b55efc8d1436b6ff9e01c6037a32

src/vnet/session/transport_types.h
src/vnet/tcp/tcp.c

index 9fabac5..9ea1f21 100644 (file)
@@ -202,11 +202,15 @@ typedef enum transport_endpt_cfg_flags_
   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_
 {
index c54a994..4b1dd8e 100644 (file)
@@ -831,6 +831,8 @@ tcp_session_open (transport_endpoint_cfg_t * rmt)
   /* 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;