session: support local sessions and deprecate redirects
[vpp.git] / src / vnet / session / application_interface.h
index 686b418..4b7a2df 100644 (file)
@@ -39,9 +39,7 @@ typedef struct _vnet_app_attach_args_t
   /*
    * Results
    */
-  u8 *segment_name;
-  u32 segment_name_length;
-  u32 segment_size;
+  ssvm_private_t *segment;
   u64 app_event_queue_address;
   u32 app_index;
 } vnet_app_attach_args_t;
@@ -89,33 +87,31 @@ typedef struct _vnet_connect_args
 
   /* Used for redirects */
   void *mp;
-  u64 session_handle;
+  session_handle_t session_handle;
 } vnet_connect_args_t;
 
 typedef struct _vnet_disconnect_args_t
 {
-  u64 handle;
+  session_handle_t handle;
   u32 app_index;
 } vnet_disconnect_args_t;
 
 /* Application attach options */
 typedef enum
 {
-  APP_EVT_QUEUE_SIZE,
   APP_OPTIONS_FLAGS,
-  APP_OPTIONS_PREALLOC_FIFO_PAIRS,
+  APP_OPTIONS_EVT_QUEUE_SIZE,
+  APP_OPTIONS_SEGMENT_SIZE,
+  APP_OPTIONS_ADD_SEGMENT_SIZE,
   APP_OPTIONS_PRIVATE_SEGMENT_COUNT,
-  APP_OPTIONS_PRIVATE_SEGMENT_SIZE,
+  APP_OPTIONS_RX_FIFO_SIZE,
+  APP_OPTIONS_TX_FIFO_SIZE,
+  APP_OPTIONS_PREALLOC_FIFO_PAIRS,
   APP_OPTIONS_NAMESPACE,
   APP_OPTIONS_NAMESPACE_SECRET,
   APP_OPTIONS_PROXY_TRANSPORT,
-  SESSION_OPTIONS_SEGMENT_SIZE,
-  SESSION_OPTIONS_ADD_SEGMENT_SIZE,
-  SESSION_OPTIONS_RX_FIFO_SIZE,
-  SESSION_OPTIONS_TX_FIFO_SIZE,
-  SESSION_OPTIONS_PREALLOCATED_FIFO_PAIRS,
-  SESSION_OPTIONS_ACCEPT_COOKIE,
-  SESSION_OPTIONS_N_OPTIONS
+  APP_OPTIONS_ACCEPT_COOKIE,
+  APP_OPTIONS_N_OPTIONS
 } app_attach_options_index_t;
 
 #define foreach_app_options_flags                              \
@@ -156,6 +152,9 @@ int
 api_parse_session_handle (u64 handle, u32 * session_index,
                          u32 * thread_index);
 
+void send_local_session_disconnect_callback (u32 app_index,
+                                            local_session_t * ls);
+
 #endif /* __included_uri_h__ */
 
 /*