support for transport in create_child_sa
include TRANSPORT/TUNNEL information in statusall
This commit is contained in:
@@ -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;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user