Merging from uCentral-trunk.
The switch in the IPQ807x/IPQ60xx devices will automatically learn the mac
addresses behind a port. But it will not unlearn this entry when some mac
switches from the ethernet port to the CPU port. This will for example
happens when a device roams from on AP to another AP. At least when both
are APs are bridging the wifi traffic directly or indirectly (mesh) to the
same ethernet broadcast domain.
As result, the roaming device can no longer receive any ethernet packets
which the AP is expected to receive on the ethernet port. This state will
be kept for a couple of minutes until the entry in the FDB is dropped
automatically. But it is still possible for the wifi device to send data
via the ethernet during this whole time.
One solution is to just disable learning on all ports. The other option
would be to enable the qca bridge-mgr which takes care of gathering the
events from the bridge and forwards it to the qca-ssdk (to manipulate the
state of the switch). The latter option was chosen to follow the approach
which QCA is also using in their QSDK.
Signed-off-by: ravi vaishnav <ravi.vaishnav@netexperience.com>
This patch will add the conditions to respond captive portal API's to
only valid configuration
Signed-off-by: Nagendrababu <nagendrababu.bonkuri@connectus.ai>
Mismatch in vifC and vifS for captive portal is
leading to opennds restarts and memory leakage.
Fix by making sure the vifC and vifS are in parity.
uci_blob not being freed, fix by making uci_blob
as global so that it need not be freed and can
be reused instead.
Signed-off-by: Chaitanya Godavarthi <chaitanya.kiran@netexperience.com>
Cleaning up captive portal code to improve stability and reduce memory leaks
Signed-off-by: Nagendrababu <nagendrababu.bonkuri@connectus.ai>
- During the configuration process, AP was triggering network
and wireless reload multiple times in a very short window
resulting in a poorly configured hostapd. This patch makes sure
that network/wireless is reloaded only once after all the configuration
is committed to UCI files.
Signed-off-by: Yashvardhan <yashvardhan@netexperience.com>
When the manufacturer block does not contain the model info,
it is then extracted from /tmp/sysinfo/board_name, stripped
off the manufacturer name and converted for all upper case string.
Signed-off-by: ravi vaishnav <ravi.vaishnav@netexperience.com>
Applying the user configured dwell time for off-channel scan
requests. This needed driver changes to accommodate the command/event
processing time in the configured scan timeout, otherwise the scan
is aborted resulting in no off-channel survey results.
Signed-off-by: ravi vaishnav <ravi.vaishnav@netexperience.com>
This fix applies to EA8300, WF194c and EAP102. For these APs,
the br-wan is mapped to eth1 instead of eth0. Adding fix to
use the mac address from eth1 as ID for these particular APs.
Signed-off-by: ravi vaishnav <ravi.vaishnav@netexperience.com>
This patch will change the label names for WiFi6 APs to follow common naming convention
Signed-off-by: Nagendrababu <nagendrababu.bonkuri@connectus.ai>
Average Noise Floor is calcluated for the last few samples based on the
configured Noise Floor time. This calculated avg Noise Floor is compared
against the configured Noise Floor threshold to decide if a Channel hop
is required. While calculating the average, each noise sample is first
converted from dBm to milliWatts, an avaerage of the all the noise
samples in milliWatt is calculated, then the average is converted back
to dBm.
Signed-off-by: ravi vaishnav <ravi.vaishnav@netexperience.com>
Sometimes the APC_State mode gets stuck in WT mode
on bootup. Sometimes the APC State gets updated at
the same time as disabling the APC (SIGTERM puts it in NC mode)
So it may get updated to WT just after SIGTERM handler
puts it in NC mode.
Fix this by setting APC_State in NC mode again after disabling
the APC from opensync (wm).
Signed-off-by: Chaitanya Godavarthi <chaitanya.kiran@netexperience.com>
This patch will add the support to read the cpu temperature of ath11k
chipset boards and update to the UI
Signed-off-by: Nagendrababu <nagendrababu.bonkuri@connectus.ai>
The earlier changes for detaching the nl sockets for SM activity
also included a small change to relocate the event subscription.
This relocation of code is causing the crash due to possible
NULL pointer dereference.
Reverting the event subscription relocation code to avoid the
continuous SM crash.
Signed-off-by: ravi vaishnav <ravi.vaishnav@netexperience.com>
Could not root-cause the issue for SM crash, but there were enough
indications of some kind of memory corruption. Different core captures
show the code crashing at different places. An experiment to unblock
the SM socket on the receive end helped avoid the corruption and
subsequently the crashes.
Signed-off-by: ravi vaishnav <ravi.vaishnav@netexperience.com>
-Reduced the BDR->DR swap time.
-Monitor the cloud connection and start/stop APC
based on the connection stability.
Signed-off-by: Chaitanya Godavarthi <chaitanya.kiran@netexperience.com>
Proxy service is started only if
- Radius_Proxy_Config ovsdb table is present
- APC elects AP as DR
Also fixes WIFI-2377
Signed-off-by: Arif Alam <arif.alam@netexperience.com>
- WM was getting stuck on recvmsg() while receiving netlink event notifications
Since we are already using event loop to read data as and when it arrives, there was
no need to keep nl_recvmsgs() in blocking mode for notifications.
Setting socket to non-blocking mode resolves the issue.
- Also removed a redundant reload_config call in captive.c.
Signed-off-by: Yashvardhan <yashvardhan@netexperience.com>
Remove stale radius proxy config on ovsdb delete.
Signed-off-by: Arif Alam <arif.alam@netexperience.com>
WIFI-2377: check radius proxy service on APC state change
Start or stop radius proxy service as needed on APC state change.
Radius proxy service is only started if:
- AP is elected as a DR (Designated Router) via APC
- radproxy is set to true in vif config custom options for any
ssid
Signed-off-by: Arif Alam <arif.alam@netexperience.com>