Technical Tip: Cisco 9800 WLC clients disconnect due to incomplete MAC tables
Description
Cisco 9800 WLC wireless clients unexpectedly disconnect then reconnect.
It has been observed the 9800 can occasionally return an incomplete list of MAC addresses during an L2 poll. Any online host whose MAC address was not included in the list is marked "offline" in the appliance database.
When this occurs and a subsequent poll returns the full list of online MAC addresses, the host previously marked offline will be re-evaluated for policy assignment.
In some cases, this can lead to a disconnect request being sent to the controller to re-authenticate and re-assign the correct VLAN for the host via RADIUS.
Example:
1) Host connects to SSID and 9800 sends RADIUS Access Request to the appliance.
2) Appliance responds with RADIUS Access Accept assigning VLAN A.
3) Scheduled L2 poll of the Cisco 9800 controller completes - MAC address of the host is returned. Host is online and connected to the correct SSID and VLAN.
4) Scheduled L2 poll of the Cisco 9800 controller - MAC address of the host is not returned due to an incomplete list. Host record is marked "offline".
5) Scheduled L2 poll of the Cisco 9800 controller - MAC address of the host is returned. Host record is marked "online".
nacdebug -name Airespace true
nacdebug -name SnmpV1 true
SNMP version 1 or 2.
snmpwalk -v 1 -c <community string> <device ip_address> 1.3.6.1.4.1.14179.2.1.4.1.1
SNMP version 3.
snmpwalk -v 3 -u <username> -l <AuthPriv or NoAuthPriv> -a <MD5 or SHA> -A <password> -x <DES or AES> -X <password> <device ip_address> 1.3.6.1.4.1.14179.2.1.4.1.1
*May need to use single quotes (') with passwords.
Note.
macPrefix = 1.3.6.1.4.1.14179.2.1.4.1.1 <<<<<<< Contains MAC address table listing
ipAddrPrefix = 1.3.6.1.4.1.14179.2.1.4.1.2
apMacPrefix = 1.3.6.1.4.1.14179.2.1.4.1.4
ssidPrefix = 1.3.6.1.4.1.14179.2.1.4.1.7
statusPrefix = 1.3.6.1.4.1.14179.2.1.4.1.9
mobilityStatusPrefix = 1.3.6.1.4.1.14179.2.1.4.1.11
ifNamePrefix = 1.3.6.1.4.1.14179.2.1.4.1.27
ifIdPrefix = 1.3.6.1.4.1.14179.2.1.4.1.29
yams INFO :: 2021-03-25 13:30:10:576 :: PollThread-poll0 wlc-9800 [80] client mac = 24:ee:9a:b7:56:3d client ip = 144.35.26.112 ifName = staff mobStatus = 1 ap = cc:7f:75:af:36:00 status = 3 <<< MAC address detected via L2 poll
yams.Airespace INFO :: 2021-03-25 13:30:12:825 :: com.bsc.plugin.forwarding.AirespaceApPlugin.checkVlan for client 24:EE:9A:B7:56:3D, element 192.168.80.20 and port 57025
yams.Airespace INFO :: 2021-03-25 13:30:12:826 :: isClientManaged client 24:EE:9A:B7:56:3D 2297954 auth type = 2
yams INFO :: 2021-03-25 13:30:12:827 :: 2021/03/25 13:30:12.827 DevicePluginThread2 client=2297954
yams INFO :: 2021-03-25 13:30:12:827 :: 2021/03/25 13:30:12.827 DevicePluginThread2 clearClient new client= 2297954
yams INFO :: 2021-03-25 13:30:12:827 :: 2021/03/25 13:30:12.827 DevicePluginThread2 evaluateClient: client 2297954 not connected to SSID <<<<< indicates previously offline
yams INFO :: 2021-03-25 13:30:12:828 :: 2021/03/25 13:30:12.828 DevicePluginThread2 evaluateClient client 24:EE:9A:B7:56:3D 2297954 auth type = 2
yams INFO :: 2021-03-25 13:30:12:828 :: 2021/03/25 13:30:12.828 DevicePluginThread2 evaluateClient: client 2297954 not connected to SSID <<<<<
yams INFO :: 2021-03-25 13:30:12:828 :: 2021/03/25 13:30:12.828 DevicePluginThread2 evaluateClient: client 2297954 not connected to WAP <<<<<
Solution
Related Articles
Technical Note: Gather logs for debugging and troubleshooting
