diff options
author | Florin Coras <fcoras@cisco.com> | 2019-10-16 11:21:41 -0700 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2019-10-16 22:42:54 +0000 |
commit | e24a4bc023b880cb01aeaf8ffea98f44dd66ef4a (patch) | |
tree | def4dc147d4fcfc1801a18075176f98a82af7fa4 /src | |
parent | 8a8b05c526883fe34b83239a3c4f56087d1df9e5 (diff) |
session: increase max ctrl msg size
Type: fix
Connect ctrl message recently outgrew the maximum ctrl msg size, so
increase the limit. Also add static asserts for messages that could
potentially exceed the limit.
Change-Id: I0d3e32e0d4d67d7e222cff14ddba59a0c3fb8b00
Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/vnet/session/application_interface.h | 12 | ||||
-rw-r--r-- | src/vnet/session/session.h | 2 | ||||
-rw-r--r-- | src/vnet/session/session_types.h | 1 |
3 files changed, 13 insertions, 2 deletions
diff --git a/src/vnet/session/application_interface.h b/src/vnet/session/application_interface.h index e5e36b841d1..d907287198a 100644 --- a/src/vnet/session/application_interface.h +++ b/src/vnet/session/application_interface.h @@ -298,6 +298,9 @@ typedef struct session_listen_msg_ u32 ckpair_index; } __clib_packed session_listen_msg_t; +STATIC_ASSERT (sizeof (session_listen_msg_t) <= SESSION_CTRL_MSG_MAX_SIZE, + "msg too large"); + typedef struct session_listen_uri_msg_ { u32 client_index; @@ -305,6 +308,9 @@ typedef struct session_listen_uri_msg_ u8 uri[56]; } __clib_packed session_listen_uri_msg_t; +STATIC_ASSERT (sizeof (session_listen_uri_msg_t) <= SESSION_CTRL_MSG_MAX_SIZE, + "msg too large"); + typedef struct session_bound_msg_ { u32 context; @@ -371,6 +377,9 @@ typedef struct session_connect_msg_ u32 ckpair_index; } __clib_packed session_connect_msg_t; +STATIC_ASSERT (sizeof (session_connect_msg_t) <= SESSION_CTRL_MSG_MAX_SIZE, + "msg too large"); + typedef struct session_connect_uri_msg_ { u32 client_index; @@ -378,6 +387,9 @@ typedef struct session_connect_uri_msg_ u8 uri[56]; } __clib_packed session_connect_uri_msg_t; +STATIC_ASSERT (sizeof (session_connect_uri_msg_t) <= + SESSION_CTRL_MSG_MAX_SIZE, "msg too large"); + typedef struct session_connected_msg_ { u32 context; diff --git a/src/vnet/session/session.h b/src/vnet/session/session.h index cb0cac7cda6..1d3ae0ca4b2 100644 --- a/src/vnet/session/session.h +++ b/src/vnet/session/session.h @@ -62,8 +62,6 @@ typedef struct session_tx_context_ session_dgram_hdr_t hdr; } session_tx_context_t; -#define SESSION_CTRL_MSG_MAX_SIZE 64 - typedef struct session_evt_elt { clib_llist_anchor_t evt_list; diff --git a/src/vnet/session/session_types.h b/src/vnet/session/session_types.h index bb309f2f31c..c2bb4dd56cb 100644 --- a/src/vnet/session/session_types.h +++ b/src/vnet/session/session_types.h @@ -21,6 +21,7 @@ #define SESSION_INVALID_INDEX ((u32)~0) #define SESSION_INVALID_HANDLE ((u64)~0) +#define SESSION_CTRL_MSG_MAX_SIZE 68 #define foreach_session_endpoint_fields \ foreach_transport_endpoint_cfg_fields \ |