diff options
-rw-r--r-- | src/starter/starterwhack.c | 5 | ||||
-rw-r--r-- | src/whack/whack.h | 10 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/starter/starterwhack.c b/src/starter/starterwhack.c index 87590f269..58034d96b 100644 --- a/src/starter/starterwhack.c +++ b/src/starter/starterwhack.c @@ -287,6 +287,11 @@ int starter_whack_add_conn(starter_conn_t *conn) msg.sa_keying_tries = conn->sa_keying_tries; msg.policy = conn->policy; msg.xauth_identity = conn->xauth_identity; + msg.reqid = conn->reqid; + msg.mark_in.value = conn->mark_in.value; + msg.mark_in.mask = conn->mark_in.mask; + msg.mark_out.value = conn->mark_out.value; + msg.mark_out.mask = conn->mark_out.mask; /* * Make sure the IKEv2-only policy bits are unset for IKEv1 connections diff --git a/src/whack/whack.h b/src/whack/whack.h index 4a2189d9f..f8e6a9a88 100644 --- a/src/whack/whack.h +++ b/src/whack/whack.h @@ -48,7 +48,7 @@ typedef enum { */ #define WHACK_BASIC_MAGIC (((((('w' << 8) + 'h') << 8) + 'k') << 8) + 24) -#define WHACK_MAGIC (((((('w' << 8) + 'h') << 8) + 'k') << 8) + 29) +#define WHACK_MAGIC (((((('w' << 8) + 'h') << 8) + 'k') << 8) + 30) typedef struct whack_end whack_end_t; @@ -129,6 +129,14 @@ struct whack_message { time_t dpd_timeout; dpd_action_t dpd_action; + + /* Assign optional fixed reqid and xfrm marks to IPsec SA */ + u_int32_t reqid; + struct { + u_int32_t value; + u_int32_t mask; + } mark_in, mark_out; + /* note that each end contains string 2/5.id, string 3/6 cert, * and string 4/7 updown */ |