Do not listen unless configured with cli-listen.
I noticed while mucking about with lsof that vpp
was listening on port 5000.
telnet 0 5000 revealed that it was listening for
the cli on that port.
Digging into the code, it turns out that if you
do not configure cli-listen (Example:
unix {
cli-listen localhost:5002
}
)
Then vpp is listening on the first available port
starting at port 5000 anyway. This is a simple
patch to *not* listen unless configured to do so.
Change-Id: Id7f6f4d69e0a1642d2767849a90b21f38f21ecaa
Signed-off-by: Ed Warnicke <eaw@cisco.com>
diff --git a/vlib/vlib/unix/cli.c b/vlib/vlib/unix/cli.c
index f8b7f08..2cdd476 100644
--- a/vlib/vlib/unix/cli.c
+++ b/vlib/vlib/unix/cli.c
@@ -686,7 +686,7 @@
unix_main_t * um = &unix_main;
unix_cli_main_t * cm = &unix_cli_main;
int flags, standard_input_fd;
- clib_error_t * error;
+ clib_error_t * error = 0;
/* We depend on unix flags being set. */
if ((error = vlib_call_config_function (vm, unix_config)))
@@ -704,14 +704,15 @@
unix_cli_file_add (cm, "stdin", standard_input_fd);
}
- {
+ /* If we have socket config, LISTEN, otherwise, don't */
+ clib_socket_t * s = &um->cli_listen_socket;
+ if(s->config && s->config[0] != 0) {
/* CLI listen. */
- clib_socket_t * s = &um->cli_listen_socket;
unix_file_t template = {0};
s->flags = SOCKET_IS_SERVER; /* listen, don't connect */
-
error = clib_socket_init (s);
+
if (error)
return error;