Add load-tester traffic selector configuration options
This commit is contained in:
@@ -84,6 +84,26 @@ struct private_load_tester_config_t {
|
||||
*/
|
||||
char *responder_id;
|
||||
|
||||
/**
|
||||
* Traffic Selector on initiator side, as proposed from initiator
|
||||
*/
|
||||
char *initiator_tsi;
|
||||
|
||||
/**
|
||||
* Traffic Selector on responder side, as proposed from initiator
|
||||
*/
|
||||
char *initiator_tsr;
|
||||
|
||||
/**
|
||||
* Traffic Selector on initiator side, as narrowed by responder
|
||||
*/
|
||||
char *responder_tsi;
|
||||
|
||||
/**
|
||||
* Traffic Selector on responder side, as narrowed by responder
|
||||
*/
|
||||
char *responder_tsr;
|
||||
|
||||
/**
|
||||
* IKE_SA rekeying delay
|
||||
*/
|
||||
@@ -246,6 +266,31 @@ static void generate_auth_cfg(private_load_tester_config_t *this, char *str,
|
||||
enumerator->destroy(enumerator);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a TS from a string to a child_cfg
|
||||
*/
|
||||
static void add_ts(char *string, child_cfg_t *cfg, bool local)
|
||||
{
|
||||
traffic_selector_t *ts;
|
||||
|
||||
if (string)
|
||||
{
|
||||
ts = traffic_selector_create_from_cidr(string, 0, 0);
|
||||
if (!ts)
|
||||
{
|
||||
DBG1(DBG_CFG, "parsing TS string '%s' failed", string);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ts = traffic_selector_create_dynamic(0, 0, 65535);
|
||||
}
|
||||
if (ts)
|
||||
{
|
||||
cfg->add_traffic_selector(cfg, local, ts);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate a new initiator config, num = 0 for responder config
|
||||
*/
|
||||
@@ -254,7 +299,6 @@ static peer_cfg_t* generate_config(private_load_tester_config_t *this, uint num)
|
||||
ike_cfg_t *ike_cfg;
|
||||
child_cfg_t *child_cfg;
|
||||
peer_cfg_t *peer_cfg;
|
||||
traffic_selector_t *ts;
|
||||
proposal_t *proposal;
|
||||
lifetime_cfg_t lifetime = {
|
||||
.time = {
|
||||
@@ -310,10 +354,17 @@ static peer_cfg_t* generate_config(private_load_tester_config_t *this, uint num)
|
||||
0, 0, NULL, NULL, 0);
|
||||
proposal = proposal_create_from_string(PROTO_ESP, "aes128-sha1");
|
||||
child_cfg->add_proposal(child_cfg, proposal);
|
||||
ts = traffic_selector_create_dynamic(0, 0, 65535);
|
||||
child_cfg->add_traffic_selector(child_cfg, TRUE, ts);
|
||||
ts = traffic_selector_create_dynamic(0, 0, 65535);
|
||||
child_cfg->add_traffic_selector(child_cfg, FALSE, ts);
|
||||
|
||||
if (num)
|
||||
{ /* initiator */
|
||||
add_ts(this->initiator_tsi, child_cfg, TRUE);
|
||||
add_ts(this->initiator_tsr, child_cfg, FALSE);
|
||||
}
|
||||
else
|
||||
{ /* responder */
|
||||
add_ts(this->responder_tsr, child_cfg, TRUE);
|
||||
add_ts(this->responder_tsi, child_cfg, FALSE);
|
||||
}
|
||||
peer_cfg->add_child_cfg(peer_cfg, child_cfg);
|
||||
return peer_cfg;
|
||||
}
|
||||
@@ -413,6 +464,17 @@ load_tester_config_t *load_tester_config_create()
|
||||
this->responder_id = lib->settings->get_str(lib->settings,
|
||||
"%s.plugins.load-tester.responder_id", NULL, charon->name);
|
||||
|
||||
this->initiator_tsi = lib->settings->get_str(lib->settings,
|
||||
"%s.plugins.load-tester.initiator_tsi", NULL, charon->name);
|
||||
this->responder_tsi =lib->settings->get_str(lib->settings,
|
||||
"%s.plugins.load-tester.responder_tsi",
|
||||
this->initiator_tsi, charon->name);
|
||||
this->initiator_tsr = lib->settings->get_str(lib->settings,
|
||||
"%s.plugins.load-tester.initiator_tsr", NULL, charon->name);
|
||||
this->responder_tsr =lib->settings->get_str(lib->settings,
|
||||
"%s.plugins.load-tester.responder_tsr",
|
||||
this->initiator_tsr, charon->name);
|
||||
|
||||
this->port = lib->settings->get_int(lib->settings,
|
||||
"%s.plugins.load-tester.dynamic_port", 0, charon->name);
|
||||
this->version = lib->settings->get_int(lib->settings,
|
||||
|
||||
Reference in New Issue
Block a user