diff options
author | Andreas Steffen <andreas.steffen@strongswan.org> | 2010-07-09 09:06:02 +0200 |
---|---|---|
committer | Andreas Steffen <andreas.steffen@strongswan.org> | 2010-07-09 09:06:07 +0200 |
commit | 26c4d0102a77802ad9e7edef97f4eed77e1bb52d (patch) | |
tree | 3ce6da383dd67a6f652bafbfb24f6ec6586aa6a2 /src/libcharon/config/child_cfg.c | |
parent | 6f07f5e3d403cde79411219ba332acd21a17039d (diff) | |
download | strongswan-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.c | 19 |
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; } |