child-sa: pass traffic selector to add_sa() regardless of IPsec mode

This lets the kernel backend decide what to do with it, and in fact all kernel
interfaces already handle this correctly.
This commit is contained in:
Martin Willi
2013-05-06 16:10:11 +02:00
parent dc35d097b3
commit 60ed88b2c7
+11 -14
View File
@@ -668,21 +668,18 @@ METHOD(child_sa_t, install, status_t,
lifetime->time.rekey = 0; lifetime->time.rekey = 0;
} }
if (this->mode == MODE_BEET || this->mode == MODE_TRANSPORT) /* BEET requires the bound address from the traffic selectors.
* TODO: We add just the first traffic selector for now, as the
* kernel accepts a single TS per SA only */
if (inbound)
{ {
/* BEET requires the bound address from the traffic selectors. my_ts->get_first(my_ts, (void**)&dst_ts);
* TODO: We add just the first traffic selector for now, as the other_ts->get_first(other_ts, (void**)&src_ts);
* kernel accepts a single TS per SA only */ }
if (inbound) else
{ {
my_ts->get_first(my_ts, (void**)&dst_ts); my_ts->get_first(my_ts, (void**)&src_ts);
other_ts->get_first(other_ts, (void**)&src_ts); other_ts->get_first(other_ts, (void**)&dst_ts);
}
else
{
my_ts->get_first(my_ts, (void**)&src_ts);
other_ts->get_first(other_ts, (void**)&dst_ts);
}
} }
status = hydra->kernel_interface->add_sa(hydra->kernel_interface, status = hydra->kernel_interface->add_sa(hydra->kernel_interface,