Commit 12fd35ab authored by Ido Schimmel's avatar Ido Schimmel Committed by David S. Miller

mlxsw: cmd: Introduce FID-offset flooding tables

Packets destined to offloaded netdevs will be classified to FIDs in the
device and flooded in case of BUM.

The flooding table used is of type FID-offset, which allows one to
create different flooding domains for different FIDs and specify the
offset in the flooding table for each FID (not necessarily equal to FID
or VID).

Add support for this flooding table type, by exposing the configuration
of the number of tables from this type and their size.
Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 453b6a8d
...@@ -674,6 +674,18 @@ MLXSW_ITEM32(cmd_mbox, config_profile, max_vid_flood_tables, 0x30, 8, 4); ...@@ -674,6 +674,18 @@ MLXSW_ITEM32(cmd_mbox, config_profile, max_vid_flood_tables, 0x30, 8, 4);
*/ */
MLXSW_ITEM32(cmd_mbox, config_profile, flood_mode, 0x30, 0, 2); MLXSW_ITEM32(cmd_mbox, config_profile, flood_mode, 0x30, 0, 2);
/* cmd_mbox_config_profile_max_fid_offset_flood_tables
* Maximum number of FID-offset flooding tables.
*/
MLXSW_ITEM32(cmd_mbox, config_profile,
max_fid_offset_flood_tables, 0x34, 24, 4);
/* cmd_mbox_config_profile_fid_offset_flood_table_size
* The size (number of entries) of each FID-offset flood table.
*/
MLXSW_ITEM32(cmd_mbox, config_profile,
fid_offset_flood_table_size, 0x34, 0, 16);
/* cmd_mbox_config_profile_max_fid_flood_tables /* cmd_mbox_config_profile_max_fid_flood_tables
* Maximum number of per-FID flooding tables. * Maximum number of per-FID flooding tables.
* *
......
...@@ -153,6 +153,8 @@ struct mlxsw_config_profile { ...@@ -153,6 +153,8 @@ struct mlxsw_config_profile {
u8 max_flood_tables; u8 max_flood_tables;
u8 max_vid_flood_tables; u8 max_vid_flood_tables;
u8 flood_mode; u8 flood_mode;
u8 max_fid_offset_flood_tables;
u16 fid_offset_flood_table_size;
u8 max_fid_flood_tables; u8 max_fid_flood_tables;
u16 fid_flood_table_size; u16 fid_flood_table_size;
u16 max_ib_mc; u16 max_ib_mc;
......
...@@ -1214,6 +1214,10 @@ static int mlxsw_pci_config_profile(struct mlxsw_pci *mlxsw_pci, char *mbox, ...@@ -1214,6 +1214,10 @@ static int mlxsw_pci_config_profile(struct mlxsw_pci *mlxsw_pci, char *mbox,
mbox, profile->max_flood_tables); mbox, profile->max_flood_tables);
mlxsw_cmd_mbox_config_profile_max_vid_flood_tables_set( mlxsw_cmd_mbox_config_profile_max_vid_flood_tables_set(
mbox, profile->max_vid_flood_tables); mbox, profile->max_vid_flood_tables);
mlxsw_cmd_mbox_config_profile_max_fid_offset_flood_tables_set(
mbox, profile->max_fid_offset_flood_tables);
mlxsw_cmd_mbox_config_profile_fid_offset_flood_table_size_set(
mbox, profile->fid_offset_flood_table_size);
mlxsw_cmd_mbox_config_profile_max_fid_flood_tables_set( mlxsw_cmd_mbox_config_profile_max_fid_flood_tables_set(
mbox, profile->max_fid_flood_tables); mbox, profile->max_fid_flood_tables);
mlxsw_cmd_mbox_config_profile_fid_flood_table_size_set( mlxsw_cmd_mbox_config_profile_fid_flood_table_size_set(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment