diff options
Diffstat (limited to 'src/vcl')
-rw-r--r-- | src/vcl/vppcom.c | 7 | ||||
-rw-r--r-- | src/vcl/vppcom.h | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/vcl/vppcom.c b/src/vcl/vppcom.c index 30fb76335bc..c5c42add633 100644 --- a/src/vcl/vppcom.c +++ b/src/vcl/vppcom.c @@ -209,6 +209,8 @@ vcl_send_session_listen (vcl_worker_t * wrk, vcl_session_t * s) clib_memcpy_fast (&mp->ip, &s->transport.lcl_ip, sizeof (mp->ip)); mp->port = s->transport.lcl_port; mp->proto = s->session_type; + if (s->flags & VCL_SESSION_F_CONNECTED) + mp->flags = TRANSPORT_CFG_F_CONNECTED; app_send_ctrl_evt_to_vpp (mq, app_evt); } @@ -3597,6 +3599,11 @@ vppcom_session_attr (uint32_t session_handle, uint32_t op, *(int *) buffer = SHUT_RDWR; *buflen = sizeof (int); break; + + case VPPCOM_ATTR_SET_CONNECTED: + session->flags |= VCL_SESSION_F_CONNECTED; + break; + default: rv = VPPCOM_EINVAL; break; diff --git a/src/vcl/vppcom.h b/src/vcl/vppcom.h index e2e0ae7d4bf..c61de372fca 100644 --- a/src/vcl/vppcom.h +++ b/src/vcl/vppcom.h @@ -160,6 +160,7 @@ typedef enum VPPCOM_ATTR_SET_TCP_USER_MSS, VPPCOM_ATTR_SET_SHUT, VPPCOM_ATTR_GET_SHUT, + VPPCOM_ATTR_SET_CONNECTED, } vppcom_attr_op_t; typedef struct _vcl_poll |