Introduction
This document describes how to use Microwave ACM signaling on ASR 920.
Keywords
Microwave ACM, EEM, configuration, signal degradation, ASR 920
Background Information
Microwave adaptive coding modulation (ACM) is an ethernet connectivity fault management feature that allows monitoring the behavior of microwave links [1]. When used together with EEM scripts, ACM allows the router to dynamically change microwave configurations to:
- Optimize routing.
- Control congestions.
- Enable loss protections.
Suppose there is an active snowstorm and signal strength gets reduced. When ACM detects signal degradation on a microwave link, an EEM script configured on the IP/MPLS access node can trigger these actions [2]:
- Adjust the IGP metric of the microwave link to reflect the new (degraded) capacity.
- Change the QoS policies on the interface towards the microwave link to ensure expedited forwarding (EF) traffic is sent.
- Remove the degraded link from routing, consequently forcing a path recalculation for loss protection.
Prerequisites
For ACM signaling to work, some key prerequisites to meet are:
- ASR 920 is running Cisco IOS® XE 3S, 16 or 17.
- The microwave transceiver in the network topology must support adaptive bandwidth modulation.
- The microwave transceiver must support the Ethernet CFM extension for microwave devices as defined by Cisco.
- All devices connected directly to the microwave transceiver must support signal degradation (SD) functions.
A full list of prerequisites can be found in section Microwave ACM Signaling Configuration and EEM Integration within [2].
How to Configure ACM Signaling
ACM signaling is configured in two parts. The first part is a set of global configuration commands, and the second part is configured per service instance.
The service instance to be used with ACM signaling is configured within a physical interface or a port-channel.
Use these commands to configure the ACM. Replace bold text with custom values or names.
ASR920(config)#ethernet cfm ieee
ASR920(config)#ethernet cfm global
ASR920(config)#ethernet cfm domain MyCfmDomain level 3
ASR920(config-ecfm)#service MyCustomerServiceInstance evc MyEvc vlan 123 direction down
ASR920(config-ecfm-srv)#continuity-check
ASR920(config-ecfm-srv)#continuity-check interval 10s → Only predefined options available. Use ? to see available options. This command is optional.
ASR920(config-ecfm-srv)#exit
ASR920(config-ecfm)#exit
ASR920(config)#ethernet evc MyEvc
ASR920(config-evc)#exit
ASR920(config)#int gig 0/0/0
ASR920(config-if)#no ip address
ASR920(config-if)#no shutdown
ASR920(config-if)#service instance 123 ethernet MyEvc
ASR920(config-if-srv)#encapsulation dot1q 123
ASR920(config-if-srv)#rewrite ingress tag pop 1 symmetric
ASR920(config-if-srv)#bridge-domain 123
ASR920(config-if-srv)#cfm mep domain MyCfmDomain mpid 100
ASR920(config-if-srv)#end
Refer to [2] and [3] for descriptions of the purpose of each command.
For link degradation to trigger an event, hold-off timer, loss threshold, and wait-to-restore (WTR) timers can be configured. These parameters are optional settings, and are configured at the interface (physical or logical) level with these commands:
ASR920(config)#int gig 0/0/0
ASR920(config-if)#ethernet event microwave hold-off 10
ASR920(config-if)#ethernet event microwave loss-threshold 15
ASR920(config-if)#ethernet event microwave wtr 16
ASR920(config-if)#end
Hold off timer refers to how long the microwave link must be in a degraded state before declaring it as degraded. The default value is 0 seconds.
Loss threshold refers to the number of bandwidth notification messages that must be received by the ASR 920 from the transceiver to declare the link as degraded. The default value is 3 messages.
WTR timer refers to the time the router has to wait before announcing that the signal has recovered from the degraded state. This prevents flapping due to intermittent recovery events. The default value is 10 seconds.
A detailed explanation of the timers can be found at [2] and [3].
Verify ACM Signaling Is Working
Use these commands to verify if ACM is working:
ASR920#show ethernet event microwave status [interface gig 0/0/0]
ASR920#show ethernet event microwave statistic
A sample output of the status command is shown here. This output is for ACM configured on three different service instances within a port-channel.
ASR920#show ethernet event microwave status
Microwave Bandwidth Status for Port-channel10
State: SIGNAL_DEGRADED
Hold Time: 10 seconds
Restore Time: 10 seconds
Loss Threshold: 2
Total VSM Receive Count: 64
Total VSM Drop Count: 0
Total BNM Receive Count: 0
Total BNM Drop Count: 0
Sender Address 3c4c.d0c8.4705
State: SIGNAL_DEGRADED
Elapsed time in this state: 00:04:11
Nominal Bandwidth: 598 Mbps
Current Bandwidth: 114 Mbps
Lowest Bandwidth: 114 Mbps
Last VSM Received: Thu Jan 27 21:36:19.992
VSM Receive Count: 27
VSM Drop Count: 0
VSM Period: 10 second
Last BNM Received: Never
BNM Receive Count: 0
BNM Drop Count: 0
BNM Period: 10 seconds
Hold Timer: Not running
Wait-to-Restore Timer: Not running
Periodic Timer: 23 seconds remaining
Transitions into degraded state: 1
Sender Address 3c4c.d0c8.f2c5
State: SIGNAL_DEGRADED
Elapsed time in this state: 00:02:53
Nominal Bandwidth: 598 Mbps
Current Bandwidth: 114 Mbps
Lowest Bandwidth: 114 Mbps
Last VSM Received: Thu Jan 27 21:36:18.548
VSM Receive Count: 19
VSM Drop Count: 0
VSM Period: 10 second
Last BNM Received: Never
BNM Receive Count: 0
BNM Drop Count: 0
BNM Period: 10 seconds
Hold Timer: Not running
Wait-to-Restore Timer: Not running
Periodic Timer: 21 seconds remaining
Transitions into degraded state: 1
Sender Address 3c4c.d0c8.f2c6
State: SIGNAL_DEGRADED
Elapsed time in this state: 00:02:43
Nominal Bandwidth: 598 Mbps
Current Bandwidth: 114 Mbps
Lowest Bandwidth: 114 Mbps
Last VSM Received: Thu Jan 27 21:36:18.596
VSM Receive Count: 18
VSM Drop Count: 0
VSM Period: 10 second
Last BNM Received: Never
BNM Receive Count: 0
BNM Drop Count: 0
BNM Period: 10 seconds
Hold Timer: Not running
Wait-to-Restore Timer: Not running
Periodic Timer: 21 seconds remaining
Transitions into degraded state: 1
How to Configure an EEM Script for ACM Events
When EEM scripts are used with ACM signaling, the script is triggered by two events, a signal degraded (sd) event, or a clear signal degraded (clear-sd) event.
For the signal-degraded event, a bandwidth threshold must be configured. This threshold in the EEM script is set to the nominal bandwidth value. If this value is unknown, the Cisco configuration guide recommends a value of 1000.
There must be one SVI/BD per physical link. Also, one EEM script is required per physical link.
This is an example of an EEM script that triggers when the signal is degraded (sd):
ASR920(config)#event manager applet MyEemScript_SignalDegraded
ASR920(config-applet)#event ethernet microwave sd interface gigabitethernet 0/0/0 threshold 400
ASR920(config-applet)#action 1 syslog msg "Any desired action to be implemented"
ASR920(config-applet)#action 2 syslog msg "for example, adjust BW, QoS policies, shut link"
ASR920(config-applet)#end
This is an example of an EEM script that triggers when signal degraded state gets cleared (clear-sd):
ASR920(config)#event manager applet MyEemScript_ClearedSignalDegraded
ASR920(config-applet)#event ethernet microwave clear-sd interface gigabitethernet 0/0/0
ASR920(config-applet)#action 1 syslog msg "Any desired action to be implemented"
ASR920(config-applet)#action 2 syslog msg "for example, restore to original configuration"
ASR920(config-applet)#end
For additional examples refer to sample configurations on [2] and [3].