[Devel] [PATCH RH7 0/4] do not rely on missing rtcache in vzprivnet_hook
Andrew Vagin
avagin at virtuozzo.com
Tue Oct 25 14:33:27 PDT 2016
On Wed, Oct 19, 2016 at 03:20:53PM +0300, Pavel Tikhomirov wrote:
> vzprivnet filter relies on dst.privnet_mark is per saddr+daddr pair.
> But rt_hash_table was removed in ms kernel v3.6, commit 89aef8921bfb
> ("ipv4: Delete routing cache."). And now different saddr+daddr pairs
> can have same routing dst_entry, and thus same pmark variable, and
> vzprivnet filter fails to filter these pairs(blocks both or allows
> both depending on which connection was first, the one we need to
> block or allow).
>
> These is the try to return plain vzprivnet_hook which was without
> caching, so we would always do explicit vzprivnet_classify. If after
> these change the network would not become very slow (not much than
> ~10% slower) we seem to be able to leave with it.
Who will do performance measurements?
>
> note: We do the same in vzprivnet6_hook, except that private networks
> are in radix tree instead of rbtree as for vzprivnet_hook.
>
> https://jira.sw.ru/browse/PSBM-53646
Reviewed-by: Andrew Vagin <avagin at virtuozzo.com>
>
> Pavel Tikhomirov (4):
> Revert "vzprivnet: rt cache drop on vzprivnet update"
> Revert "vzprivnet: Flush rt cache each time rules change"
> vzprivnet: remove dst.privnet_mark usage as it is no more rtcached
> Revert "VZPRIVNET: cache filtering result on dst"
>
> include/net/dst.h | 2 --
> net/core/dst.c | 1 -
> net/ipv4/netfilter/ip_vzprivnet.c | 63 +++++++--------------------------------
> 3 files changed, 10 insertions(+), 56 deletions(-)
>
> --
> 2.7.4
>
More information about the Devel
mailing list