support for transport in create_child_sa

include TRANSPORT/TUNNEL information in statusall
This commit is contained in:
Martin Willi
2007-01-08 06:55:50 +00:00
parent 09ff411061
commit 21f42524e0
4 changed files with 26 additions and 8 deletions
+8
View File
@@ -38,6 +38,14 @@ ENUM(dpd_action_names, DPD_NONE, DPD_RESTART,
"DPD_RESTART" "DPD_RESTART"
); );
ENUM(mode_names, MODE_TRANSPORT, MODE_BEET,
"TRANSPORT",
"TUNNEL",
"2",
"3",
"BEET"
);
typedef struct private_policy_t private_policy_t; typedef struct private_policy_t private_policy_t;
/** /**
+7 -2
View File
@@ -52,6 +52,11 @@ enum dpd_action_t {
DPD_RESTART, DPD_RESTART,
}; };
/**
* enum names for dpd_action_t.
*/
extern enum_name_t *dpd_action_names;
/** /**
* @brief Mode of an IPsec SA. * @brief Mode of an IPsec SA.
* *
@@ -69,9 +74,9 @@ enum mode_t {
}; };
/** /**
* enum names for dpd_action_t. * enum names for mode_t.
*/ */
extern enum_name_t *dpd_action_names; extern enum_name_t *mode_names;
/** /**
* @brief A policy_t defines the policies to apply to CHILD_SAs. * @brief A policy_t defines the policies to apply to CHILD_SAs.
+3 -2
View File
@@ -780,8 +780,9 @@ static int print(FILE *stream, const struct printf_info *info,
now = (u_int32_t)time(NULL); now = (u_int32_t)time(NULL);
written += fprintf(stream, "%12s: %N, reqid: %d", this->name, written += fprintf(stream, "%12s: %N, reqid: %d, %N", this->name,
child_sa_state_names, this->state, this->reqid); child_sa_state_names, this->state, this->reqid,
mode_names, this->mode);
if (this->state == CHILD_INSTALLED) if (this->state == CHILD_INSTALLED)
{ {
+8 -4
View File
@@ -509,11 +509,13 @@ static status_t install_child_sa(private_create_child_sa_t *this, bool initiator
if (initiator) if (initiator)
{ {
status = this->child_sa->update(this->child_sa, this->proposal, 1, prf_plus); status = this->child_sa->update(this->child_sa, this->proposal,
this->mode, prf_plus);
} }
else else
{ {
status = this->child_sa->add(this->child_sa, this->proposal, 1, prf_plus); status = this->child_sa->add(this->child_sa, this->proposal,
this->mode, prf_plus);
} }
prf_plus->destroy(prf_plus); prf_plus->destroy(prf_plus);
if (status != SUCCESS) if (status != SUCCESS)
@@ -522,11 +524,13 @@ static status_t install_child_sa(private_create_child_sa_t *this, bool initiator
} }
if (initiator) if (initiator)
{ {
status = this->child_sa->add_policies(this->child_sa, this->tsi, this->tsr, 1); status = this->child_sa->add_policies(this->child_sa, this->tsi,
this->tsr, this->mode);
} }
else else
{ {
status = this->child_sa->add_policies(this->child_sa, this->tsr, this->tsi, 1); status = this->child_sa->add_policies(this->child_sa, this->tsr,
this->tsi, this->mode);
} }
if (status != SUCCESS) if (status != SUCCESS)
{ {