提交 453b6a8d 编写于 作者: I Ido Schimmel 提交者: David S. Miller

mlxsw: cmd: Introduce per-FID flooding tables

In the newly introduced Spectrum switch ASIC, packets destined to not
offloaded netdevs will be classified to special FIDs (vFIDs) in the
device and flooded to the CPU port.

The flooding table used is of type per-FID, which allows one to create
different flooding domains for different vFIDs.

While using a simple single-entry flood table is certainly sufficient at
this point, we do plan to offload 802.1D bridges involving VLAN
interfaces, thus making this change necessary.

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: NIdo Schimmel <idosch@mellanox.com>
Signed-off-by: NJiri Pirko <jiri@mellanox.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 bc2055f8
...@@ -674,6 +674,19 @@ MLXSW_ITEM32(cmd_mbox, config_profile, max_vid_flood_tables, 0x30, 8, 4); ...@@ -674,6 +674,19 @@ 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_flood_tables
* Maximum number of per-FID flooding tables.
*
* Note: This flooding tables cover special FIDs only (vFIDs), starting at
* FID value 4K and higher.
*/
MLXSW_ITEM32(cmd_mbox, config_profile, max_fid_flood_tables, 0x38, 24, 4);
/* cmd_mbox_config_profile_fid_flood_table_size
* The size (number of entries) of each per-FID table.
*/
MLXSW_ITEM32(cmd_mbox, config_profile, fid_flood_table_size, 0x38, 0, 16);
/* cmd_mbox_config_profile_max_ib_mc /* cmd_mbox_config_profile_max_ib_mc
* Maximum number of multicast FDB records for InfiniBand * Maximum number of multicast FDB records for InfiniBand
* FDB (in 512 chunks) per InfiniBand switch partition. * FDB (in 512 chunks) per InfiniBand switch partition.
......
...@@ -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_flood_tables;
u16 fid_flood_table_size;
u16 max_ib_mc; u16 max_ib_mc;
u16 max_pkey; u16 max_pkey;
u8 ar_sec; u8 ar_sec;
......
...@@ -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_flood_tables_set(
mbox, profile->max_fid_flood_tables);
mlxsw_cmd_mbox_config_profile_fid_flood_table_size_set(
mbox, profile->fid_flood_table_size);
} }
if (profile->used_flood_mode) { if (profile->used_flood_mode) {
mlxsw_cmd_mbox_config_profile_set_flood_mode_set( mlxsw_cmd_mbox_config_profile_set_flood_mode_set(
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册