aboutsummaryrefslogtreecommitdiffstats
path: root/libtransport/src/hicn/transport/core/hicn_binary_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'libtransport/src/hicn/transport/core/hicn_binary_api.c')
-rw-r--r--libtransport/src/hicn/transport/core/hicn_binary_api.c56
1 files changed, 56 insertions, 0 deletions
diff --git a/libtransport/src/hicn/transport/core/hicn_binary_api.c b/libtransport/src/hicn/transport/core/hicn_binary_api.c
index 7f63c9826..1f8dfd326 100644
--- a/libtransport/src/hicn/transport/core/hicn_binary_api.c
+++ b/libtransport/src/hicn/transport/core/hicn_binary_api.c
@@ -102,7 +102,9 @@ static context_store_t context_store = {
*/
#define foreach_hicn_api_reply_msg \
_(HICN_API_REGISTER_PROD_APP_REPLY, hicn_api_register_prod_app_reply) \
+ _(HICN_API_FACE_PROD_DEL_REPLY, hicn_api_face_prod_del_reply) \
_(HICN_API_REGISTER_CONS_APP_REPLY, hicn_api_register_cons_app_reply) \
+ _(HICN_API_FACE_CONS_DEL_REPLY, hicn_api_face_cons_del_reply) \
_(HICN_API_ROUTE_NHOPS_ADD_REPLY, hicn_api_route_nhops_add_reply)
int hicn_binary_api_register_prod_app(
@@ -145,6 +147,34 @@ static void vl_api_hicn_api_register_prod_app_reply_t_handler(
vpp_binary_api_unlock_waiting_thread(binary_api->vpp_api);
}
+int hicn_binary_api_face_prod_del(
+ vpp_plugin_binary_api_t *api, hicn_del_face_app_input_params *input_params) {
+ vl_api_hicn_api_face_prod_del_t *mp;
+ vpp_plugin_binary_api_t *hm = api;
+
+ //vpp_binary_api_set_user_param(hm->vpp_api, output_params);
+
+ /* Construct the API message */
+ M(HICN_API_FACE_PROD_DEL, mp);
+
+ mp->faceid = clib_host_to_net_u32(input_params->face_id);
+
+ CONTEXT_SAVE(context_store, api, mp)
+
+ return vpp_binary_api_send_request_wait_reply(api->vpp_api, mp);
+}
+
+static void vl_api_hicn_api_face_prod_del_reply_t_handler(
+ vl_api_hicn_api_face_prod_del_reply_t *mp) {
+ vpp_plugin_binary_api_t *binary_api;
+ CONTEXT_GET(context_store, mp, binary_api);
+
+ vpp_binary_api_set_ret_value(binary_api->vpp_api,
+ clib_net_to_host_u32(mp->retval));
+
+ vpp_binary_api_unlock_waiting_thread(binary_api->vpp_api);
+}
+
int hicn_binary_api_register_cons_app(
vpp_plugin_binary_api_t *api, hicn_consumer_input_params *input_params,
hicn_consumer_output_params *output_params) {
@@ -181,6 +211,32 @@ static void vl_api_hicn_api_register_cons_app_reply_t_handler(
vpp_binary_api_unlock_waiting_thread(binary_api->vpp_api);
}
+int hicn_binary_api_face_cons_del(
+ vpp_plugin_binary_api_t *api, hicn_del_face_app_input_params *input_params) {
+ vl_api_hicn_api_face_cons_del_t *mp;
+ vpp_plugin_binary_api_t *hm = api;
+
+ /* Construct the API message */
+ M(HICN_API_FACE_CONS_DEL, mp);
+
+ mp->faceid = clib_host_to_net_u32(input_params->face_id);
+
+ CONTEXT_SAVE(context_store, api, mp)
+
+ return vpp_binary_api_send_request_wait_reply(api->vpp_api, mp);
+}
+
+static void vl_api_hicn_api_face_cons_del_reply_t_handler(
+ vl_api_hicn_api_face_cons_del_reply_t *mp) {
+ vpp_plugin_binary_api_t *binary_api;
+ CONTEXT_GET(context_store, mp, binary_api);
+
+ vpp_binary_api_set_ret_value(binary_api->vpp_api,
+ clib_net_to_host_u32(mp->retval));
+
+ vpp_binary_api_unlock_waiting_thread(binary_api->vpp_api);
+}
+
int hicn_binary_api_register_route(
vpp_plugin_binary_api_t *api,
hicn_producer_set_route_params *input_params) {