aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/config/child_cfg.c
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2010-07-09 09:06:02 +0200
committerAndreas Steffen <andreas.steffen@strongswan.org>2010-07-09 09:06:07 +0200
commit26c4d0102a77802ad9e7edef97f4eed77e1bb52d (patch)
tree3ce6da383dd67a6f652bafbfb24f6ec6586aa6a2 /src/libcharon/config/child_cfg.c
parent6f07f5e3d403cde79411219ba332acd21a17039d (diff)
downloadstrongswan-26c4d0102a77802ad9e7edef97f4eed77e1bb52d.tar.bz2
strongswan-26c4d0102a77802ad9e7edef97f4eed77e1bb52d.tar.xz
configuration of different marks for inbound and outbound direction
Diffstat (limited to 'src/libcharon/config/child_cfg.c')
-rw-r--r--src/libcharon/config/child_cfg.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/libcharon/config/child_cfg.c b/src/libcharon/config/child_cfg.c
index d3f688a5d..70f38b285 100644
--- a/src/libcharon/config/child_cfg.c
+++ b/src/libcharon/config/child_cfg.c
@@ -539,7 +539,7 @@ child_cfg_t *child_cfg_create(char *name, lifetime_cfg_t *lifetime,
ipsec_mode_t mode, action_t dpd_action,
action_t close_action, bool ipcomp,
u_int32_t inactivity, u_int32_t reqid,
- mark_t *mark)
+ mark_t *mark_in, mark_t *mark_out)
{
private_child_cfg_t *this = malloc_thing(private_child_cfg_t);
@@ -576,16 +576,21 @@ child_cfg_t *child_cfg_create(char *name, lifetime_cfg_t *lifetime,
this->inactivity = inactivity;
this->reqid = reqid;
- /* TODO configure separate inbound and outbound marks */
- if (mark)
+ if (mark_in)
{
- this->mark_in = *mark;
- this->mark_out = *mark;
+ this->mark_in = *mark_in;
+ }
+ else
+ {
+ this->mark_in.value = 0;
+ this->mark_in.mask = 0;
+ }
+ if (mark_out)
+ {
+ this->mark_out = *mark_out;
}
else
{
- this->mark_in.value = 0;
- this->mark_in.mask = 0;
this->mark_out.value = 0;
this->mark_out.mask = 0;
}