From: Tobias Brunner Date: Wed, 21 Oct 2020 14:24:07 +0000 (+0200) Subject: load-tester: Also request a virtual IPv6 address X-Git-Tag: 5.9.1rc1~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f3f93cade91448ac5dd66a028714e29479790fff;p=thirdparty%2Fstrongswan.git load-tester: Also request a virtual IPv6 address Fixes #3595. --- diff --git a/conf/plugins/load-tester.opt b/conf/plugins/load-tester.opt index 812f13d4ac..9dd8ed0911 100644 --- a/conf/plugins/load-tester.opt +++ b/conf/plugins/load-tester.opt @@ -119,7 +119,7 @@ charon.plugins.load-tester.responder_tsr = initiator_tsr Traffic selector on responder side, as narrowed by responder. charon.plugins.load-tester.request_virtual_ip = no - Request an INTERNAL_IPV4_ADDR from the server. + Request an INTERNAL_IPV4_ADDR and INTERNAL_IPV6_ADDR from the server. charon.plugins.load-tester.shutdown_when_complete = no Shutdown the daemon after all IKE_SAs have been established. diff --git a/src/libcharon/plugins/load_tester/load_tester_config.c b/src/libcharon/plugins/load_tester/load_tester_config.c index b0b6f146ef..62d03c9ebc 100644 --- a/src/libcharon/plugins/load_tester/load_tester_config.c +++ b/src/libcharon/plugins/load_tester/load_tester_config.c @@ -42,9 +42,9 @@ struct private_load_tester_config_t { peer_cfg_t *peer_cfg; /** - * virtual IP, if any + * request virtual IPs */ - host_t *vip; + bool vips; /** * Initiator address @@ -753,9 +753,10 @@ static peer_cfg_t* generate_config(private_load_tester_config_t *this, uint num) ike_cfg->add_proposal(ike_cfg, this->proposal->clone(this->proposal, 0)); peer_cfg = peer_cfg_create("load-test", ike_cfg, &peer); - if (this->vip) + if (this->vips) { - peer_cfg->add_virtual_ip(peer_cfg, this->vip->clone(this->vip)); + peer_cfg->add_virtual_ip(peer_cfg, host_create_any(AF_INET)); + peer_cfg->add_virtual_ip(peer_cfg, host_create_any(AF_INET6)); } if (this->pool) { @@ -789,7 +790,7 @@ static peer_cfg_t* generate_config(private_load_tester_config_t *this, uint num) if (num) { /* initiator */ - if (this->vip) + if (this->vips) { add_ts(this, NULL, child_cfg, TRUE, TRUE); } @@ -914,7 +915,6 @@ METHOD(load_tester_config_t, destroy, void, this->peer_cfg->destroy(this->peer_cfg); DESTROY_IF(this->proposal); DESTROY_IF(this->esp); - DESTROY_IF(this->vip); free(this); } @@ -942,11 +942,8 @@ load_tester_config_t *load_tester_config_create() .unique_port = UNIQUE_PORT_START, ); - if (lib->settings->get_bool(lib->settings, - "%s.plugins.load-tester.request_virtual_ip", FALSE, lib->ns)) - { - this->vip = host_create_from_string("0.0.0.0", 0); - } + this->vips = lib->settings->get_bool(lib->settings, + "%s.plugins.load-tester.request_virtual_ip", FALSE, lib->ns); this->pool = lib->settings->get_str(lib->settings, "%s.plugins.load-tester.pool", NULL, lib->ns); this->initiator = lib->settings->get_str(lib->settings,