session: use teps in accept/connect notifications
[vpp.git] / src / tests / vnet / session / udp_echo.c
index 9fda73d..c949d4c 100644 (file)
@@ -454,7 +454,7 @@ cut_through_thread_fn (void *arg)
          else
            {
              /* We don't do anything with the data, drop it */
-             actual_transfer = svm_fifo_max_dequeue (rx_fifo);
+             actual_transfer = svm_fifo_max_dequeue_cons (rx_fifo);
              svm_fifo_dequeue_drop (rx_fifo, actual_transfer);
            }
        }
@@ -514,10 +514,10 @@ session_accepted_handler (session_accepted_msg_t * mp)
   tx_fifo->client_session_index = session_index;
   session->rx_fifo = rx_fifo;
   session->tx_fifo = tx_fifo;
-  clib_memcpy_fast (&session->transport.rmt_ip, mp->ip,
+  clib_memcpy_fast (&session->transport.rmt_ip, &mp->rmt.ip,
                    sizeof (ip46_address_t));
-  session->transport.is_ip4 = mp->is_ip4;
-  session->transport.rmt_port = mp->port;
+  session->transport.is_ip4 = mp->rmt.is_ip4;
+  session->transport.rmt_port = mp->rmt.port;
 
   hash_set (utm->session_index_by_vpp_handles, mp->handle, session_index);
   if (pool_elts (utm->sessions) && (pool_elts (utm->sessions) % 20000) == 0)
@@ -618,10 +618,10 @@ session_connected_handler (session_connected_msg_t * mp)
 
       session->rx_fifo->client_session_index = session->session_index;
       session->tx_fifo->client_session_index = session->session_index;
-      clib_memcpy_fast (&session->transport.lcl_ip, mp->lcl_ip,
+      clib_memcpy_fast (&session->transport.lcl_ip, &mp->lcl.ip,
                        sizeof (ip46_address_t));
-      session->transport.is_ip4 = mp->is_ip4;
-      session->transport.lcl_port = mp->lcl_port;
+      session->transport.is_ip4 = mp->lcl.is_ip4;
+      session->transport.lcl_port = mp->lcl.port;
 
       unformat_init_vector (input, utm->connect_uri);
       if (!unformat (input, "%U", unformat_uri, sep))
@@ -724,7 +724,7 @@ send_test_chunk (udp_echo_main_t * utm, app_session_t * s, u32 bytes)
   test_buf_offset = utm->bytes_sent % test_buf_len;
   bytes_this_chunk = clib_min (test_buf_len - test_buf_offset,
                               utm->bytes_to_send);
-  enq_space = svm_fifo_max_enqueue (s->tx_fifo);
+  enq_space = svm_fifo_max_enqueue_prod (s->tx_fifo);
   bytes_this_chunk = clib_min (bytes_this_chunk, enq_space);
 
   written = app_send (s, test_data + test_buf_offset, bytes_this_chunk,
@@ -975,7 +975,8 @@ server_handle_fifo_event_rx (udp_echo_main_t * utm, u32 session_index)
   rx_fifo = session->rx_fifo;
   tx_fifo = session->tx_fifo;
 
-  max_dequeue = svm_fifo_max_dequeue (rx_fifo);
+
+  max_dequeue = svm_fifo_max_dequeue_cons (rx_fifo);
   /* Allow enqueuing of a new event */
   svm_fifo_unset_event (rx_fifo);
 
@@ -1014,7 +1015,8 @@ server_handle_fifo_event_rx (udp_echo_main_t * utm, u32 session_index)
 
          /* If event wasn't set, add one */
          if (svm_fifo_set_event (tx_fifo))
-           app_send_io_evt_to_vpp (session->vpp_evt_q, tx_fifo,
+           app_send_io_evt_to_vpp (session->vpp_evt_q,
+                                   tx_fifo->master_session_index,
                                    SESSION_IO_EVT_TX, SVM_Q_WAIT);
        }
     }
@@ -1043,7 +1045,7 @@ server_handle_event_queue (udp_echo_main_t * utm)
       switch (e->event_type)
        {
        case SESSION_IO_EVT_RX:
-         server_handle_fifo_event_rx (utm, e->fifo->client_session_index);
+         server_handle_fifo_event_rx (utm, e->session_index);
          break;
 
        default: