From 57f5d8d1b72309bbf0e88d2acc23057ff6ba6286 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Deronne?= Date: Tue, 21 Feb 2023 20:28:35 +0100 Subject: [PATCH] wifi: Only erase unused bands that belong to the specified frequency range in InterferenceHelper::UpdateBands --- src/wifi/model/interference-helper.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/wifi/model/interference-helper.cc b/src/wifi/model/interference-helper.cc index 62dc153a4..591d4883a 100644 --- a/src/wifi/model/interference-helper.cc +++ b/src/wifi/model/interference-helper.cc @@ -295,6 +295,15 @@ InterferenceHelper::UpdateBands(const std::vector& bands, for (auto it = niChangesPerBand.begin(); it != niChangesPerBand.end();) { const auto frequencies = it->first.frequencies; + const auto isInFrequencyRange = ((frequencies.second > (freqRange.minFrequency * 1e6)) && + (frequencies.first < (freqRange.maxFrequency * 1e6))); + if (!isInFrequencyRange) + { + NS_ASSERT(newNiChangesPerBand.count(it->first) == 0); + newNiChangesPerBand.insert({it->first, std::move(it->second)}); + newFirstPowerPerBand.insert({it->first, firstPowerPerBand.at(it->first)}); + continue; + } const auto itEqual = std::find_if(bands.cbegin(), bands.cend(), [frequencies](const auto& item) { return frequencies == item.frequencies;