- vl_api_disconnect_session_t *dmp;
-
- dmp = vl_msg_api_alloc (sizeof (*dmp));
- memset (dmp, 0, sizeof (*dmp));
- dmp->_vl_msg_id = ntohs (VL_API_DISCONNECT_SESSION);
- dmp->client_index = wrk->my_client_index;
- dmp->handle = vpp_handle;
- vl_msg_api_send_shmem (wrk->vl_input_queue, (u8 *) & dmp);
-}
-
-/* VPP combines bind and listen as one operation. VCL manages the separation
- * of bind and listen locally via vppcom_session_bind() and
- * vppcom_session_listen() */
-void
-vppcom_send_bind_sock (vcl_session_t * session)
-{
- vcl_worker_t *wrk = vcl_worker_get_current ();
- vl_api_bind_sock_t *bmp;
-
- /* Assumes caller has acquired spinlock: vcm->sessions_lockp */
- bmp = vl_msg_api_alloc (sizeof (*bmp));
- memset (bmp, 0, sizeof (*bmp));
-
- bmp->_vl_msg_id = ntohs (VL_API_BIND_SOCK);
- bmp->client_index = wrk->my_client_index;
- bmp->context = session->session_index;
- bmp->wrk_index = wrk->vpp_wrk_index;
- bmp->is_ip4 = session->transport.is_ip4;
- clib_memcpy_fast (bmp->ip, &session->transport.lcl_ip, sizeof (bmp->ip));
- bmp->port = session->transport.lcl_port;
- bmp->proto = session->session_type;
- clib_memcpy_fast (bmp->options, session->options, sizeof (bmp->options));
- vl_msg_api_send_shmem (wrk->vl_input_queue, (u8 *) & bmp);
-}
-
-void
-vppcom_send_unbind_sock (u64 vpp_handle)
-{
- vcl_worker_t *wrk = vcl_worker_get_current ();
- vl_api_unbind_sock_t *ump;
-
- ump = vl_msg_api_alloc (sizeof (*ump));
- memset (ump, 0, sizeof (*ump));
-
- ump->_vl_msg_id = ntohs (VL_API_UNBIND_SOCK);
- ump->client_index = wrk->my_client_index;
- ump->wrk_index = wrk->vpp_wrk_index;
- ump->handle = vpp_handle;
- vl_msg_api_send_shmem (wrk->vl_input_queue, (u8 *) & ump);
-}
-
-void
-vppcom_send_accept_session_reply (u64 handle, u32 context, int retval)
-{
- vcl_worker_t *wrk = vcl_worker_get_current ();
- vl_api_accept_session_reply_t *rmp;
-
- rmp = vl_msg_api_alloc (sizeof (*rmp));
- memset (rmp, 0, sizeof (*rmp));
- rmp->_vl_msg_id = ntohs (VL_API_ACCEPT_SESSION_REPLY);
- rmp->retval = htonl (retval);
- rmp->context = context;
- rmp->handle = handle;
- vl_msg_api_send_shmem (wrk->vl_input_queue, (u8 *) & rmp);
+ vl_api_application_tls_key_add_t *key_mp;
+
+ key_mp = vl_msg_api_alloc (sizeof (*key_mp) + key_len);
+ clib_memset (key_mp, 0, sizeof (*key_mp));
+ key_mp->_vl_msg_id = ntohs (VL_API_APPLICATION_TLS_KEY_ADD);
+ key_mp->client_index = wrk->my_client_index;
+ key_mp->context = session->session_index;
+ key_mp->key_len = clib_host_to_net_u16 (key_len);
+ clib_memcpy_fast (key_mp->key, key, key_len);
+ vl_msg_api_send_shmem (wrk->vl_input_queue, (u8 *) & key_mp);