mlxsw: spectrum_router: Save requested prefix bitlist when creating tree
authorJiri Pirko <jiri@mellanox.com>
Tue, 25 Oct 2016 09:25:56 +0000 (11:25 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 28 Oct 2016 17:43:56 +0000 (13:43 -0400)
Currently, the prefix bitlist is not saved for LPM trees, causing the
compare to always fail which causes the tree to be destroyed and created
for every inserted and removed FIB entry. So fix this by saving
the bitlist as it should have been done from the very beginning.

Fixes: 53342023eed9 ("mlxsw: spectrum_router: Implement LPM trees management")
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Reviewed-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c

index f3d50d369bbe8ac34e31552fce489b0451722940..4cff4c043d11911074757826fc85b7354ee6ea72 100644 (file)
@@ -320,6 +320,8 @@ mlxsw_sp_lpm_tree_create(struct mlxsw_sp *mlxsw_sp,
                                                lpm_tree);
        if (err)
                goto err_left_struct_set;
+       memcpy(&lpm_tree->prefix_usage, prefix_usage,
+              sizeof(lpm_tree->prefix_usage));
        return lpm_tree;
 
 err_left_struct_set: