aboutsummaryrefslogtreecommitdiffstats
path: root/src/vlibmemory/api.h
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2018-10-02 18:29:25 -0700
committerDave Barach <openvpp@barachs.net>2018-10-03 16:42:38 +0000
commit2881dec8631629cf1fa415a1f63b8561590df275 (patch)
tree4a497a6c5547ec53fcee5884f298e5f8a4650fd7 /src/vlibmemory/api.h
parent5bdd55831e65ffd7bb0122bf31a6c07ef8f5138a (diff)
sock api: fix registrations and client reads
- When clients connect, instead of returing registration indicies return handles. By convention socket registrations will have the MSB set to 1. This makes it easy to distinguish them from shm registrations. - Fix client reads to allow for messages larger than 4kB (needed for the creat reply wherein the message table is provided). Change-Id: I7bc0a072d066dffbf2e3ad9ba3ed50291231af9d Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/vlibmemory/api.h')
-rw-r--r--src/vlibmemory/api.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/vlibmemory/api.h b/src/vlibmemory/api.h
index d66c4398764..dc1e75e484d 100644
--- a/src/vlibmemory/api.h
+++ b/src/vlibmemory/api.h
@@ -55,10 +55,8 @@ vl_api_can_send_msg (vl_api_registration_t * rp)
always_inline vl_api_registration_t *
vl_api_client_index_to_registration (u32 index)
{
- vl_api_registration_t *reg =
- vl_socket_api_client_index_to_registration (index);
- if (reg && reg->registration_type != REGISTRATION_TYPE_FREE)
- return reg;
+ if (vl_socket_api_registration_handle_is_valid (ntohl (index)))
+ return vl_socket_api_client_handle_to_registration (ntohl (index));
return vl_mem_api_client_index_to_registration (index);
}