summaryrefslogtreecommitdiffstats
path: root/src/vcl
diff options
context:
space:
mode:
Diffstat (limited to 'src/vcl')
-rw-r--r--src/vcl/vppcom.c7
-rw-r--r--src/vcl/vppcom.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/src/vcl/vppcom.c b/src/vcl/vppcom.c
index 173b7fdd556..35e7804d8cb 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);
}
@@ -3592,6 +3594,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