VPP modified some state checking logic
[vpp.git] / src / vcl / vppcom.c
index dd7e90e..34d6203 100644 (file)
@@ -157,7 +157,6 @@ typedef struct
   u32 wait_cont_idx;
   vppcom_epoll_t vep;
   int libc_epfd;
-  u32 vrf;
   vppcom_ip46_t lcl_addr;
   vppcom_ip46_t peer_addr;
   u16 lcl_port;                        // network order
@@ -498,7 +497,7 @@ vppcom_init_error_string_table (void)
 {
   vcm->error_string_by_error_number = hash_create (0, sizeof (uword));
 
-#define _(n,v,s) hash_set (vcm->error_string_by_error_number, -v, s);
+#define _(n, v, s) hash_set (vcm->error_string_by_error_number, -v, s);
   foreach_vnet_api_error;
 #undef _
 
@@ -559,12 +558,12 @@ vppcom_wait_for_session_state_change (u32 session_index,
          clib_spinlock_unlock (&vcm->sessions_lockp);
          return rv;
        }
-      if (session->state == state)
+      if (session->state & state)
        {
          clib_spinlock_unlock (&vcm->sessions_lockp);
          return VPPCOM_OK;
        }
-      if (session->state == STATE_FAILED)
+      if (session->state & STATE_FAILED)
        {
          clib_spinlock_unlock (&vcm->sessions_lockp);
          return VPPCOM_ECONNREFUSED;
@@ -943,7 +942,7 @@ vl_api_connect_session_reply_t_handler (vl_api_connect_session_reply_t * mp)
   u32 session_index;
   svm_fifo_t *rx_fifo, *tx_fifo;
   u8 is_cut_thru = 0;
-  int rv;
+  int rv = VPPCOM_OK;
 
   session_index = mp->context;
   VCL_LOCK_AND_GET_SESSION (session_index, &session);
@@ -954,7 +953,7 @@ done:
                    "connect failed! %U",
                    getpid (), mp->handle, session_index,
                    format_api_error, ntohl (mp->retval));
-      if (rv == VPPCOM_OK)
+      if (session)
        {
          session->state = STATE_FAILED;
          session->vpp_handle = mp->handle;
@@ -1043,7 +1042,6 @@ vppcom_send_connect_sock (session_t * session, u32 session_index)
   cmp->client_index = vcm->my_client_index;
   cmp->context = session_index;
 
-  cmp->vrf = session->vrf;
   cmp->is_ip4 = session->peer_addr.is_ip4;
   clib_memcpy (cmp->ip, &session->peer_addr.ip46, sizeof (cmp->ip));
   cmp->port = session->peer_port;
@@ -1323,7 +1321,7 @@ vl_api_accept_session_t_handler (vl_api_accept_session_t * mp)
 
       if (session->peer_addr.is_ip4)
        {
-         /* *INDENT-OFF* */
+          /* *INDENT-OFF* */
          ELOG_TYPE_DECLARE (e) =
          {
            .format =
@@ -1488,7 +1486,6 @@ vppcom_send_bind_sock (session_t * session, u32 session_index)
   bmp->_vl_msg_id = ntohs (VL_API_BIND_SOCK);
   bmp->client_index = vcm->my_client_index;
   bmp->context = session_index;
-  bmp->vrf = session->vrf;
   bmp->is_ip4 = session->lcl_addr.is_ip4;
   clib_memcpy (bmp->ip, &session->lcl_addr.ip46, sizeof (bmp->ip));
   bmp->port = session->lcl_port;
@@ -1686,7 +1683,7 @@ _(MAP_ANOTHER_SEGMENT, map_another_segment)
 static void
 vppcom_api_hookup (void)
 {
-#define _(N,n)                                                  \
+#define _(N, n)                                                  \
     vl_msg_api_set_handlers(VL_API_##N, #n,                     \
                            vl_api_##n##_t_handler,              \
                            vl_noop_handler,                     \
@@ -2239,8 +2236,8 @@ vppcom_app_create (char *app_name)
 
          if (VPPCOM_DEBUG > 0)
            clib_warning ("VCL<%d>: configured namespace_id (%v) from "
-                         VPPCOM_ENV_APP_NAMESPACE_ID "!", getpid (),
-                         vcm->cfg.namespace_id);
+                         VPPCOM_ENV_APP_NAMESPACE_ID
+                         "!", getpid (), vcm->cfg.namespace_id);
        }
       env_var_str = getenv (VPPCOM_ENV_APP_NAMESPACE_SECRET);
       if (env_var_str)
@@ -2256,8 +2253,9 @@ vppcom_app_create (char *app_name)
              vcm->cfg.namespace_secret = tmp;
              if (VPPCOM_DEBUG > 0)
                clib_warning ("VCL<%d>: configured namespace secret "
-                             "(%lu) from " VPPCOM_ENV_APP_NAMESPACE_ID "!",
-                             getpid (), vcm->cfg.namespace_secret);
+                             "(%lu) from "
+                             VPPCOM_ENV_APP_NAMESPACE_ID
+                             "!", getpid (), vcm->cfg.namespace_secret);
            }
        }
       if (getenv (VPPCOM_ENV_APP_PROXY_TRANSPORT_TCP))
@@ -2265,7 +2263,8 @@ vppcom_app_create (char *app_name)
          vcm->cfg.app_proxy_transport_tcp = 1;
          if (VPPCOM_DEBUG > 0)
            clib_warning ("VCL<%d>: configured app_proxy_transport_tcp "
-                         "(%u) from " VPPCOM_ENV_APP_PROXY_TRANSPORT_TCP
+                         "(%u) from "
+                         VPPCOM_ENV_APP_PROXY_TRANSPORT_TCP
                          "!", getpid (), vcm->cfg.app_proxy_transport_tcp);
        }
       if (getenv (VPPCOM_ENV_APP_PROXY_TRANSPORT_UDP))
