Problem:We have even vlan pooling algorithm enabled on the VAP. However we see that the DHCP scopes are running out faster with it.
Diagnostics:1. We can configure Even vlan pooling algorithm as follows:
(Master)#config t
(Master) (config)# vlan-name first assignment even
(Master) (config) #vlan first 1,2
2. Verify the config:
(Master) (config) #show vlan mapping
Vlan Mapping Table
------------------
VLAN Name Assignment Type VLAN IDs
--------- --------------- --------
first Even 1-2
We can view the VLAN assignment using the commands below. Outputs from these commands shouldn't vary too much:
1. #show vlan-assignment
VLAN Assignment
---------------
VLAN #CLIENTS
---- --------
1 146
2 152
2. #show ap vlan-usage
VLAN Usage Table
----------------
VLAN ID Clients
------- -------
1 146
2 152
SolutionA client may be removed from the user table when:
1. Fails to authenticate for logon user lifetime.
2. Sends a de-auth to the AP.
3. Doesn't send any traffic for idle timeout duration.
When the same client connects again, it might be placed in a different vlan based on even vlan pooling algorithm. Now the number of users on the controller stays the same, however the same client is now using two scopes on the DHCP server in two different subenets. This causes the DHCP server to run out of IP leases faster.
Workaround:
Enable preserve-vlan in VAP profile. With this enabled, the controller will check in its datapath station table if the client already exists or not:
#show datapath station table
------------------------------
Flags: W - WEP, T - TKIP, A - AESCCM, M - WMM N - .11n client
S - AMSDU, G - AESGCM, R - DATA READY, I - INACTIVE, r - ROAMED
MAC BSSID VLAN Bad Decrypts Bad Encrypts RSN cap Aid HomeVlan A-MsduSize A-MsduTxQ Flags
----------------- ----------------- ---- ------------ ------------ ------- ---- -------- ---------- ------------------- -----
34:A3:95:89:E8:56 18:64:72:D1:28:52 991 0 0 0000 0001 991 0 0000/0000/0000/0000 AMNR
EC:88:92:67:7C:C7 00:24:6C:11:7C:C2 991 0 0 0000 0005 991 0 0000/0000/0000/0000 AMNR
00:EE:BD:B1:C8:CD D8:C7:C8:96:C8:C8 24 0 0 0000 0002 24 0 0000/0000/0000/0000 MN
If the client already exists in the table, it will assign the same vlan to the client.