/*
* echo_client.c - vpp built-in echo client code
*
- * Copyright (c) 2017 by Cisco and/or its affiliates.
+ * Copyright (c) 2017-2019 by Cisco and/or its affiliates.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
svm_fifo_t *f = s->data.tx_fifo;
rv = clib_min (svm_fifo_max_enqueue (f), bytes_this_chunk);
svm_fifo_enqueue_nocopy (f, rv);
- session_send_io_evt_to_thread_custom (f, s->thread_index,
- FIFO_EVENT_APP_TX);
+ session_send_io_evt_to_thread_custom (&f->master_session_index,
+ s->thread_index,
+ SESSION_IO_EVT_TX);
}
else
rv = app_send_stream (&s->data, test_data + test_buf_offset,
hdr.lcl_port = at->lcl_port;
svm_fifo_enqueue_nowait (f, sizeof (hdr), (u8 *) & hdr);
svm_fifo_enqueue_nocopy (f, rv);
- session_send_io_evt_to_thread_custom (f, s->thread_index,
- FIFO_EVENT_APP_TX);
+ session_send_io_evt_to_thread_custom (&f->master_session_index,
+ s->thread_index,
+ SESSION_IO_EVT_TX);
}
else
rv = app_send_dgram (&s->data, test_data + test_buf_offset,
if (!ecm->vpp_event_queue[thread_index])
ecm->vpp_event_queue[thread_index] =
- session_manager_get_vpp_event_queue (thread_index);
+ session_main_get_vpp_event_queue (thread_index);
/*
* Setup session
vnet_disconnect_args_t _a = { 0 }, *a = &_a;
if (s->session_state == SESSION_STATE_READY)
- clib_warning ("Reset active connection %U", format_stream_session, s, 2);
+ clib_warning ("Reset active connection %U", format_session, s, 2);
a->handle = session_handle (s);
a->app_index = ecm->app_index;
if (svm_fifo_max_dequeue (s->rx_fifo))
{
if (svm_fifo_set_event (s->rx_fifo))
- session_send_io_evt_to_thread (s->rx_fifo, FIFO_EVENT_BUILTIN_RX);
+ session_send_io_evt_to_thread (s->rx_fifo, SESSION_IO_EVT_BUILTIN_RX);
}
return 0;
}
return clib_error_return (0, "connect returned: %d", rv);
/* Crude pacing for call setups */
- if ((i % 4) == 0)
- vlib_process_suspend (vm, 10e-6);
+ if ((i % 16) == 0)
+ vlib_process_suspend (vm, 100e-6);
ASSERT (i + 1 >= ecm->ready_connections);
- while (i + 1 - ecm->ready_connections > 1000)
- {
- vlib_process_suspend (vm, 100e-6);
- }
+ while (i + 1 - ecm->ready_connections > 128)
+ vlib_process_suspend (vm, 1e-3);
}
return 0;
}