summaryrefslogtreecommitdiff
path: root/net/key
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2003-07-27 02:32:07 -0700
committerDavid S. Miller <davem@kernel.bkbits.net>2003-07-27 02:32:07 -0700
commit596aac2cab7581d015f58ccf7fb97be5d06c06fa (patch)
tree8db22027240dca73d52903ba96b69b3e0688858c /net/key
parent872d1c7a5963bdbcc78cce3283db0fd52fafa39d (diff)
[IPSEC]: Use per-SA flag to control ECN propagation.
Diffstat (limited to 'net/key')
-rw-r--r--net/key/af_key.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/key/af_key.c b/net/key/af_key.c
index f481a136dad4..ec9fe27e1e37 100644
--- a/net/key/af_key.c
+++ b/net/key/af_key.c
@@ -681,6 +681,8 @@ static struct sk_buff * pfkey_xfrm_state2msg(struct xfrm_state *x, int add_keys,
}
sa->sadb_sa_flags = 0;
+ if (x->props.flags & XFRM_STATE_NOECN)
+ sa->sadb_sa_flags |= SADB_SAFLAGS_NOECN;
/* hard time */
if (hsc & 2) {
@@ -957,6 +959,8 @@ static struct xfrm_state * pfkey_msg2xfrm_state(struct sadb_msg *hdr,
x->id.proto = proto;
x->id.spi = sa->sadb_sa_spi;
x->props.replay_window = sa->sadb_sa_replay;
+ if (sa->sadb_sa_flags & SADB_SAFLAGS_NOECN)
+ x->props.flags |= XFRM_STATE_NOECN;
lifetime = (struct sadb_lifetime*) ext_hdrs[SADB_EXT_LIFETIME_HARD-1];
if (lifetime != NULL) {