xfrm: policy: add inexact policy search tree infrastructure
authorFlorian Westphal <fw@strlen.de>
Wed, 7 Nov 2018 22:00:37 +0000 (23:00 +0100)
committerSteffen Klassert <steffen.klassert@secunet.com>
Fri, 9 Nov 2018 10:57:59 +0000 (11:57 +0100)
commit6be3b0db6db82cf056a72cc18042048edd27f8ee
tree3154fe6b3db794b88ec1dd69ed1056c327772b19
parentb5fe22e2337d47cd68bb7d8e4103a628808c4d5e
xfrm: policy: add inexact policy search tree infrastructure

At this time inexact policies are all searched in-order until the first
match is found.  After removal of the flow cache, this resolution has
to be performed for every packetm resulting in major slowdown when
number of inexact policies is high.

This adds infrastructure to later sort inexact policies into a tree.
This only introduces a single class: any:any.

Next patch will add a search tree to pre-sort policies that
have a fixed daddr/prefixlen, so in this patch the any:any class
will still be used for all policies.

Signed-off-by: Florian Westphal <fw@strlen.de>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
include/net/xfrm.h
net/xfrm/xfrm_policy.c