Added a getter for CHILD_SA marks
authorMartin Willi <martin@revosec.ch>
Wed, 21 Mar 2012 15:54:24 +0000 (16:54 +0100)
committerMartin Willi <martin@revosec.ch>
Thu, 22 Mar 2012 08:06:12 +0000 (09:06 +0100)
src/libcharon/sa/child_sa.c
src/libcharon/sa/child_sa.h

index ee3733a..d86578f 100644 (file)
@@ -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,
index f17ef01..712a476 100644 (file)
@@ -275,6 +275,14 @@ struct child_sa_t {
                                                 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.
         *
         * @param local         TRUE for own traffic selectors, FALSE for remote