]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
load-tester: add an option to test transport/beet connections
authorMartin Willi <martin@revosec.ch>
Wed, 7 Aug 2013 14:32:21 +0000 (16:32 +0200)
committerMartin Willi <martin@revosec.ch>
Wed, 4 Sep 2013 08:49:48 +0000 (10:49 +0200)
src/libcharon/plugins/load_tester/load_tester_config.c

index 620d482ad8cb787e1c16695e59b25f90d6905eab..1c915cdbca9cd228da61a7c4331e789169a741a4 100644 (file)
@@ -93,6 +93,11 @@ struct private_load_tester_config_t {
         */
        char *responder_id;
 
+       /**
+        * IPSec mode, tunnel|transport|beet
+        */
+       char *mode;
+
        /**
         * Traffic Selector on initiator side, as proposed from initiator
         */
@@ -508,6 +513,7 @@ static peer_cfg_t* generate_config(private_load_tester_config_t *this, uint num)
        peer_cfg_t *peer_cfg;
        char local[32], *remote;
        host_t *addr;
+       ipsec_mode_t mode = MODE_TUNNEL;
        lifetime_cfg_t lifetime = {
                .time = {
                        .life = this->child_rekey * 2,
@@ -583,7 +589,19 @@ static peer_cfg_t* generate_config(private_load_tester_config_t *this, uint num)
                generate_auth_cfg(this, this->initiator_auth, peer_cfg, FALSE, num);
        }
 
-       child_cfg = child_cfg_create("load-test", &lifetime, NULL, TRUE, MODE_TUNNEL,
+       if (this->mode)
+       {
+               if (streq(this->mode, "transport"))
+               {
+                       mode = MODE_TRANSPORT;
+               }
+               else if (streq(this->mode, "beet"))
+               {
+                       mode = MODE_BEET;
+               }
+       }
+
+       child_cfg = child_cfg_create("load-test", &lifetime, NULL, TRUE, mode,
                                                                 ACTION_NONE, ACTION_NONE, ACTION_NONE, FALSE,
                                                                 0, 0, NULL, NULL, 0);
        child_cfg->add_proposal(child_cfg, this->esp->clone(this->esp));
@@ -793,6 +811,8 @@ 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->mode = lib->settings->get_str(lib->settings,
+                       "%s.plugins.load-tester.mode", 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,