@@ -2273,7 +2272,8 @@ vppcom_app_create (char *app_name)
          vcm->cfg.app_proxy_transport_udp = 1;
          if (VPPCOM_DEBUG > 0)
            clib_warning ("VCL<%d>: configured app_proxy_transport_udp "
-                         "(%u) from " VPPCOM_ENV_APP_PROXY_TRANSPORT_UDP
+                         "(%u) from "
+                         VPPCOM_ENV_APP_PROXY_TRANSPORT_UDP
                          "!", getpid (), vcm->cfg.app_proxy_transport_udp);
        }
       if (getenv (VPPCOM_ENV_APP_SCOPE_LOCAL))
@@ -2281,16 +2281,16 @@ vppcom_app_create (char *app_name)
          vcm->cfg.app_scope_local = 1;
          if (VPPCOM_DEBUG > 0)
            clib_warning ("VCL<%d>: configured app_scope_local (%u) from "
-                         VPPCOM_ENV_APP_SCOPE_LOCAL "!", getpid (),
-                         vcm->cfg.app_scope_local);
+                         VPPCOM_ENV_APP_SCOPE_LOCAL
+                         "!", getpid (), vcm->cfg.app_scope_local);
        }
       if (getenv (VPPCOM_ENV_APP_SCOPE_GLOBAL))
        {
          vcm->cfg.app_scope_global = 1;
          if (VPPCOM_DEBUG > 0)
            clib_warning ("VCL<%d>: configured app_scope_global (%u) from "
-                         VPPCOM_ENV_APP_SCOPE_GLOBAL "!", getpid (),
-                         vcm->cfg.app_scope_global);
+                         VPPCOM_ENV_APP_SCOPE_GLOBAL
+                         "!", getpid (), vcm->cfg.app_scope_global);
        }
 
       vcm->main_cpu = os_get_thread_index ();
@@ -2402,7 +2402,7 @@ vppcom_app_destroy (void)
 }
 
 int
-vppcom_session_create (u32 vrf, u8 proto, u8 is_nonblocking)
+vppcom_session_create (u8 proto, u8 is_nonblocking)
 {
   session_t *session;
   u32 session_index;
@@ -2412,7 +2412,6 @@ vppcom_session_create (u32 vrf, u8 proto, u8 is_nonblocking)
   memset (session, 0, sizeof (*session));
   session_index = session - vcm->sessions;
 
-  session->vrf = vrf;
   session->proto = proto;
   session->state = STATE_START;
   session->is_nonblocking = is_nonblocking ? 1 : 0;
@@ -2432,20 +2431,19 @@ vppcom_session_create (u32 vrf, u8 proto, u8 is_nonblocking)
       /* *INDENT-OFF* */
       ELOG_TYPE_DECLARE (e) =
       {
-       .format = "session_create:vrf:%d proto:%d state:%d is_nonblocking:%d",
-       .format_args = "i4i4i4i4",
+       .format = "session_create:proto:%d state:%d is_nonblocking:%d",
+       .format_args = "i4i4i4",
       };
 
       struct
       {
-       u32 data[4];
+       u32 data[3];
       } *ed;
 
       ed = ELOG_TRACK_DATA (&vcm->elog_main, e, session->elog_track);
-      ed->data[0] = session->vrf;
-      ed->data[1] = session->proto;
-      ed->data[2] = session->state;
-      ed->data[3] = session->is_nonblocking;
+      ed->data[0] = session->proto;
+      ed->data[1] = session->state;
+      ed->data[2] = session->is_nonblocking;
       /* *INDENT-ON* */
     }
 
