The number of entries in the node cache is currently capped to 100. This limit is outdated. Modern hardware like iwm(4) 8265 supports 46 distinct channels (1-13, 36-165) each of which can host multiple APs.
The limit is easily reached at 36c6 which makes use of much of the available spectrum and provides at least 3 SSIDs on each channel: $ ifconfig iwm0 scan | grep nwid | wc -l 96 So we may be missing out on the best AP to use. The cache uses an RB tree so performance impact should be negligible. ok? diff 5181eb992cbbf64c135f177197957b0e0b427e21 /usr/src blob - 7fada592641e683415ffc42cded1c8b27bf39c5c file + sys/net80211/ieee80211_node.h --- sys/net80211/ieee80211_node.h +++ sys/net80211/ieee80211_node.h @@ -39,7 +39,7 @@ #define IEEE80211_TRANS_WAIT 5 /* transition wait */ #define IEEE80211_INACT_WAIT 5 /* inactivity timer interval */ #define IEEE80211_INACT_MAX (300/IEEE80211_INACT_WAIT) -#define IEEE80211_CACHE_SIZE 100 +#define IEEE80211_CACHE_SIZE 512 #define IEEE80211_CACHE_WAIT 30 #define IEEE80211_INACT_SCAN 10 /* for station mode */