diff options
author | Angelos D. Keromytis <angelos@cvs.openbsd.org> | 2001-06-24 22:24:31 +0000 |
---|---|---|
committer | Angelos D. Keromytis <angelos@cvs.openbsd.org> | 2001-06-24 22:24:31 +0000 |
commit | 7c34cd79035dd0828e7f59ab0f36cc710ace92b6 (patch) | |
tree | 49ab677c692d7e700410aebc326414f10a65e6cd /sys/netinet | |
parent | 8ac5f4f8392786d9a55a48994415b7d6828b1a10 (diff) |
Also reset input cached TDB.
Diffstat (limited to 'sys/netinet')
-rw-r--r-- | sys/netinet/ip_output.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c index 1922a9f94ca..441aec3f25e 100644 --- a/sys/netinet/ip_output.c +++ b/sys/netinet/ip_output.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ip_output.c,v 1.115 2001/06/24 22:21:50 angelos Exp $ */ +/* $OpenBSD: ip_output.c,v 1.116 2001/06/24 22:24:30 angelos Exp $ */ /* $NetBSD: ip_output.c,v 1.28 1996/02/13 23:43:07 christos Exp $ */ /* @@ -1051,6 +1051,13 @@ ip_ctloutput(op, so, level, optname, mp) splx(s); } + if (inp->inp_tdb_in) { + int s = spltdb(); + TAILQ_REMOVE(&inp->inp_tdb_in->tdb_inp_in, + inp, inp_tdb_in_next); + splx(s); + } + switch (optname) { case IP_AUTH_LEVEL: if (optval < ipsec_auth_default_level && @@ -1213,6 +1220,13 @@ ip_ctloutput(op, so, level, optname, mp) inp, inp_tdb_out_next); splx(s); } + + if (inp->inp_tdb_in) { + int s = spltdb(); + TAILQ_REMOVE(&inp->inp_tdb_in->tdb_inp_in, + inp, inp_tdb_in_next); + splx(s); + } #endif break; default: |