This article describes the algorithm that governs VLAN selection when vlan-pooling is implemented in Mobility System Software (MSS) 9.x and above.
Note: VLAN pooling allows you to associate “equivalent” VLANs to any given service profiles. This feature improves network scalability and reduces broadcast domains across VLANs.
VLAN pooling implements either a round-robin mechanism which guarantees load balancing between all VLANs, or a MAC hashing algorithm which guarantees that a given WLAN client will always receive the same VLAN on each association request.
To configure client load balancing or client MAC hashing, use the command below:
WLC# set vlan-pool <name> selection-method {client-mac-hash | load-balancing}
The MAC address hashing algorithm does not perform load balancing; it simply ensures that a given client receives the same VLAN every time it connects.
A VLAN pool with "N" VLANs has those VLANs organized in an array, with indices ranging from 0 to (N - 1). Given a client MAC address, the index is generated as follows:
idx = (last byte of client MAC) % N
The VLAN at index "idx" is the one assigned to the session.
Example:
VLAN 10
VLAN 20
VLAN 30
N = 3
Indices = 0 /1/ 2
Clients MAC addresses:
X:00
X:01
X:02
X:03
X:04
X:05
X:06
X:07
X:08
X:00 to X:02 will end up in VLAN 10 (indice= 0, remainder=idx=0)
X:03 to X:05 will end up in VLAN 20 (indice= 1, remainder=idx=1)
X:06 to X:08 will end up in VLAN 30 (indice= 2, remainder=idx=2)
2020-10-10: Archived article.