37
37
peer_cfg_t *peer_cfg;
60
* Authentication method to use
65
* incremental numbering of generated configs
71
* Generate a new initiator config, num = 0 for responder config
73
static peer_cfg_t* generate_config(private_load_tester_config_t *this, uint num)
76
child_cfg_t *child_cfg;
78
traffic_selector_t *ts;
80
identification_t *local, *remote;
86
snprintf(buf, sizeof(buf), "CN=cli-%d, OU=load-test, O=strongSwan", num);
87
local = identification_create_from_string(buf);
88
snprintf(buf, sizeof(buf), "CN=srv, OU=load-test, O=strongSwan", num);
89
remote = identification_create_from_string(buf);
93
local = identification_create_from_string(
94
"CN=srv, OU=load-test, O=strongSwan");
95
remote = identification_create_from_string(
96
"CN=*, OU=load-test, O=strongSwan");
99
ike_cfg = ike_cfg_create(FALSE, FALSE, "0.0.0.0", this->remote);
100
ike_cfg->add_proposal(ike_cfg, this->proposal->clone(this->proposal));
101
peer_cfg = peer_cfg_create("load-test", 2, ike_cfg, local, remote,
102
CERT_SEND_IF_ASKED, UNIQUE_NO, 1, 0, 0, /* keytries, rekey, reauth */
103
0, 0, FALSE, 0, /* jitter, overtime, mobike, dpddelay */
104
this->vip ? this->vip->clone(this->vip) : NULL,
105
this->pool, FALSE, NULL, NULL);
106
auth = peer_cfg->get_auth(peer_cfg);
107
auth->add_item(auth, AUTHN_AUTH_CLASS, &this->class);
108
child_cfg = child_cfg_create("load-test", 600, 400, 100, NULL, TRUE,
109
MODE_TUNNEL, ACTION_NONE, ACTION_NONE, FALSE);
110
proposal = proposal_create_from_string(PROTO_ESP, "aes128-sha1");
111
child_cfg->add_proposal(child_cfg, proposal);
112
ts = traffic_selector_create_dynamic(0, 0, 65535);
113
child_cfg->add_traffic_selector(child_cfg, TRUE, ts);
114
ts = traffic_selector_create_dynamic(0, 0, 65535);
115
child_cfg->add_traffic_selector(child_cfg, FALSE, ts);
116
peer_cfg->add_child_cfg(peer_cfg, child_cfg);
41
121
* Implementation of backend_t.create_peer_cfg_enumerator.
43
123
static enumerator_t* create_peer_cfg_enumerator(private_load_tester_config_t *this,
87
169
load_tester_config_t *load_tester_config_create()
89
171
private_load_tester_config_t *this = malloc_thing(private_load_tester_config_t);
91
child_cfg_t *child_cfg;
93
traffic_selector_t *ts;
99
174
this->public.backend.create_peer_cfg_enumerator = (enumerator_t*(*)(backend_t*, identification_t *me, identification_t *other))create_peer_cfg_enumerator;
100
175
this->public.backend.create_ike_cfg_enumerator = (enumerator_t*(*)(backend_t*, host_t *me, host_t *other))create_ike_cfg_enumerator;
101
176
this->public.backend.get_peer_cfg_by_name = (peer_cfg_t* (*)(backend_t*,char*))get_peer_cfg_by_name;
102
177
this->public.destroy = (void(*)(load_tester_config_t*))destroy;
104
180
if (lib->settings->get_bool(lib->settings,
105
181
"charon.plugins.load_tester.request_virtual_ip", FALSE))
107
vip = host_create_from_string("0.0.0.0", 0);
183
this->vip = host_create_from_string("0.0.0.0", 0);
109
pool = lib->settings->get_str(lib->settings,
185
this->pool = lib->settings->get_str(lib->settings,
110
186
"charon.plugins.load_tester.pool", NULL);
111
remote = lib->settings->get_str(lib->settings,
187
this->remote = lib->settings->get_str(lib->settings,
112
188
"charon.plugins.load_tester.remote", "127.0.0.1");
113
ike_cfg = ike_cfg_create(TRUE, FALSE, "0.0.0.0", remote);
114
proposal = proposal_create_from_string(PROTO_IKE,
190
this->proposal = proposal_create_from_string(PROTO_IKE,
115
191
lib->settings->get_str(lib->settings,
116
192
"charon.plugins.load_tester.proposal", "aes128-sha1-modp768"));
119
proposal = proposal_create_from_string(PROTO_IKE, "aes128-sha1-modp768");
121
ike_cfg->add_proposal(ike_cfg, proposal);
122
this->peer_cfg = peer_cfg_create("load-test", 2, ike_cfg,
123
identification_create_from_string("load-test@strongswan.org"),
124
identification_create_from_string("load-test@strongswan.org"),
125
CERT_SEND_IF_ASKED, UNIQUE_NO, 1, 0, 0, /* keytries, rekey, reauth */
126
0, 0, TRUE, 60, /* jitter, overtime, mobike, dpddelay */
127
vip, pool, FALSE, NULL, NULL);
128
auth = this->peer_cfg->get_auth(this->peer_cfg);
129
class = AUTH_CLASS_PUBKEY;
130
auth->add_item(auth, AUTHN_AUTH_CLASS, &class);
131
child_cfg = child_cfg_create("load-test", 600, 400, 100, NULL, TRUE,
132
MODE_TUNNEL, ACTION_NONE, ACTION_NONE, FALSE);
133
proposal = proposal_create_from_string(PROTO_ESP, "aes128-sha1");
134
child_cfg->add_proposal(child_cfg, proposal);
135
ts = traffic_selector_create_dynamic(0, 0, 65535);
136
child_cfg->add_traffic_selector(child_cfg, TRUE, ts);
137
ts = traffic_selector_create_dynamic(0, 0, 65535);
138
child_cfg->add_traffic_selector(child_cfg, FALSE, ts);
139
this->peer_cfg->add_child_cfg(this->peer_cfg, child_cfg);
195
this->proposal = proposal_create_from_string(PROTO_IKE,
196
"aes128-sha1-modp768");
198
authstr = lib->settings->get_str(lib->settings,
199
"charon.plugins.load_tester.auth", "pubkey");
200
if (streq(authstr, "psk"))
202
this->class = AUTH_CLASS_PSK;
206
this->class = AUTH_CLASS_PUBKEY;
210
this->peer_cfg = generate_config(this, 0);
141
212
return &this->public;