In case of full config push, do not send CSA as hostapd
is anyway going to reload with reload_config script detecting
the UCI change. This would help avoid double channel switch.
Signed-off-by: Yashvardhan <yashvardhan@netexperience.com>
Bringing in the missing changes from a patch which was earlier
committed on Pennding and which got over-written with CS merge.
Signed-off-by: ravi vaishnav <ravi.vaishnav@netexperience.com>
Some passpoint config params were missed during the CS1 update task.
Readding those config params.
Signed-off-by: Arif Alam <arif.alam@netexperience.com>
A channel change request from RRM while a reload_config is in
progress cause the new CSA attempt fail. AP updated the UCI
no matter if the CSA attempt failed or passed. This leads to
the AP not re-trying the CSA again.
Furthermore another issue is seen when an invalid channel/BW
combination is configured. Solution is to update the Bandwidth
as per channel change request is made via CSA.
Example: BW already configured for 40MHz, and then the channel
change attempt is made to 165. The channel change code takes care
of downgrading the BW to 20MHz while sending the request down to
the driver, but did not update the same in the UCI config.
UCI config reads as 165/40. A reloadconfig thereafter causes this
invalid combination 165/40 attempt which leads to radio stay disabled.
Signed-off-by: ravi vaishnav <ravi.vaishnav@netexperience.com>
nf_uccdetect module tries and analyze the traffic to detect
VoIP calls, and generate events up to the user space. This module
assigns value -1 as RadioID for packets from Ethernet interface
which eventually is used as an array index, eventually running
into an Assert and crash. Fix is to skip these packets from
Ethernet interface for the analysis.
Signed-off-by: ravi vaishnav <ravi.vaishnav@netexperience.com>
Fix ethernet port vlan access mode in wifi6
Create a vlan bridge and attach wan vlan interface
and eth port in the vlan bridge.
Signed-off-by: Chaitanya Godavarthi <chaitanya.kiran@netexperience.com>
Current survey sample report doesn't include channel bandwidth parameter, hence cloud won't be having channel bandwidth information.
This patch will add support to add channel bandwidth attribute to survey sample report and will report available channel
bandwidth on respective channel to the cloud.
Signed-off-by: Nagendrababu <nagendrababu.bonkuri@connectus.ai>
Fix Wifi_Inet_State missing issue in eap101 when both the
ethernet ports are configured as vlan trunk/access mode.
Also, removed the pvid from allowed vlans list in trunk mode.
Signed-off-by: Chaitanya Godavarthi <chaitanya.kiran@netexperience.com>
When a DFS radar is generated, Hostapd code takes a different path
to switch channels if CAC is still in progress. And this other path
did not generate the DFS radar detected event. Adding the same event.
Signed-off-by: ravi vaishnav <ravi.vaishnav@netexperience.com>
This fixes the Null pointer crash in single eth port
APs as a consequence to the eth ports setting in the
Wifi_Inet_Config.
Signed-off-by: Chaitanya Godavarthi <chaitanya.kiran@netexperience.com>
Add provision to set an ethernet lan port as a vlan
trunk port which will allow the specified vlan tagged
packets to pass through it. Also, add pvid to the trunk
port for ingress tagging. Config is added in Wifi_Inet_Config
table 'vlan_trunk'.
command:
ADD: /usr/opensync/bin/ovsh i Wifi_Inet_Config NAT:=true enable
d:=true if_name:=eth0_trunk if_type:=vlan_trunk ip_assign_scheme:=none network:=
true parent_ifname:=eth0 dhcp_sniff:=false eth_ports:="eth0" vlan_trunk:='["map"
,[["allowed_vlans","100 200 300"],["pvid","10"]]]'
DEL: /usr/opensync/bin/ovsh d Wifi_Inet_Config -w if_name==eth0_trunk
Signed-off-by: Chaitanya Godavarthi <chaitanya.kiran@netexperience.com>
Updating the Opensync radioState allowed channels list
and the band column after a country code change.
Signed-off-by: ravi vaishnav <ravi.vaishnav@netexperience.com>
The QDSS config takes long time to complete and puts the kernel
thread to freeze for a while. This lets the kernel run other
threads which leads to country code command execution without
the ATH11K_FLAG_REGISTERED flag set, which inturn leads to
failure of Country code configuration.
Updating the ATH11K_FLAG_REGISTERED flag before calling QDSS
config seems to help driver configure the Country code successfully.
Signed-off-by: ravi vaishnav <ravi.vaishnav@netexperience.com>
Fix by adding LAN port check in case of single ethernet
port APs where LAN port is not available.
Signed-off-by: Chaitanya Godavarthi <chaitanya.kiran@netexperience.com>
1. Add provision to tag with vlan when set to Bridge mode (br-wan).
2. Add provision to set the local IP address in NAT (br-lan)
3. Display the Ethernet port status(up/down) and negotiated rate.
4. Add provision to set lan eth port to bridge/nat.
Signed-off-by: Chaitanya Godavarthi <chaitanya.kiran@netexperience.com>
On detecting Radar on the DFS channel the radio switches
the channel to backup channel. However, the opensync tries
to set it back to the configured channel every 30 seconds, which
which would fail since the channel is in a radar NOP period, this
leads to dropping of clients.
Fix by adding a check for the configured channel's availability
before trying to change to that channel.
Also, check if the radio Channel config has changed before
attempting to change the channel.
Signed-off-by: Chaitanya Godavarthi <chaitanya.kiran@netexperience.com>
This patch will add fix to allow DHCP broadcast packets,
so that AP can forward DHCP broadcast offer to clients
Cause:
In the bridge source code, there is a mechanism to drop all the broadcast packets if the proxy arp is enabled, because of this dhcp clients which set broadcast flag to 1 while connecting toAP's interfaces are not able get an ip address hence they are not connecting
Solution:
Added the code to the bridge source code so that before dropping broadcast packets it first checks, whether it is dhcp broadcast packet or not. So that it won't drop dhcp braodcast packets.Hence DORA process will succeed and clients which sets broadcast flag to 1 gets an ip address even though the proxy arp is enabled.
Signed-off-by: Nagendrababu <nagendrababu.bonkuri@connectus.ai>
This patch will add fix to allow DHCP broadcast packets, so that AP can forward DHCP broadcast offer to clients
cause:
In the bridge source code, there is a mechanism to drop all the broadcast packets if the proxy arp is enabled, because of this dhcp clients which set broadcast flag to 1 while connecting toAP's interfaces are not able get the an ip address hence they are not connecting.
solution:
Added the code to the bridge source code, so that before dropping broadcast packets it first check whether it is dhcp braodcast packet or not. So that it won't drop dhcp broadcast packets. Hence DORA process will succeed and clients which set broadcast flag to 1 gets an ip address even though the proxy arp is enabled.
Signed-off-by: Nagendrababu <nagendrababu.bonkuri@connectus.ai>
Dont enable hairpin mode from hostapd (x_snoop) as it overwrites
the set value by netifd to enable/disable client isolation.
Signed-off-by: Chaitanya Godavarthi <chaitanya.kiran@netexperience.com>
Correcting an earlier commit 4beda3ab66
to consider all the cases where the avl entry needs be deleted when
a scan is either completed or aborted for any reason.
Signed-off-by: ravi vaishnav <ravi.vaishnav@netexperience.com>
Radio was falling back to original channel after switch because
of a mismatch in radio state and radio config.
Updated the radio config with “switch-to” channel to match with the radio state.
Signed-off-by: Yashvardhan <yashvardhan@netexperience.com>
Sometimes, the driver reports 0 Noise Floor value which is
not a valid data point. Adding a workaround in Opensync layer
to consider previous recorded NF value when 0 NF is reported.
Signed-off-by: ravi vaishnav <ravi.vaishnav@netexperience.com>
This patch will fix configuration restore problem over sysupgrade
on WF610D
Even though there is a configuration data in the /dev/mtdblock12, it is getting erased while reading it beacuse of JFFS2 empty bitmask code. So I added a condition to check whether the datatype available is JFFS2 or not, and making sure it is not empty before returning the JFFS2 flag to restore the configuration.
Signed-off-by: Nagendrababu <nagendrababu.bonkuri@connectus.ai>
Successive scan requests on same interface cause scan timeout.
Scan requests are enqueued at the Opensync layer and is designed
to handle the requests sequentially. If there are successive
scan requests for the same interface, then we end up deleteling
an on-going scan context. This is due to the interface name being
used as key for the AVL entries, and we were trying to reuse the
AVL entry if one already exist.
Solution is to always allocate a new entry without any reuse.
Signed-off-by: ravi vaishnav <ravi.vaishnav@netexperience.com>
Allow bridging broadcast and multicast traffic within same
bridge port if hairpinmode is enabled for that port.
This fixes the ARP packet between clients on same wifi interface
being dropped.
Signed-off-by: Chaitanya Godavarthi <chaitanya.kiran@netexperience.com>
For RRM noise floor driven channel change:
1. Set HT VHT HE based on the hw_mode
2. Set secondary frequency (center_freq1) based on bandwidth
Signed-off-by: Chaitanya Godavarthi <chaitanya.kiran@netexperience.com>
The data from the chan_info events were overwriting the data
to the existing survey info counters. The data in the chan_info
events were Read-On-Clear where as the Survey info was maintained
as incremental stats and the application in the User space
performs the calculations based on incremental survey info stats.
As an example, the survey->time was always stored as 150 due to
chan_info event's Clear-On-Read nature. And this lead to the
difference calcuation as 0 at the User space application.
Solution is to add the incoming chan_info data to the existing
survey info stats, instead of replacing the existing data with new.
Signed-off-by: ravi vaishnav <ravi.vaishnav@netexperience.com>