From 1d232d49547ca88fd00026ce48643fbde6cb3bc8 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Wed, 21 Oct 2020 16:04:37 +0200 Subject: [PATCH] load-tester: Use appropriate family to request addresses from source IP pools Looks like this wasn't necessary before 40e90898895c ("Strictly enforce address family match while acquiring mem_pool IPs"). Fixes #3595. --- src/libcharon/plugins/load_tester/load_tester_config.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libcharon/plugins/load_tester/load_tester_config.c b/src/libcharon/plugins/load_tester/load_tester_config.c index 36410652cb..b0b6f146ef 100644 --- a/src/libcharon/plugins/load_tester/load_tester_config.c +++ b/src/libcharon/plugins/load_tester/load_tester_config.c @@ -633,13 +633,15 @@ static host_t *allocate_addr(private_load_tester_config_t *this, uint num) char *iface = NULL, buf[32]; entry_t *entry; - requested = host_create_any(AF_INET); snprintf(buf, sizeof(buf), "ext-%d", num); id = identification_create_from_string(buf); enumerator = this->pools->create_enumerator(this->pools); while (enumerator->enumerate(enumerator, &pool)) { + requested = pool->get_base(pool); + requested = host_create_any(requested->get_family(requested)); found = pool->acquire_address(pool, id, requested, MEM_POOL_NEW, NULL); + requested->destroy(requested); if (found) { iface = (char*)pool->get_name(pool); @@ -647,7 +649,6 @@ static host_t *allocate_addr(private_load_tester_config_t *this, uint num) } } enumerator->destroy(enumerator); - requested->destroy(requested); if (!found) { -- 2.47.2