+/** \brief ask app to add a new cut-through registration
+ @param client_index - opaque cookie to identify the sender
+ client to vpp direction only
+ @param context - sender context, to match reply w/ request
+ @param evt_q_address - address of the mq in ssvm segment
+ @param peer_evt_q_address - address of peer's mq in ssvm segment
+ @param wrk_index - index of worker to receive the registration
+ @param n_fds - number of fds exchanged
+ @param fd_flags - flag indicating the fds that will be exchanged over
+ api socket
+*/
+autoreply define app_cut_through_registration_add
+{
+ u32 client_index;
+ u32 context;
+ u64 evt_q_address;
+ u64 peer_evt_q_address;
+ u32 wrk_index;
+ u8 n_fds;
+ u8 fd_flags;
+};
+
+/** \brief add/del application worker
+ @param client_index - opaque cookie to identify the sender
+ client to vpp direction only
+ @param context - sender context, to match reply w/ request
+ @param app_index - application index
+ @param wrk_index - worker index, if a delete
+ @param is_add - set if an add
+*/
+define app_worker_add_del
+{
+ u32 client_index;
+ u32 context;
+ u32 app_index;
+ u32 wrk_index;
+ u8 is_add;
+};
+
+/** \brief Reply for app worker add/del
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+ @param wrk_index - worker index, if add
+ @param app_event_queue_address - vpp event queue address of new worker
+ @param n_fds - number of fds exchanged
+ @param fd_flags - set of flags that indicate which fds are to be expected
+ over the socket (set only if socket transport available)
+ @param segment_name_length - length of segment name
+ @param segment_name - name of segment client needs to attach to
+ @param segment_handle - handle for segment
+*/
+define app_worker_add_del_reply
+{
+ u32 context;
+ i32 retval;
+ u32 wrk_index;
+ u64 app_event_queue_address;
+ u8 n_fds;
+ u8 fd_flags;
+ u8 segment_name_length;
+ u8 segment_name[128];
+ u64 segment_handle;
+ u8 is_add;
+};
+