04-16-2025 04:07 PM
I need to set up Catalyst 9200CX Compact switches as a 802.1X Supplicants for upstream Catalyst 9300L authenticator switches:
I found out that the dot1x supplicant controlled transient command
I also found out that whenever I configure:
conf t ! eap profile EAP-FAST method fast ! dot1x credentials SWITCH username compact0001 password secret !
crypto pki trustpoint ROOT_CA
...
!
dot1x supplicant force-multicast
dot1x supplicant controlled transient !
interface TenGigabitEthernet1/0/8 description UPLINK switchport mode trunk device-tracking attach-policy NO_IPDT dot1x pae supplicant dot1x credentials SWITCH dot1x supplicant eap profile EAP-FAST ! ! IBNS2 config for all other switchports
I do not configure cisp enable:
Our authenticator switches are configured for IBNS2 (closed mode with multi-auth).
They also have an ASP Macro predefined that basically changes a dot1x port into a trunk port without authentication and disabling the global BPDU Guard for this switchport. (We use the global BPDU Guard, not the interface level STP BPDU Guard.)
The Anti Macro just reverts the change when the link goes down again.
ISE is configured to send a RADIUS Access Accept with an ASP Macro name SWITCH.
The NEAT checkbox in the AuthZ Rule is disabled because we want to control exactly what should happen when a compact switch is attached and therefore use our ASP Macro called SWITCH.
So far this works perfectly.
My problem is I also need to configure ASP Macros on the Catalyst 9200CX Supplicant Switches
When I configure
! ASP Macro
shell processing full
shell trigger AP AP shell trigger SWITCH SWITCH macro auto global processing no macro auto global control device no macro auto global control trigger
macro auto global processing enables device classifier automatically.
Whatever happens in the background as soon as I add macro auto global processing to the supplicants global configuration config, transient starts behaving differently and immediately sends STP BPDUs on the upstream port when the link comes up.
When I disable ASP Macros on the upstream interface with
conf t interface Ten1/0/8 no macro auto processing no macro auto control device no macro auto control trigger end
dot1x supplicant controlled transient still seems to be broken because it will send STP BPDUs immediately long before successful supplicant 802.1x authentication.
Does anyone have a solution?
I am not allowed to disable STP BPDU Guard for dot1x ports on the authenticator switches.
I am not allowed to filter STP BPDUs between Authenticator and Supplicant switch (to avoid bpdu-guard error-disabling those ports)
To my current knowledge device classifier also triggers access-session monitor.
Robert
04-16-2025 10:06 PM
Disable access-session monitor explicitly
Even if device classifier is active due to ASP macros, you can try disabling just the monitoring.
Avoid macro auto global processing on supplicant
If you don’t need ASP macros to run on the 9200CX supplicant switch, you can safely avoid enabling:
no macro auto global processing
This will avoid triggering device classifier and thus avoid access-session monitor.
If you must run some ASP macro logic on the supplicant switch, split the authentication and STP behaviors manually:
Use a delayed BPDU transmission strategy via EEM scripts or interface-level pre-checks
Also, consider:
Checking the exact IOS-XE version on both 9200CX and 9300L (try updating to latest if possible)
Opening a TAC case and referencing this correlation between macro auto global processing, access-session monitor, and dot1x supplicant controlled transient
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide