From 79f39ecf5dbe611841b636401483617c5a43b1e9 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Wed, 21 Mar 2012 16:54:24 +0100 Subject: [PATCH] Added a getter for CHILD_SA marks --- src/libcharon/sa/child_sa.c | 11 +++++++++++ src/libcharon/sa/child_sa.h | 8 ++++++++ 2 files changed, 19 insertions(+) diff --git a/src/libcharon/sa/child_sa.c b/src/libcharon/sa/child_sa.c index ee3733a33..d86578f74 100644 --- a/src/libcharon/sa/child_sa.c +++ b/src/libcharon/sa/child_sa.c @@ -526,6 +526,16 @@ METHOD(child_sa_t, get_usestats, void, } } +METHOD(child_sa_t, get_mark, mark_t, + private_child_sa_t *this, bool inbound) +{ + if (inbound) + { + return this->mark_in; + } + return this->mark_out; +} + METHOD(child_sa_t, get_lifetime, time_t, private_child_sa_t *this, bool hard) { @@ -1038,6 +1048,7 @@ child_sa_t * child_sa_create(host_t *me, host_t* other, .set_proposal = _set_proposal, .get_lifetime = _get_lifetime, .get_usestats = _get_usestats, + .get_mark = _get_mark, .has_encap = _has_encap, .get_ipcomp = _get_ipcomp, .set_ipcomp = _set_ipcomp, diff --git a/src/libcharon/sa/child_sa.h b/src/libcharon/sa/child_sa.h index f17ef01ac..712a4765c 100644 --- a/src/libcharon/sa/child_sa.h +++ b/src/libcharon/sa/child_sa.h @@ -274,6 +274,14 @@ struct child_sa_t { void (*get_usestats)(child_sa_t *this, bool inbound, time_t *time, u_int64_t *bytes); + /** + * Get the mark used with this CHILD_SA. + * + * @param inbound TRUE to get inbound mark, FALSE for outbound + * @return mark used with this CHILD_SA + */ + mark_t (*get_mark)(child_sa_t *this, bool inbound); + /** * Get the traffic selectors list added for one side. *