diff options
author | Jiri Pirko <jiri@mellanox.com> | 2016-07-04 08:23:04 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-07-04 18:25:14 -0700 |
commit | 5e9c16cc83a708a031f3999ac84f57101123d109 (patch) | |
tree | 54bdd24bfe6bb6a3f8a72f56a7c28d52b9d04ae7 /drivers/net/ethernet/mellanox/mlxsw/spectrum.h | |
parent | f48cc6b2661ccb6e9d85a5cdd78c0150929a2821 (diff) |
mlxsw: spectrum_router: Implement private fib
Shadow FIB is needed in order to hold additional information for FIB
entries and keep track of used prefixes. That is needed for the LPM tree
construction to be introduced later on in this set.
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Reviewed-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlxsw/spectrum.h')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlxsw/spectrum.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.h b/drivers/net/ethernet/mellanox/mlxsw/spectrum.h index 83d5807832a0..da0e0720389b 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.h +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.h @@ -43,6 +43,7 @@ #include <linux/if_vlan.h> #include <linux/list.h> #include <linux/dcbnl.h> +#include <linux/in6.h> #include <net/switchdev.h> #include "port.h" @@ -160,6 +161,12 @@ struct mlxsw_sp_sb { } ports[MLXSW_PORT_MAX_PORTS]; }; +#define MLXSW_SP_PREFIX_COUNT (sizeof(struct in6_addr) * BITS_PER_BYTE) + +struct mlxsw_sp_prefix_usage { + DECLARE_BITMAP(b, MLXSW_SP_PREFIX_COUNT); +}; + struct mlxsw_sp { struct { struct list_head list; |