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: first approximation implementation of tls
[vpp.git]
/
src
/
vnet
/
session
/
stream_session.h
diff --git
a/src/vnet/session/stream_session.h
b/src/vnet/session/stream_session.h
index
5c4601d
..
6f6dce6
100644
(file)
--- a/
src/vnet/session/stream_session.h
+++ b/
src/vnet/session/stream_session.h
@@
-85,8
+85,13
@@
typedef struct _stream_session_t
/** Transport specific */
u32 connection_index;
/** Transport specific */
u32 connection_index;
- /** Parent listener session if the result of an accept */
- u32 listener_index;
+ union
+ {
+ /** Parent listener session if the result of an accept */
+ u32 listener_index;
+ /** Opaque, for general use */
+ u32 opaque;
+ };
CLIB_CACHE_LINE_ALIGN_MARK (pad);
} stream_session_t;
CLIB_CACHE_LINE_ALIGN_MARK (pad);
} stream_session_t;
@@
-133,20
+138,27
@@
typedef struct local_session_
CLIB_CACHE_LINE_ALIGN_MARK (pad);
} local_session_t;
CLIB_CACHE_LINE_ALIGN_MARK (pad);
} local_session_t;
+#define foreach_session_endpoint_fields \
+ foreach_transport_connection_fields \
+ _(u8, transport_proto) \
+ _(u8, app_proto) \
+
typedef struct _session_endpoint
{
typedef struct _session_endpoint
{
- /*
- * Network specific
- */
#define _(type, name) type name;
#define _(type, name) type name;
- foreach_
transport_connection
_fields
+ foreach_
session_endpoint
_fields
#undef _
#undef _
- /*
- * Session specific
- */
- u8 transport_proto; /**< transport protocol for session */
} session_endpoint_t;
} session_endpoint_t;
+typedef struct _session_endpoint_extended
+{
+#define _(type, name) type name;
+ foreach_session_endpoint_fields
+#undef _
+ u32 app_index;
+ u32 opaque;
+} session_endpoint_extended_t;
+
#define SESSION_IP46_ZERO \
{ \
.ip6 = { \
#define SESSION_IP46_ZERO \
{ \
.ip6 = { \
@@
-161,6
+173,7
@@
typedef struct _session_endpoint
.is_ip4 = 0, \
.port = 0, \
.transport_proto = 0, \
.is_ip4 = 0, \
.port = 0, \
.transport_proto = 0, \
+ .app_proto = 0, \
}
#define session_endpoint_to_transport(_sep) ((transport_endpoint_t *)_sep)
}
#define session_endpoint_to_transport(_sep) ((transport_endpoint_t *)_sep)