mirror of
https://github.com/LibreQoE/LibreQoS.git
synced 2025-02-25 18:55:32 -06:00
Add a zero-capacity site correction to UISP integration.
This commit is contained in:
parent
4e3da50adf
commit
1c0aba7c78
@ -10,6 +10,7 @@ mod squash_single_entry_aps;
|
||||
mod tree_walk;
|
||||
mod uisp_fetch;
|
||||
mod utils;
|
||||
mod zero_capacity_sites;
|
||||
|
||||
use crate::errors::UispIntegrationError;
|
||||
use crate::ip_ranges::IpRanges;
|
||||
@ -28,6 +29,7 @@ use crate::strategies::full::utils::{print_sites, warn_of_no_parents};
|
||||
use crate::uisp_types::{UispSite, UispSiteType};
|
||||
pub use bandwidth_overrides::BandwidthOverrides;
|
||||
use lqos_config::Config;
|
||||
use crate::strategies::full::zero_capacity_sites::correct_zero_capacity_sites;
|
||||
|
||||
/// Attempt to construct a full hierarchy topology for the UISP network.
|
||||
pub async fn build_full_network(
|
||||
@ -94,6 +96,9 @@ pub async fn build_full_network(
|
||||
// Build Path Weights
|
||||
walk_tree_for_routing(&mut sites, &root_site, &routing_overrides)?;
|
||||
|
||||
// Correct any sites with zero capacity
|
||||
correct_zero_capacity_sites(&mut sites, &config);
|
||||
|
||||
// Issue No Parent Warnings
|
||||
warn_of_no_parents(&sites, &devices_raw);
|
||||
|
||||
|
@ -0,0 +1,22 @@
|
||||
use lqos_config::Config;
|
||||
use crate::uisp_types::UispSite;
|
||||
|
||||
pub fn correct_zero_capacity_sites(sites: &mut [UispSite], config: &Config) {
|
||||
for i in 0 .. sites.len() {
|
||||
if sites[i].max_down_mbps == 0 {
|
||||
if let Some(parent_idx) = sites[i].selected_parent {
|
||||
sites[i].max_down_mbps = sites[parent_idx].max_down_mbps;
|
||||
} else {
|
||||
sites[i].max_down_mbps = config.queues.generated_pn_download_mbps;
|
||||
}
|
||||
}
|
||||
|
||||
if sites[i].max_up_mbps == 0 {
|
||||
if let Some(parent_idx) = sites[i].selected_parent {
|
||||
sites[i].max_up_mbps = sites[parent_idx].max_up_mbps;
|
||||
} else {
|
||||
sites[i].max_up_mbps = config.queues.generated_pn_upload_mbps;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user