session: segment handle in accept/connect notifications
[vpp.git] / src / vnet / session / application_interface.h
index 2da69fc..ecd99d8 100644 (file)
@@ -33,6 +33,7 @@ typedef struct _vnet_app_attach_args_t
 typedef struct _vnet_app_detach_args_t
 {
   u32 app_index;
+  u32 api_client_index;
 } vnet_app_detach_args_t;
 
 typedef struct _vnet_bind_args_t
@@ -233,6 +234,7 @@ typedef struct session_accepted_msg_
   u64 handle;
   u64 server_rx_fifo;
   u64 server_tx_fifo;
+  u64 segment_handle;
   u64 vpp_event_queue_address;
   u64 server_event_queue_address;
   u64 client_event_queue_address;
@@ -259,6 +261,7 @@ typedef struct session_connected_msg_
   u64 handle;
   u64 server_rx_fifo;
   u64 server_tx_fifo;
+  u64 segment_handle;
   u64 vpp_event_queue_address;
   u64 client_event_queue_address;
   u64 server_event_queue_address;
@@ -397,10 +400,10 @@ app_send_dgram_raw (svm_fifo_t * f, app_session_transport_t * at,
   actual_write = clib_min (len, max_enqueue);
   hdr.data_length = actual_write;
   hdr.data_offset = 0;
-  clib_memcpy (&hdr.rmt_ip, &at->rmt_ip, sizeof (ip46_address_t));
+  clib_memcpy_fast (&hdr.rmt_ip, &at->rmt_ip, sizeof (ip46_address_t));
   hdr.is_ip4 = at->is_ip4;
   hdr.rmt_port = at->rmt_port;
-  clib_memcpy (&hdr.lcl_ip, &at->lcl_ip, sizeof (ip46_address_t));
+  clib_memcpy_fast (&hdr.lcl_ip, &at->lcl_ip, sizeof (ip46_address_t));
   hdr.lcl_port = at->lcl_port;
   rv = svm_fifo_enqueue_nowait (f, sizeof (hdr), (u8 *) & hdr);
   ASSERT (rv == sizeof (hdr));