summaryrefslogtreecommitdiff
path: root/net/ipv6/ip6_offload.c
diff options
context:
space:
mode:
authorIdo Schimmel <idosch@mellanox.com>2017-10-08 11:53:26 +0200
committerDavid S. Miller <davem@davemloft.net>2017-10-08 10:05:27 -0700
commita69518cf0b4cbf02c6bc1239cdeb8750a9eb8077 (patch)
tree3b9ce1d50117a1ad187714628b8ccda0cb5b0c88 /net/ipv6/ip6_offload.c
parent8fe2d6ccd52b086268f2f36e5e2fc0fe3aeffa80 (diff)
mlxsw: spectrum_router: Avoid expensive lookup during route removal
In commit fc922bb0dd94 ("mlxsw: spectrum_router: Use one LPM tree for all virtual routers") I increased the scale of supported VRFs by having all of them share the same LPM tree. In order to avoid look-ups for prefix lengths that don't exist, each route removal would trigger an aggregation across all the active virtual routers to see which prefix lengths are in use and which aren't and structure the tree accordingly. With the way the data structures are currently laid out, this is a very expensive operation. When preformed repeatedly - due to the invocation of the abort mechanism - and with enough VRFs, this can result in a hung task. For now, avoid this optimization until it can be properly re-added in net-next. Fixes: fc922bb0dd94 ("mlxsw: spectrum_router: Use one LPM tree for all virtual routers") Signed-off-by: Ido Schimmel <idosch@mellanox.com> Reported-by: David Ahern <dsa@cumulusnetworks.com> Tested-by: David Ahern <dsa@cumulusnetworks.com> Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/ip6_offload.c')
0 files changed, 0 insertions, 0 deletions