Catalyst 9800のAP Join Profileには「Primed Join Timeout」と呼ばれる設定項目があり、「Primed ControllerのTimeout値」を指定できます。

まず「Primed Controller」とは、無線APに設定されているPrimary/Secondary/Tertiary WLCを指します。(DHCP Option 43やDNSで学習したControllerの情報は含まれません。)
そして無線APは「Primed Join Timeout」の期間は、Primed Controllerに接続できなくても諦めずに何度もJoinを試みます。
言い方を変えると、Primed Join Timeoutの期間は「Primed Controller以外の別のWLC (Non Primed Controller)」を無視する時間です。

Primed Join Timeoutが関わる具体的なシナリオ
機能の挙動だけでは伝わりにくいため、具体的なシナリオで解説します。
一例として、無線APがWLCの情報を下記のように学習している環境があるとします。
- Primary WLC: wlc01
- Secondary WLC: wlc02
- Tertiary WLC: wlc03
- DHCP Option 43: wlc04
- DNS: wlc05
無線APがWLCへの接続が出来なくなった際に、Primary/Secondary/Tertiary WLCである「wlc01, wlc02, wlc03」に「Primed Join Timeout」の期間/時間は継続的にJoinを試みます。
「Primed Join Timeout」(デフォルト値: 0 秒)を経過すると、DHCP Option 43やDNSで学習したWLCである「wlc04, wlc05」にJoinを試みます。
要は、「明示的な優先度が指定されているPrimed Controller」に優先してJoinを試みようとする期間/時間です。
設計の観点
無線APのJoin先のWLCは明示的に制御するため、Primary/Secondary/Tertiary WLCを明示的に指定するのが一般的です。
より細かな話をすると、DHCP Option 43でいずれかのWLCにJoinさせた後でも、AP Primingと呼ばれる機能でPrimary/Secondary/Tertiary WLCを効率的に設定するケースはあります。
結果的にDHCP Option 43やDNSから「Primed Controller以外の別のWLC」が参照されることがなく、Primed Join Timeoutが参照される機会が少なくなります。そのため、多くの環境ではPrimed Join Timeoutの設定値による影響を受ける機会は少ないと考えられます。
Primed Join Timeoutのログ
Primed Controllerで障害を発生させて、無線APをPrimed Join Timeoutのカウント ダウンが発生した際のログです。
ログの「Primed Timer Started. AP will only try to join Primary/Secondary/Tertiary for next 120 seconds」からカウント ダウンが発生しています。

