From: Steffen Klassert <steffen.klassert@secunet.com>
To: David Miller <davem@davemloft.net>
Cc: Herbert Xu <herbert@gondor.apana.org.au>,
Steffen Klassert <steffen.klassert@secunet.com>,
<netdev@vger.kernel.org>
Subject: [PATCH 11/14] xfrm: Allow xfrmi if_id to be updated by UPDSA
Date: Fri, 27 Jul 2018 09:24:46 +0200 [thread overview]
Message-ID: <20180727072449.11896-12-steffen.klassert@secunet.com> (raw)
In-Reply-To: <20180727072449.11896-1-steffen.klassert@secunet.com>
From: Nathan Harold <nharold@google.com>
Allow attaching an SA to an xfrm interface id after
the creation of the SA, so that tasks such as keying
which must be done as the SA is created, can remain
separate from the decision on how to route traffic
from an SA. This permits SA creation to be decomposed
in to three separate steps:
1) allocation of a SPI
2) algorithm and key negotiation
3) insertion into the data path
Signed-off-by: Nathan Harold <nharold@google.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
---
net/xfrm/xfrm_state.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
index bd5cb7ad2447..b669262682c9 100644
--- a/net/xfrm/xfrm_state.c
+++ b/net/xfrm/xfrm_state.c
@@ -1561,10 +1561,14 @@ int xfrm_state_update(struct xfrm_state *x)
if (x1->curlft.use_time)
xfrm_state_check_expire(x1);
- if (x->props.smark.m || x->props.smark.v) {
+ if (x->props.smark.m || x->props.smark.v || x->if_id) {
spin_lock_bh(&net->xfrm.xfrm_state_lock);
- x1->props.smark = x->props.smark;
+ if (x->props.smark.m || x->props.smark.v)
+ x1->props.smark = x->props.smark;
+
+ if (x->if_id)
+ x1->if_id = x->if_id;
__xfrm_state_bump_genids(x1);
spin_unlock_bh(&net->xfrm.xfrm_state_lock);
--
2.14.1
next prev parent reply other threads:[~2018-07-27 8:45 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-27 7:24 pull request (net-next): ipsec-next 2018-07-27 Steffen Klassert
2018-07-27 7:24 ` [PATCH 01/14] xfrm: Extend the output_mark to support input direction and masking Steffen Klassert
2018-07-27 7:24 ` [PATCH 02/14] flow: Extend flow informations with xfrm interface id Steffen Klassert
2018-07-27 7:24 ` [PATCH 03/14] xfrm: Add a new lookup key to match xfrm interfaces Steffen Klassert
2018-07-27 7:24 ` [PATCH 04/14] xfrm: Add virtual " Steffen Klassert
2018-07-27 7:24 ` [PATCH 05/14] xfrm: policy: remove pcpu policy cache Steffen Klassert
2018-07-27 7:24 ` [PATCH 06/14] xfrm: Allow Set Mark to be Updated Using UPDSA Steffen Klassert
2018-07-27 7:24 ` [PATCH 07/14] xfrm: use time64_t for in-kernel timestamps Steffen Klassert
2018-07-27 7:24 ` [PATCH 08/14] ipv6: xfrm: use 64-bit timestamps Steffen Klassert
2018-07-27 7:24 ` [PATCH 09/14] xfrm: don't check offload_handle for nonzero Steffen Klassert
2018-07-27 7:24 ` [PATCH 10/14] xfrm: Remove xfrmi interface ID from flowi Steffen Klassert
2018-07-27 7:24 ` Steffen Klassert [this message]
2018-07-27 7:24 ` [PATCH 12/14] xfrm: fix 'passing zero to ERR_PTR()' warning Steffen Klassert
2018-07-27 7:24 ` [PATCH 13/14] xfrm: Return detailed errors from xfrmi_newlink Steffen Klassert
2018-07-27 7:24 ` [PATCH 14/14] xfrm: fix ptr_ret.cocci warnings Steffen Klassert
2018-07-27 16:37 ` pull request (net-next): ipsec-next 2018-07-27 David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180727072449.11896-12-steffen.klassert@secunet.com \
--to=steffen.klassert@secunet.com \
--cc=davem@davemloft.net \
--cc=herbert@gondor.apana.org.au \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox