summaryrefslogtreecommitdiffstats
path: root/src/vlibapi/api_helper_macros.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vlibapi/api_helper_macros.h')
-rw-r--r--src/vlibapi/api_helper_macros.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/vlibapi/api_helper_macros.h b/src/vlibapi/api_helper_macros.h
index 4e281342db5..aacea7c15e7 100644
--- a/src/vlibapi/api_helper_macros.h
+++ b/src/vlibapi/api_helper_macros.h
@@ -23,6 +23,10 @@
#define f64_endian(a)
#define f64_print(a,b)
+#ifndef REPLY_MSG_ID_BASE
+#define REPLY_MSG_ID_BASE 0
+#endif
+
#define REPLY_MACRO(t) \
do { \
unix_shared_memory_queue_t * q; \
@@ -32,7 +36,7 @@ do { \
return; \
\
rmp = vl_msg_api_alloc (sizeof (*rmp)); \
- rmp->_vl_msg_id = ntohs((t)); \
+ rmp->_vl_msg_id = htons((t)+REPLY_MSG_ID_BASE); \
rmp->context = mp->context; \
rmp->retval = ntohl(rv); \
\
@@ -48,7 +52,7 @@ do { \
return; \
\
rmp = vl_msg_api_alloc (sizeof (*rmp)); \
- rmp->_vl_msg_id = ntohs((t)); \
+ rmp->_vl_msg_id = htons((t)+REPLY_MSG_ID_BASE); \
rmp->context = mp->context; \
rmp->retval = ntohl(rv); \
do {body;} while (0); \
@@ -64,7 +68,7 @@ do { \
return; \
\
rmp = vl_msg_api_alloc (sizeof (*rmp) + n); \
- rmp->_vl_msg_id = ntohs((t)); \
+ rmp->_vl_msg_id = htons((t)+REPLY_MSG_ID_BASE); \
rmp->context = mp->context; \
rmp->retval = ntohl(rv); \
do {body;} while (0); \
@@ -93,7 +97,7 @@ do { \
rv = VNET_API_ERROR_TABLE_TOO_BIG; \
is_error = 1; \
} \
- rmp->_vl_msg_id = ntohs((t)); \
+ rmp->_vl_msg_id = htons((t)+REPLY_MSG_ID_BASE); \
rmp->context = mp->context; \
rmp->retval = ntohl(rv); \
if (!is_error) \