+#define S(mp) \
+do { \
+ int n; \
+ socket_client_main_t *scm = &vam->socket_client_main; \
+ if (scm->socket_enable) \
+ { \
+ msgbuf_t msgbuf = \
+ { \
+ .q = 0, \
+ .gc_mark_timestamp = 0, \
+ .data_len = htonl(scm->socket_tx_nbytes), \
+ }; \
+ \
+ /* coverity[UNINIT] */ \
+ n = write (scm->socket_fd, &msgbuf, sizeof (msgbuf)); \
+ if (n < sizeof (msgbuf)) \
+ clib_unix_warning ("socket write (msgbuf)"); \
+ \
+ n = write (scm->socket_fd, scm->socket_tx_buffer, \
+ scm->socket_tx_nbytes); \
+ if (n < scm->socket_tx_nbytes) \
+ clib_unix_warning ("socket write (msg)"); \
+ } \
+ else \
+ vl_msg_api_send_shmem (vam->vl_input_queue, (u8 *)&mp); \
+ } while (0);