enum mlxsw_sp_fid_flood_profile_id {
        MLXSW_SP_FID_FLOOD_PROFILE_ID_BRIDGE = 1,
        MLXSW_SP_FID_FLOOD_PROFILE_ID_RSP,
+       MLXSW_SP_FID_FLOOD_PROFILE_ID_NVE,
 };
 
 struct mlxsw_sp_fid_flood_profile {
        mlxsw_reg_sfmr_cff_mid_base_set(sfmr_pl, pgt_base);
        mlxsw_reg_sfmr_cff_prf_id_set(sfmr_pl,
                                      fid_family->flood_profile->profile_id);
+       mlxsw_reg_sfmr_nve_flood_prf_id_set(sfmr_pl,
+                                           MLXSW_SP_FID_FLOOD_PROFILE_ID_NVE);
 }
 
 static u16 mlxsw_sp_fid_rfid_fid_offset_cff(struct mlxsw_sp *mlxsw_sp,
        .profile_id             = MLXSW_SP_FID_FLOOD_PROFILE_ID_RSP,
 };
 
+static const struct mlxsw_sp_flood_table mlxsw_sp_fid_nve_flood_tables_cff[] = {
+       {
+               .packet_type    = MLXSW_SP_FLOOD_TYPE_ANY,
+               .table_index    = 0,
+       },
+};
+
+static const
+struct mlxsw_sp_fid_flood_profile mlxsw_sp_fid_nve_flood_profile_cff = {
+       .flood_tables           = mlxsw_sp_fid_nve_flood_tables_cff,
+       .nr_flood_tables        = ARRAY_SIZE(mlxsw_sp_fid_nve_flood_tables_cff),
+       .profile_id             = MLXSW_SP_FID_FLOOD_PROFILE_ID_NVE,
+};
+
 static bool
 mlxsw_sp_fid_8021q_compare(const struct mlxsw_sp_fid *fid, const void *arg)
 {
 struct mlxsw_sp_fid_flood_profile *mlxsw_sp_fid_flood_profiles[] = {
        &mlxsw_sp_fid_8021d_flood_profile,
        &mlxsw_sp_fid_rsp_flood_profile_cff,
+       &mlxsw_sp_fid_nve_flood_profile_cff,
 };
 
 static int