[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZiDvhTVdn+8fvxtv@gauss3.secunet.de>
Date: Thu, 18 Apr 2024 12:01:41 +0200
From: Steffen Klassert <steffen.klassert@...unet.com>
To: Daniel Xu <dxu@...uu.xyz>
CC: <netdev@...r.kernel.org>, <devel@...ux-ipsec.org>, Paul Wouters
<paul@...ats.ca>, Antony Antony <antony.antony@...unet.com>, Tobias Brunner
<tobias@...ongswan.org>
Subject: Re: [PATCH ipsec-next 2/3] xfrm: Cache used outbound xfrm states at
the policy.
On Tue, Apr 16, 2024 at 03:51:55PM -0600, Daniel Xu wrote:
> > +
> > + hlist_for_each_entry_rcu(x, &pol->state_cache_list, state_cache) {
> > + if (x->props.family == encap_family &&
> > + x->props.reqid == tmpl->reqid &&
> > + (mark & x->mark.m) == x->mark.v &&
> > + x->if_id == if_id &&
> > + !(x->props.flags & XFRM_STATE_WILDRECV) &&
> > + xfrm_addr_equal(&x->id.daddr, daddr, encap_family) &&
> > + tmpl->mode == x->props.mode &&
> > + tmpl->id.proto == x->id.proto &&
> > + (tmpl->id.spi == x->id.spi || !tmpl->id.spi))
> > + xfrm_state_look_at(pol, x, fl, family,
> > + &best, &acquire_in_progress, &error);
> > + }
> > +
> > +cached:
> > + if (best)
>
> Need to set `cached = true` here otherwise slowpath will always be
> taken.
Fixed, thanks Daniel!
Powered by blists - more mailing lists