aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/hs_apps/sapi/vpp_echo_proto_udp.c
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2020-12-08 17:50:45 -0800
committerFlorin Coras <fcoras@cisco.com>2020-12-24 23:08:43 -0800
commitc547e91df7083007c87615ac1e37b6f223e575e9 (patch)
tree0677e843f5307becf326c14d43d57c0e4b8c3329 /src/plugins/hs_apps/sapi/vpp_echo_proto_udp.c
parent8219f1f361083cc63022b70d11b08f52833d4789 (diff)
svm: split fifo into private and shared structs
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Id8e77e8b2623be719fd43a95e181eaa5b7df2b6e
Diffstat (limited to 'src/plugins/hs_apps/sapi/vpp_echo_proto_udp.c')
-rw-r--r--src/plugins/hs_apps/sapi/vpp_echo_proto_udp.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/plugins/hs_apps/sapi/vpp_echo_proto_udp.c b/src/plugins/hs_apps/sapi/vpp_echo_proto_udp.c
index 456113cdd7d..9689a83d76b 100644
--- a/src/plugins/hs_apps/sapi/vpp_echo_proto_udp.c
+++ b/src/plugins/hs_apps/sapi/vpp_echo_proto_udp.c
@@ -126,24 +126,24 @@ udp_echo_reset_cb (session_reset_msg_t * mp, echo_session_t * s)
static void
udp_echo_bound_uri_cb (session_bound_msg_t * mp, echo_session_t * session)
{
- svm_fifo_t *rx_fifo, *tx_fifo;
echo_main_t *em = &echo_main;
u32 session_index = session->session_index;
if (!em->i_am_master || em->uri_elts.transport_proto != TRANSPORT_PROTO_UDP)
return;
- rx_fifo = uword_to_pointer (mp->rx_fifo, svm_fifo_t *);
- tx_fifo = uword_to_pointer (mp->tx_fifo, svm_fifo_t *);
- rx_fifo->client_session_index = session_index;
- tx_fifo->client_session_index = session_index;
+ if (echo_attach_session (mp->segment_handle, mp->rx_fifo, mp->tx_fifo,
+ session))
+ {
+ ECHO_FAIL (ECHO_FAIL_ACCEPTED_WAIT_FOR_SEG_ALLOC,
+ "accepted wait_for_segment_allocation errored");
+ return;
+ }
- session->rx_fifo = rx_fifo;
- session->tx_fifo = tx_fifo;
+ session->vpp_evt_q = uword_to_pointer (mp->vpp_evt_q, svm_msg_q_t *);
session->transport.is_ip4 = mp->lcl_is_ip4;
clib_memcpy_fast (&session->transport.lcl_ip, mp->lcl_ip,
sizeof (ip46_address_t));
session->transport.lcl_port = mp->lcl_port;
- session->vpp_evt_q = uword_to_pointer (mp->vpp_evt_q, svm_msg_q_t *);
echo_notify_event (em, ECHO_EVT_FIRST_QCONNECT);
session->session_type = ECHO_SESSION_TYPE_STREAM;