{
clib_error_t *error;
if (vl_api_registration_file_index (reg) == VL_API_INVALID_FI)
- {
- clib_warning ("can't send memfd fd");
- return -1;
- }
+ return SESSION_E_BAPI_NO_FD;
error = vl_api_send_fd_msg (reg, fds, n_fds);
if (error)
{
clib_error_report (error);
- return -1;
+ return SESSION_E_BAPI_SEND_FD;
}
return 0;
}
app = application_get (app_wrk->app_index);
app_mq = app_wrk->event_queue;
if (mq_try_lock_and_alloc_msg (app_mq, msg))
- return -1;
+ return SESSION_E_MQ_MSG_ALLOC;
evt = svm_msg_q_msg_data (app_mq, msg);
clib_memset (evt, 0, sizeof (*evt));
int
mq_send_session_connected_cb (u32 app_wrk_index, u32 api_context,
- session_t * s, u8 is_fail)
+ session_t * s, session_error_t err)
{
svm_msg_q_msg_t _msg, *msg = &_msg;
session_connected_msg_t *mp;
}
if (mq_try_lock_and_alloc_msg (app_mq, msg))
- return -1;
+ return SESSION_E_MQ_MSG_ALLOC;
evt = svm_msg_q_msg_data (app_mq, msg);
clib_memset (evt, 0, sizeof (*evt));
clib_memset (mp, 0, sizeof (*mp));
mp->context = api_context;
- if (is_fail)
+ if (err)
goto done;
if (session_has_transport (s))
tc = session_get_transport (s);
if (!tc)
{
- is_fail = 1;
+ clib_warning ("failed to retrieve transport!");
+ err = SESSION_E_REFUSED;
goto done;
}
}
done:
- mp->retval = is_fail ?
- clib_host_to_net_u32 (VNET_API_ERROR_SESSION_CONNECT) : 0;
+ mp->retval = err;
svm_msg_q_add_and_unlock (app_mq, msg);
return 0;
}
if (mq_try_lock_and_alloc_msg (app_mq, msg))
- return -1;
+ return SESSION_E_MQ_MSG_ALLOC;
evt = svm_msg_q_msg_data (app_mq, msg);
clib_memset (evt, 0, sizeof (*evt));