summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdrian Villin <avillin@cisco.com>2024-12-05 14:58:39 +0100
committerFlorin Coras <florin.coras@gmail.com>2024-12-05 17:43:04 +0000
commit1c0af1fb68a107db6d4aa5b80b60171094cfe80f (patch)
tree853432413b5d40c6466825635dfb811ff7a6b26d /src
parent91e63915e1d00888c56b344ad544cba14f60e15d (diff)
hsa: fix proxy udp issue
- when testing multithreaded proxy with udp iperf, iperf wouldn't connect -> made client_sep a vector so multiple transport protocols can be saved Type: fix Change-Id: I91936bd3214f40deb914792c02783112ae59942c Signed-off-by: Adrian Villin <avillin@cisco.com>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/hs_apps/proxy.c7
-rw-r--r--src/plugins/hs_apps/proxy.h2
2 files changed, 5 insertions, 4 deletions
diff --git a/src/plugins/hs_apps/proxy.c b/src/plugins/hs_apps/proxy.c
index d7fe6fb54df..6d4a2cf399a 100644
--- a/src/plugins/hs_apps/proxy.c
+++ b/src/plugins/hs_apps/proxy.c
@@ -577,8 +577,7 @@ proxy_session_start_connect (proxy_session_side_ctx_t *sc, session_t *s)
* on its contents, the destination and parameters of the connect to the
* upstream are decided
*/
-
- clib_memcpy (&a->sep_ext, &pm->client_sep, sizeof (pm->client_sep));
+ clib_memcpy (&a->sep_ext, &pm->client_sep[tp], sizeof (*pm->client_sep));
}
a->api_context = ps_index;
@@ -1295,7 +1294,8 @@ proxy_server_create_command_fn (vlib_main_t * vm, unformat_input_t * input,
default_client_uri);
client_uri = format (0, "%s%c", default_client_uri, 0);
}
- if (parse_uri ((char *) client_uri, &pm->client_sep))
+ if (parse_uri ((char *) client_uri,
+ &pm->client_sep[pm->server_sep.transport_proto]))
{
error = clib_error_return (0, "Invalid client uri %v", client_uri);
goto done;
@@ -1345,6 +1345,7 @@ proxy_main_init (vlib_main_t * vm)
pm->active_open_client_index = ~0;
pm->server_app_index = APP_INVALID_INDEX;
pm->idle_timeout = 600; /* connect-proxy default idle timeout 10 minutes */
+ vec_validate (pm->client_sep, TRANSPORT_N_PROTOS - 1);
return 0;
}
diff --git a/src/plugins/hs_apps/proxy.h b/src/plugins/hs_apps/proxy.h
index 75567e4c1ba..b42d46468e1 100644
--- a/src/plugins/hs_apps/proxy.h
+++ b/src/plugins/hs_apps/proxy.h
@@ -100,7 +100,7 @@ typedef struct
u32 idle_timeout; /**< connect-proxy timeout for idle connections */
int rcv_buffer_size;
session_endpoint_cfg_t server_sep;
- session_endpoint_cfg_t client_sep;
+ session_endpoint_cfg_t *client_sep;
/*
* Flags