@@ -2518,7 +2516,7 @@ vppcom_session_close (uint32_t session_index)
 
       if (is_listen)
        {
-         if (state == STATE_LISTEN)
+         if (state & STATE_LISTEN)
            {
              rv = vppcom_session_unbind (session_index);
              if (PREDICT_FALSE (rv < 0))
@@ -2607,7 +2605,6 @@ vppcom_session_bind (uint32_t session_index, vppcom_endpt_t * ep)
       goto done;
     }
 
-  session->vrf = ep->vrf;
   session->lcl_addr.is_ip4 = ep->is_ip4;
   session->lcl_addr.ip46 = to_ip46 (!ep->is_ip4, ep->ip);
   session->lcl_port = ep->port;
@@ -2625,7 +2622,7 @@ vppcom_session_bind (uint32_t session_index, vppcom_endpt_t * ep)
     {
       if (session->lcl_addr.is_ip4)
        {
-         /* *INDENT-OFF* */
+          /* *INDENT-OFF* */
          ELOG_TYPE_DECLARE (e) =
          {
            .format = "bind local:%s:%d.%d.%d.%d:%d ",
@@ -2795,7 +2792,6 @@ vppcom_session_accept (uint32_t listen_session_index, vppcom_endpt_t * ep,
 
   if (ep)
     {
-      ep->vrf = client_session->vrf;
       ep->is_cut_thru = client_session->is_cut_thru;
       ep->is_ip4 = client_session->peer_addr.is_ip4;
       ep->port = client_session->peer_port;
@@ -2977,7 +2973,7 @@ vppcom_session_accept (uint32_t listen_session_index, vppcom_endpt_t * ep,
 
       if (client_session->lcl_addr.is_ip4)
        {
-         /* *INDENT-OFF* */
+          /* *INDENT-OFF* */
          ELOG_TYPE_DECLARE (e2) =
          {
            .format = "accept cut-thru: S:%d %d.%d.%d.%d:%d ",
@@ -3054,7 +3050,6 @@ vppcom_session_connect (uint32_t session_index, vppcom_endpt_t * server_ep)
       goto done;
     }
 
-  session->vrf = server_ep->vrf;
   session->peer_addr.is_ip4 = server_ep->is_ip4;
   session->peer_addr.ip46 = to_ip46 (!server_ep->is_ip4, server_ep->ip);
   session->peer_port = server_ep->port;
@@ -3131,8 +3126,7 @@ vppcom_session_read_internal (uint32_t session_index, void *buf, int n,
   if (PREDICT_FALSE (!(state & (SERVER_STATE_OPEN | CLIENT_STATE_OPEN))))
     {
       clib_spinlock_unlock (&vcm->sessions_lockp);
-      rv = ((state == STATE_DISCONNECT) ?
-           VPPCOM_ECONNRESET : VPPCOM_ENOTCONN);
+      rv = ((state & STATE_DISCONNECT) ? VPPCOM_ECONNRESET : VPPCOM_ENOTCONN);
 
       if (VPPCOM_DEBUG > 0)
        clib_warning ("VCL<%d>: vpp handle 0x%llx, sid %u: %s session is "
@@ -3168,7 +3162,7 @@ vppcom_session_read_internal (uint32_t session_index, void *buf, int n,
       if (poll_et)
        session->vep.et_mask |= EPOLLIN;
 
-      if (state == STATE_CLOSE_ON_EMPTY)
+      if (state & STATE_CLOSE_ON_EMPTY)
        {
          session_state_t new_state = STATE_DISCONNECT;
          rv = VPPCOM_ECONNRESET;
@@ -3248,7 +3242,7 @@ vppcom_session_read_ready (session_t * session, u32 session_index)
     {
       if (!(state & (SERVER_STATE_OPEN | CLIENT_STATE_OPEN | STATE_LISTEN)))
        {
-         rv = ((state == STATE_DISCONNECT) ? VPPCOM_ECONNRESET :
+         rv = ((state & STATE_DISCONNECT) ? VPPCOM_ECONNRESET :
                VPPCOM_ENOTCONN);
 
          if (VPPCOM_DEBUG > 1)
@@ -3274,7 +3268,7 @@ vppcom_session_read_ready (session_t * session, u32 session_index)
       if (poll_et)
        session->vep.et_mask |= EPOLLIN;
 
-      if (state == STATE_CLOSE_ON_EMPTY)
+      if (state & STATE_CLOSE_ON_EMPTY)
        {
          rv = VPPCOM_ECONNRESET;
          session_state_t new_state = STATE_DISCONNECT;
@@ -3348,8 +3342,7 @@ vppcom_session_write (uint32_t session_index, void *buf, size_t n)
   state = session->state;
   if (!(state & (SERVER_STATE_OPEN | CLIENT_STATE_OPEN)))
     {
-      rv = ((state == STATE_DISCONNECT) ? VPPCOM_ECONNRESET :
-           VPPCOM_ENOTCONN);
+      rv = ((state & STATE_DISCONNECT) ? VPPCOM_ECONNRESET : VPPCOM_ENOTCONN);
 
       clib_spinlock_unlock (&vcm->sessions_lockp);
       if (VPPCOM_DEBUG > 1)
@@ -3401,7 +3394,7 @@ vppcom_session_write (uint32_t session_index, void *buf, size_t n)
       if (poll_et)
        session->vep.et_mask |= EPOLLOUT;
 
-      if (state == STATE_CLOSE_ON_EMPTY)
+      if (state & STATE_CLOSE_ON_EMPTY)
        {
          session_state_t new_state = STATE_DISCONNECT;
          rv = VPPCOM_ECONNRESET;
@@ -3477,8 +3470,7 @@ vppcom_session_write_ready (session_t * session, u32 session_index)
     {
       session_state_t state = session->state;
 
-      rv = ((state == STATE_DISCONNECT) ? VPPCOM_ECONNRESET :
-           VPPCOM_ENOTCONN);
+      rv = ((state & STATE_DISCONNECT) ? VPPCOM_ECONNRESET : VPPCOM_ENOTCONN);
 
       clib_warning ("VCL<%d>: ERROR: vpp handle 0x%llx, sid %u: "
                    "%s session is not open! state 0x%x (%s), "
@@ -3509,7 +3501,7 @@ vppcom_session_write_ready (session_t * session, u32 session_index)
       if (poll_et)
        session->vep.et_mask |= EPOLLOUT;
 
-      if (state == STATE_CLOSE_ON_EMPTY)
+      if (state & STATE_CLOSE_ON_EMPTY)
        {
          rv = VPPCOM_ECONNRESET;
          session_state_t new_state = STATE_DISCONNECT;
@@ -3894,7 +3886,7 @@ vppcom_epoll_ctl (uint32_t vep_idx, int op, uint32_t session_index,
                      event->events, event->data.u64);
       if (VPPCOM_DEBUG > 0)
        {
-         /* *INDENT-OFF* */
+          /* *INDENT-OFF* */
          ELOG_TYPE_DECLARE (e) =
            {
              .format = "epoll_ctladd: events:%x data:%x",
@@ -4010,7 +4002,7 @@ vppcom_epoll_ctl (uint32_t vep_idx, int op, uint32_t session_index,
                      getpid (), vep_idx, session_index);
       if (VPPCOM_DEBUG > 0)
        {
-         /* *INDENT-OFF* */
+          /* *INDENT-OFF* */
          ELOG_TYPE_DECLARE (e) =
            {
              .format = "epoll_ctldel: vep:%d",
@@ -4080,7 +4072,7 @@ vppcom_epoll_wait (uint32_t vep_idx, struct epoll_event *events,
                      getpid (), vep_idx);
       if (VPPCOM_DEBUG > 0)
        {
-         /* *INDENT-OFF* */
+          /* *INDENT-OFF* */
          ELOG_TYPE_DECLARE (e) =
            {
              .format = "WRN: vep_idx:%d empty",
@@ -4130,7 +4122,7 @@ vppcom_epoll_wait (uint32_t vep_idx, struct epoll_event *events,
                              getpid (), vep_idx);
              if (VPPCOM_DEBUG > 0)
                {
-                 /* *INDENT-OFF* */
+                  /* *INDENT-OFF* */
                  ELOG_TYPE_DECLARE (e) =
                    {
                      .format = "ERR:vep_idx:%d is vep",
@@ -4157,7 +4149,7 @@ vppcom_epoll_wait (uint32_t vep_idx, struct epoll_event *events,
                              "a vep session!", getpid (), sid);
              if (VPPCOM_DEBUG > 0)
                {
-                 /* *INDENT-OFF* */
+                  /* *INDENT-OFF* */
                  ELOG_TYPE_DECLARE (e) =
                    {
                      .format = "ERR:SID:%d not vep",
@@ -4306,7 +4298,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                      getpid (), rv);
       if (VPPCOM_DEBUG > 0)
        {
-         /* *INDENT-OFF* */
+          /* *INDENT-OFF* */
          ELOG_TYPE_DECLARE (e) =
            {
              .format = "VPPCOM_ATTR_GET_NREAD: nread=%d",
@@ -4332,7 +4324,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                      getpid (), session_index, rv);
       if (VPPCOM_DEBUG > 0)
        {
-         /* *INDENT-OFF* */
+          /* *INDENT-OFF* */
          ELOG_TYPE_DECLARE (e) =
            {
              .format = "VPPCOM_ATTR_GET_NWRITE: nwrite=%d",
@@ -4361,7 +4353,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          session_index, *flags, session->is_nonblocking);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_GET_FLAGS: flags=%x is_nonblk=%d",
@@ -4396,7 +4388,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          session->is_nonblocking);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_SET_FLAGS: flags=%x is_nonblk=%d",
@@ -4423,7 +4415,6 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
       if (PREDICT_TRUE (buffer && buflen &&
                        (*buflen >= sizeof (*ep)) && ep->ip))
        {
-         ep->vrf = session->vrf;
          ep->is_ip4 = session->peer_addr.is_ip4;
          ep->port = session->peer_port;
          if (session->peer_addr.is_ip4)
@@ -4443,7 +4434,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
            {
              if (ep->is_ip4)
                {
-                 /* *INDENT-OFF* */
+                    /* *INDENT-OFF* */
                  ELOG_TYPE_DECLARE (e) =
                    {
                      .format = "VPPCOM_ATTR_GET_PEER_ADDR: addr:%d.%d.%d.%d:%d",
@@ -4465,7 +4456,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                }
              else
                {
-                 /* *INDENT-OFF* */
+                    /* *INDENT-OFF* */
                  ELOG_TYPE_DECLARE (e) =
                    {
                      .format = "VPPCOM_ATTR_GET_PEER_ADDR: addr:IP6:%d",
@@ -4490,7 +4481,6 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
       if (PREDICT_TRUE (buffer && buflen &&
                        (*buflen >= sizeof (*ep)) && ep->ip))
        {
-         ep->vrf = session->vrf;
          ep->is_ip4 = session->lcl_addr.is_ip4;
          ep->port = session->lcl_port;
          if (session->lcl_addr.is_ip4)
@@ -4510,7 +4500,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
            {
              if (ep->is_ip4)
                {
-                 /* *INDENT-OFF* */
+                    /* *INDENT-OFF* */
                  ELOG_TYPE_DECLARE (e) =
                    {
                      .format = "VPPCOM_ATTR_GET_LCL_ADDR: addr:%d.%d.%d.%d:%d",
@@ -4532,7 +4522,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                }
              else
                {
-                 /* *INDENT-OFF* */
+                    /* *INDENT-OFF* */
                  ELOG_TYPE_DECLARE (e) =
                    {
                      .format = "VPPCOM_ATTR_GET_LCL_ADDR: addr:IP6:%d",
@@ -4560,7 +4550,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                      getpid (), rv);
       if (VPPCOM_DEBUG > 0)
        {
-         /* *INDENT-OFF* */
+          /* *INDENT-OFF* */
          ELOG_TYPE_DECLARE (e) =
            {
              .format = "VPPCOM_ATTR_GET_LIBC_EPFD: libc_epfd=%d",
@@ -4590,7 +4580,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_SET_LIBC_EPFD: libc_epfd=%s%d buflen=%d",
@@ -4627,7 +4617,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          *(int *) buffer ? "UDP" : "TCP", *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_GET_PROTOCOL: %s buflen=%d",
@@ -4663,7 +4653,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          "buflen %d", getpid (), *(int *) buffer, *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_GET_LISTEN: %d buflen=%d",
@@ -4696,7 +4686,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          *(int *) buffer, *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_GET_ERROR: %d buflen=%d",
@@ -4737,7 +4727,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          *(size_t *) buffer, *(size_t *) buffer, *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_GET_TX_FIFO_LEN: 0x%x buflen=%d",
@@ -4770,7 +4760,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_SET_TX_FIFO_LEN: 0x%x buflen=%d",
@@ -4811,7 +4801,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          *(size_t *) buffer, *(size_t *) buffer, *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_GET_RX_FIFO_LEN: 0x%x buflen=%d",
@@ -4838,16 +4828,16 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
          /* VPP-TBD */
          session->rcvbuf_size = *(u32 *) buffer;
          if (VPPCOM_DEBUG > 2)
-           clib_warning ("VCL<%d>: VPPCOM_ATTR_SET_TX_FIFO_LEN: %u (0x%x), "
+           clib_warning ("VCL<%d>: VPPCOM_ATTR_SET_RX_FIFO_LEN: %u (0x%x), "
                          "buflen %d, #VPP-TBD#", getpid (),
                          session->sndbuf_size, session->sndbuf_size,
                          *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
-                 .format = "VPPCOM_ATTR_SET_TX_FIFO_LEN: 0x%x buflen=%d",
+                 .format = "VPPCOM_ATTR_SET_RX_FIFO_LEN: 0x%x buflen=%d",
                  .format_args = "i4i4",
                };
 
@@ -4879,7 +4869,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_GET_REUSEADDR: %d buflen=%d",
@@ -4918,7 +4908,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_SET_REUSEADDR: %d buflen=%d",
@@ -4954,7 +4944,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_GET_REUSEPORT: %d buflen=%d",
@@ -4993,7 +4983,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_SET_REUSEPORT: %d buflen=%d",
@@ -5029,7 +5019,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_GET_BROADCAST: %d buflen=%d",
@@ -5067,7 +5057,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_SET_BROADCAST: %d buflen=%d",
@@ -5103,7 +5093,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_GET_V6ONLY: %d buflen=%d",
@@ -5140,7 +5130,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                                              VCL_SESS_ATTR_V6ONLY), *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_SET_V6ONLY: %d buflen=%d",
@@ -5176,7 +5166,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_GET_KEEPALIVE: %d buflen=%d",
@@ -5214,7 +5204,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_SET_KEEPALIVE: %d buflen=%d",
@@ -5250,7 +5240,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_GET_TCP_NODELAY: %d buflen=%d",
@@ -5288,7 +5278,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_SET_TCP_NODELAY: %d buflen=%d",
@@ -5324,7 +5314,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_GET_TCP_KEEPIDLE: %d buflen=%d",
@@ -5362,7 +5352,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_SET_TCP_KEEPIDLE: %d buflen=%d",
@@ -5398,7 +5388,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_GET_TCP_KEEPIDLE: %d buflen=%d",
@@ -5436,7 +5426,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_SET_TCP_KEEPINTVL: %d buflen=%d",
@@ -5471,7 +5461,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_GET_TCP_USER_MSS: %d buflen=%d",
@@ -5504,7 +5494,7 @@ vppcom_session_attr (uint32_t session_index, uint32_t op,
                          session->user_mss, *buflen);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+                /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "VPPCOM_ATTR_SET_TCP_USER_MSS: %d buflen=%d",
@@ -5555,7 +5545,7 @@ vppcom_session_recvfrom (uint32_t session_index, void *buffer,
                          getpid (), session_index);
          if (VPPCOM_DEBUG > 0)
            {
-             /* *INDENT-OFF* */
+              /* *INDENT-OFF* */
              ELOG_TYPE_DECLARE (e) =
                {
                  .format = "invalid session: %d closed",
@@ -5574,7 +5564,6 @@ vppcom_session_recvfrom (uint32_t session_index, void *buffer,
          clib_spinlock_unlock (&vcm->sessions_lockp);
          goto done;
        }
-      ep->vrf = session->vrf;
       ep->is_ip4 = session->peer_addr.is_ip4;
       ep->port = session->peer_port;
       if (session->peer_addr.is_ip4)