Le ven. 14 déc. 2018 à 15:35, Florian Westphal <f...@strlen.de> a écrit : > Ok. An alternative would be to remove the support for > policy hash table thresholds (which decide what kinds of policies > go to exact table and which ones go into inexact ones), i.e. > partially revert 880a6fab8f6ba5b5abe59ea6 > ("xfrm: configure policy hash table thresholds by netlink"). > > This would remove the need for the rehashing support that > re-sorts the policies into either exact/inexact lists) when the > those tunables are changed. > > We could also easily convert the exact table to an rhashtable > then if we wanted to. > > I guess we should probably wait to get some operational feedback on the > inexact storage first to see if it really improves things enough to > make threshold tuning unneccessary. > > Christophe, whats your take?
Hi Florian, The main use cases I have encountered and tried to address with the hash-based lookup were network operator use cases: - a lot of dynamic /32 <=> /32 policies (protecting GTP tunnels) - or a lot of dynamic policies with the same prefix lengths (e.g. /16 <=> /24) and a few non-hashed policies stored in the linked list. This solutions gives good performance for both lookup *and* configuration with a big number of SPs. The lookup time is essential, but so is the IKE negotiation rate. And the configuration time has a direct impact on it. I have not yet had time to benchmark the new tree-based implementation. Could you verify how the configuration time would behave in such use cases if the hash-based lookup was replaced by a tree-based lookup? Regards Christophe