From: Florin Coras Date: Thu, 11 Jan 2018 10:23:35 +0000 (-0800) Subject: tcp: make proxy server uri cli configurable X-Git-Tag: v18.04-rc1~495 X-Git-Url: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commitdiff_plain;h=ee7e1f50726490990b593b850857b3877c9a687f tcp: make proxy server uri cli configurable Change-Id: I94c7315558ccc9f3d4bcdefd09a696234bc56227 Signed-off-by: Florin Coras --- diff --git a/src/vnet/tcp/builtin_proxy.c b/src/vnet/tcp/builtin_proxy.c index 974830ea756..396b45c6a46 100644 --- a/src/vnet/tcp/builtin_proxy.c +++ b/src/vnet/tcp/builtin_proxy.c @@ -226,7 +226,7 @@ server_rx_callback (stream_session_t * s) clib_spinlock_unlock_if_init (&bpm->sessions_lock); - a->uri = "tcp://6.0.2.2/23"; + a->uri = (char *) bpm->client_uri; a->api_context = proxy_index; a->app_index = bpm->active_open_app_index; a->mp = 0; @@ -464,7 +464,7 @@ server_listen () vnet_bind_args_t _a, *a = &_a; memset (a, 0, sizeof (*a)); a->app_index = bpm->server_app_index; - a->uri = "tcp://0.0.0.0/23"; + a->uri = (char *) bpm->server_uri; return vnet_bind_uri (a); } @@ -529,6 +529,7 @@ proxy_server_create_command_fn (vlib_main_t * vm, unformat_input_t * input, bpm->prealloc_fifos = 0; bpm->private_segment_count = 0; bpm->private_segment_size = 0; + bpm->server_uri = 0; while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT) { @@ -549,11 +550,20 @@ proxy_server_create_command_fn (vlib_main_t * vm, unformat_input_t * input, (0, "private segment size %lld (%llu) too large", tmp, tmp); bpm->private_segment_size = tmp; } + else if (unformat (input, "server-uri %s", &bpm->server_uri)) + ; + else if (unformat (input, "client-uri %s", &bpm->client_uri)) + ; else return clib_error_return (0, "unknown input `%U'", format_unformat_error, input); } + if (!bpm->server_uri) + bpm->server_uri = format (0, "%s%c", "tcp://0.0.0.0/23", 0); + if (!bpm->server_uri) + bpm->client_uri = format (0, "%s%c", "tcp://6.0.2.2/23", 0); + vnet_session_enable_disable (vm, 1 /* turn on TCP, etc. */ ); rv = server_create (vm); @@ -572,7 +582,10 @@ proxy_server_create_command_fn (vlib_main_t * vm, unformat_input_t * input, VLIB_CLI_COMMAND (server_create_command, static) = { .path = "test proxy server", - .short_help = "test proxy server", + .short_help = "test proxy server [server-uri ]" + "[client-uri ][fifo-size ][rcv-buf-size ]" + "[prealloc-fifos ][private-segment-size ]" + "[private-segment-count ]", .function = proxy_server_create_command_fn, }; /* *INDENT-ON* */ diff --git a/src/vnet/tcp/builtin_proxy.h b/src/vnet/tcp/builtin_proxy.h index 780f8b65b90..517fd3b1a38 100644 --- a/src/vnet/tcp/builtin_proxy.h +++ b/src/vnet/tcp/builtin_proxy.h @@ -63,6 +63,8 @@ typedef struct u32 private_segment_count; /**< Number of private fifo segs */ u32 private_segment_size; /**< size of private fifo segs */ int rcv_buffer_size; + u8 *server_uri; + u8 *client_uri; /* * Test state variables