CAPWAP State Machine in Cisco Unified Wireless Implementation: Join Status
After the point searches for all the controllers in all available ways, sends them a Discovery request, receives a Discovery response, a controller list is formed, after which it is decided which controller to try connecting to (send Join Request).
How does the access point choose which controller to connect to?
CAPWAP Join Phase IPv4 (WLC Selection process) on Cisco Wireless AireOS
The following information is returned from the controller in the Discovery response
- Ap-Manager controller interface (access points are connected to it, it can be the same logical IP interface as Management);
- sysname of the controller;
- type of controller;
- the number of connected points (to the AP-Manager interface) and the free capacity of the controller (how many more access points can be connected);
- flag Master Controller Mode.
The access point sends a Join Request in the following order, sequentially (only to those from which it received a Discovery response, that is, which are present in the controller list):
- The access point is trying to send a Join Request to the Primary Controller. Sysname in discovery response and registered on the access point must match!
- If the controller list does not have a controller that is registered as Primary, then the access point tries to send a Join Request to the next, Secondary Controller
- If there are no controllers in the controller list that are registered as Primary, Secondary, then the access point tries to send a Join Request to the Tertiary controller.
- The controller with the Master Controller Mode flag set
- If the access point failed to connect in step 1-4, then it selects the controller with the largest free capacity from the remaining list. Thus, access points are balanced between the controllers (AP-Manager) interfaces of the controller (s).
How you can configure Primary, Secondary, and Tertiary controllers is described in a previous article .
The Master Controller is configured via the CLI (by default, this mode is turned off) using the command