Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
session tcp: handle rxt and acks as custom events
[vpp.git]
/
src
/
vnet
/
session
/
session_types.h
diff --git
a/src/vnet/session/session_types.h
b/src/vnet/session/session_types.h
index
be1111f
..
9a5bc76
100644
(file)
--- a/
src/vnet/session/session_types.h
+++ b/
src/vnet/session/session_types.h
@@
-19,6
+19,9
@@
#include <svm/svm_fifo.h>
#include <vnet/session/transport_types.h>
#include <svm/svm_fifo.h>
#include <vnet/session/transport_types.h>
+#define SESSION_INVALID_INDEX ((u32)~0)
+#define SESSION_INVALID_HANDLE ((u64)~0)
+
#define foreach_session_endpoint_fields \
foreach_transport_endpoint_cfg_fields \
_(u8, transport_proto) \
#define foreach_session_endpoint_fields \
foreach_transport_endpoint_cfg_fields \
_(u8, transport_proto) \
@@
-40,7
+43,7
@@
typedef struct _session_endpoint_cfg
u32 ns_index;
u8 original_tp;
u8 *hostname;
u32 ns_index;
u8 original_tp;
u8 *hostname;
- u64
transport_opts
;
+ u64
parent_handle
;
} session_endpoint_cfg_t;
#define SESSION_IP46_ZERO \
} session_endpoint_cfg_t;
#define SESSION_IP46_ZERO \
@@
-80,6
+83,7
@@
typedef struct _session_endpoint_cfg
.app_wrk_index = ENDPOINT_INVALID_INDEX, \
.opaque = ENDPOINT_INVALID_INDEX, \
.hostname = 0, \
.app_wrk_index = ENDPOINT_INVALID_INDEX, \
.opaque = ENDPOINT_INVALID_INDEX, \
.hostname = 0, \
+ .parent_handle = SESSION_INVALID_HANDLE \
}
#define session_endpoint_to_transport(_sep) ((transport_endpoint_t *)_sep)
}
#define session_endpoint_to_transport(_sep) ((transport_endpoint_t *)_sep)
@@
-108,6
+112,12
@@
session_endpoint_is_zero (session_endpoint_t * sep)
typedef u8 session_type_t;
typedef u64 session_handle_t;
typedef u8 session_type_t;
typedef u64 session_handle_t;
+typedef enum
+{
+ SESSION_CLEANUP_TRANSPORT,
+ SESSION_CLEANUP_SESSION,
+} session_cleanup_ntf_t;
+
/*
* Session states
*/
/*
* Session states
*/
@@
-121,8
+131,9
@@
typedef enum
SESSION_STATE_OPENED,
SESSION_STATE_TRANSPORT_CLOSING,
SESSION_STATE_CLOSING,
SESSION_STATE_OPENED,
SESSION_STATE_TRANSPORT_CLOSING,
SESSION_STATE_CLOSING,
- SESSION_STATE_
CLOSED_WAITING
,
+ SESSION_STATE_
APP_CLOSED
,
SESSION_STATE_TRANSPORT_CLOSED,
SESSION_STATE_TRANSPORT_CLOSED,
+ SESSION_STATE_TRANSPORT_DELETED,
SESSION_STATE_CLOSED,
SESSION_STATE_N_STATES,
} session_state_t;
SESSION_STATE_CLOSED,
SESSION_STATE_N_STATES,
} session_state_t;
@@
-131,6
+142,7
@@
typedef enum session_flags_
{
SESSION_F_RX_EVT = 1,
SESSION_F_PROXY = (1 << 1),
{
SESSION_F_RX_EVT = 1,
SESSION_F_PROXY = (1 << 1),
+ SESSION_F_CUSTOM_TX = (1 << 2),
} session_flags_t;
typedef struct session_
} session_flags_t;
typedef struct session_