AP#[*01/12/2026 09:09:47.1847] Re-Tx Count=1, Max Re-Tx Value=5, SendSeqNum=85, NumofPendingMsgs=1 [*01/12/2026 09:09:47.1847] [*01/12/2026 09:09:50.1865] Re-Tx Count=2, Max Re-Tx Value=5, SendSeqNum=91, NumofPendingMsgs=7 [*01/12/2026 09:09:50.1865] [*01/12/2026 09:09:53.1879] Re-Tx Count=3, Max Re-Tx Value=5, SendSeqNum=91, NumofPendingMsgs=7 [*01/12/2026 09:09:53.1880] [*01/12/2026 09:09:56.1895] Re-Tx Count=4, Max Re-Tx Value=5, SendSeqNum=91, NumofPendingMsgs=7 [*01/12/2026 09:09:56.1895] [*01/12/2026 09:09:59.1911] Re-Tx Count=5, Max Re-Tx Value=5, SendSeqNum=91, NumofPendingMsgs=7 [*01/12/2026 09:09:59.1911] [*01/12/2026 09:10:02.1922] Max retransmission count exceeded, going back to DISCOVER mode. [*01/12/2026 09:10:02.1922] Dropping msg CAPWAP_ECHO_REQUEST, type = 1, len = 0, eleLen = 8, sendSeqNum = 91 [*01/12/2026 09:10:02.1923] Dropping msg CAPWAP_WTP_EVENT_REQUEST, type = 34, len = 14, eleLen = 22, sendSeqNum = 91 [*01/12/2026 09:10:02.1923] Dropping msg CAPWAP_WTP_EVENT_REQUEST, type = 34, len = 24, eleLen = 32, sendSeqNum = 91 [*01/12/2026 09:10:02.1923] ....TLV: TLV_RRM_LOAD_DATA_EXTENSION_PAYLOAD(4436), level: 0, seq: 0, nested: true [*01/12/2026 09:10:02.1923] Dropping msg CAPWAP_WTP_EVENT_REQUEST, type = 34, len = 14, eleLen = 22, sendSeqNum = 91 [*01/12/2026 09:10:02.1924] Dropping msg CAPWAP_WTP_EVENT_REQUEST, type = 34, len = 24, eleLen = 32, sendSeqNum = 91 [*01/12/2026 09:10:02.1924] ....TLV: TLV_RRM_LOAD_DATA_EXTENSION_PAYLOAD(4436), level: 0, seq: 0, nested: true [*01/12/2026 09:10:02.1924] Dropping msg CAPWAP_WTP_EVENT_REQUEST, type = 34, len = 14, eleLen = 22, sendSeqNum = 91 [*01/12/2026 09:10:02.1925] Dropping msg CAPWAP_WTP_EVENT_REQUEST, type = 34, len = 24, eleLen = 32, sendSeqNum = 91 [*01/12/2026 09:10:02.1925] ....TLV: TLV_RRM_LOAD_DATA_EXTENSION_PAYLOAD(4436), level: 0, seq: 0, nested: true [*01/12/2026 09:10:02.1933] Flexconnect Switching to Standalone Mode! [*01/12/2026 09:10:02.2410] wlan: [0:I:CMN_MLME] mlme_ext_vap_down: VAP (apr0v1) is down [*01/12/2026 09:10:02.2635] wlan: [0:I:CMN_MLME] mlme_ext_vap_down: VAP (apr1v1) is down [*01/12/2026 09:10:02.4790] GOING BACK TO DISCOVER MODE [*01/12/2026 09:10:02.6019] [*01/12/2026 09:10:02.6019] CAPWAP State: DTLS Teardown [*01/12/2026 09:10:02.6694] CLEANAIR: Slot 0 CAPWAP down [*01/12/2026 09:10:02.6704] CLEANAIR: Slot 2 CAPWAP down [*01/12/2026 09:10:02.9566] status 'upgrade.sh: Script called with args:[CANCEL]' [*01/12/2026 09:10:03.0235] do CANCEL, part2 is active part [*01/12/2026 09:10:03.0789] status 'upgrade.sh: Cleanup tmp files ...' [*01/12/2026 09:10:03.1528] Directory /tmp/ntevents not found. [*01/12/2026 09:10:07.6931] dtls_queue_first: Nothing to extract! [*01/12/2026 09:10:07.6931] [*01/12/2026 09:10:07.6932] Primed Timer Started. AP will only try to join Primary/Secondary/Tertiary for next 120 seconds [*01/12/2026 09:10:07.8099] Discovery Response from 198.51.100.242 [*01/12/2026 09:10:07.8108] Discovery Response from 198.51.100.242 [*01/12/2026 09:10:17.7989] Discovery Responses received but not from primed controllers. Will restart discovery. AP will try joining the primed controllers for next 110 seconds [*01/12/2026 09:10:17.9107] Discovery Response from 198.51.100.242 [*01/12/2026 09:10:17.9129] Discovery Response from 198.51.100.242 [*01/12/2026 09:10:27.8034] Discovery Responses received but not from primed controllers. Will restart discovery. AP will try joining the primed controllers for next 100 seconds [*01/12/2026 09:10:27.9339] Discovery Response from 198.51.100.242 [*01/12/2026 09:10:27.9426] Discovery Response from 198.51.100.242 [*01/12/2026 09:10:37.8281] Discovery Responses received but not from primed controllers. Will restart discovery. AP will try joining the primed controllers for next 90 seconds [*01/12/2026 09:10:37.9768] Discovery Response from 198.51.100.242 [*01/12/2026 09:10:37.9784] Discovery Response from 198.51.100.242 [*01/12/2026 09:10:47.8117] Discovery Responses received but not from primed controllers. Will restart discovery. AP will try joining the primed controllers for next 80 seconds [*01/12/2026 09:10:47.9441] Discovery Response from 198.51.100.242 [*01/12/2026 09:10:47.9468] Discovery Response from 198.51.100.242 [*01/12/2026 09:10:57.8157] Discovery Responses received but not from primed controllers. Will restart discovery. AP will try joining the primed controllers for next 70 seconds [*01/12/2026 09:10:57.9458] Discovery Response from 198.51.100.242 [*01/12/2026 09:10:57.9515] Discovery Response from 198.51.100.242 [*01/12/2026 09:11:07.8197] Discovery Responses received but not from primed controllers. Will restart discovery. AP will try joining the primed controllers for next 60 seconds [*01/12/2026 09:11:07.9348] Discovery Response from 198.51.100.242 [*01/12/2026 09:11:07.9376] Discovery Response from 198.51.100.242 [*01/12/2026 09:11:17.8237] Discovery Responses received but not from primed controllers. Will restart discovery. AP will try joining the primed controllers for next 50 seconds [*01/12/2026 09:11:17.9731] Discovery Response from 198.51.100.242 [*01/12/2026 09:11:17.9774] Discovery Response from 198.51.100.242 [*01/12/2026 09:11:27.8277] Discovery Responses received but not from primed controllers. Will restart discovery. AP will try joining the primed controllers for next 40 seconds [*01/12/2026 09:11:27.9745] Discovery Response from 198.51.100.242 [*01/12/2026 09:11:27.9762] Discovery Response from 198.51.100.242 [*01/12/2026 09:11:37.8323] Discovery Responses received but not from primed controllers. Will restart discovery. AP will try joining the primed controllers for next 30 seconds [*01/12/2026 09:11:37.9821] Discovery Response from 198.51.100.242 [*01/12/2026 09:11:37.9852] Discovery Response from 198.51.100.242 [*01/12/2026 09:11:47.8368] Discovery Responses received but not from primed controllers. Will restart discovery. AP will try joining the primed controllers for next 20 seconds [*01/12/2026 09:11:47.9710] Discovery Response from 198.51.100.242 [*01/12/2026 09:11:47.9780] Discovery Response from 198.51.100.242 [*01/12/2026 09:11:57.8439] Discovery Responses received but not from primed controllers. Will restart discovery. AP will try joining the primed controllers for next 10 seconds [*01/12/2026 09:11:57.9671] Discovery Response from 198.51.100.242 [*01/12/2026 09:11:57.9694] Discovery Response from 198.51.100.242 [*01/12/2026 09:12:08.0000] Started wait dtls timer (60 sec) [*01/12/2026 09:12:08.0201] [*01/12/2026 09:12:08.0201] CAPWAP State: DTLS Setup
関連情報
Cisco Catalyst 9800 Series Configuration Best Practices - Cisco
https://www.cisco.com/c/en/us/td/docs/wireless/controller/9800/technical-reference/c9800-best-practices.html
「Primary/secondary/tertiary versus backup primary/backup secondary」のセクションを参照
筆者が執筆中にドキュメントが更新されていたので、更新前後の内容を記載します。短めでシンプルで分かりやすい文章と、より詳細で誤解を招かないようにする文章のどちらも参考になるためです。
2026年07月頃の情報
● Primed Join Timeout (sec): during this time the AP will only try to join the primed primary/secondary/tertiary controllers and will ignore discovery responses received from other controllers.
それ以前の情報
● Primed Join Timeout (sec): when the AP is in the controller discovery process, waiting on discovery responses from controller to decide which controller to join, the Primed Join Timeout applies. During the Primed Join Timeout the AP will only try to join the primed primary/secondary/tertiary controllers and will ignore discovery responses received from other controllers. The Primed Join Timeout is disabled by default.














