Re: [PATCH net-next v4 0/4] ila: Optimization to preserve value of early demux
From: David Miller <davem@davemloft.net>
Date: 2015-12-14 21:19:55
From: Tom Herbert <redacted> Date: Thu, 10 Dec 2015 16:19:29 -0800
In the current implementation of ILA, LWT is used to perform translation on both the input and output paths. This is functional, however there is a big performance hit in the receive path. Early demux occurs before the routing lookup (a hit actually obviates the route lookup). Therefore the stack currently performs early demux before translation so that a local connection with ILA addresses is never matched. Note that this issue is not just with ILA, but pretty much any translated or encapsulated packet handled by LWT would miss the opportunity for early demux. Solving the general problem seems non trivial since we would need to move the route lookup before early demx thereby mitigating the value. This patch set addresses the issue for ILA by adding a fast locator lookup that occurs before early demux. This done by hooking in to NF_INET_PRE_ROUTING For the backend we implement an rhashtable that contains identifier to locator to mappings. The table also allows more specific matches that include original locator and interface.
... Please address Florian's feedback wrt. which nf hook registry interface should be used, and otherwise I think this series is ready to go.