Affected platforms: AX platform
Affected versions: 5.7.0 and above
In a new software release Cambium Networks introduces Quality of Service (QoS) implementation for the AX platform.
ePMP QOS is Cambium’s proprietary methods for prioritizing, queueing, and limiting traffic within the system’s Time Division Duplex (TDD) scheduler. QoS is not available for ePTP and WLR driver modes.
Cambium QoS consists of two functional areas:
- Prioritization
- Rate limiting.
The ePMP system prioritizes different types of traffic within internal queueing mechanisms. These mechanisms are controlled by classification rules defined at the user level.
Radio link traffic may be prioritized as Voice, High, or Low based on system configuration and traffic type. For all ePMP AX devices, high and low queue QoS prioritization and rate limiting mechanisms are applied solely to traffic ingressing the device Ethernet port and exiting the device radio interface (over the radio link). For example, ePMP AX Access Point devices enact QoS for High and Low priority data entering the Ethernet port and exiting the device over the radio downlink. ePMP AX Subscriber Modules enact QoS for High and Low priority data entering the Ethernet port and exiting the device over the radio uplink. In the case of Voice traffic, the ePMP system features a mechanism where the subscriber may “piggyback” a bandwidth request with VoIP packets sent over the uplink. This allows the Access Point to schedule additional subscriber uplink allocation sooner (instead of the subscriber waiting for the next uplink polling response opportunity to schedule transmission). The result is better handling of voice application communication and more reliable call quality.
GUI >> Configuration >> Quality of Service:
With ePMP, unicast traffic is prioritized based on Layer 2 markings (VLAN, CoS, EtherType, MAC address) and Layer 3 markings (IP, DSCP). This prioritization may be controlled by configuring QoS classification rules on the device (these rules are configured in the device QoS Classification Rules table). The QoS Classification Rules table contains all of the rules enforced by the device when passing traffic over the radio link. Traffic passed through the device is matched against each rule in the table; when a match is made the traffic is sent over the radio link using the priority defined in column Priority.
Configuration >> Quality of Service >> Traffic Priority
Prioritization may also be controlled by modifying the Subscriber Module Priority configuration parameter to automatically place all non-voice (non-VoIP) traffic in either the High priority queue or the Low priority queue. For example, when this parameter is set to High, the SM places all data other than VoIP in the High priority queue. This data will be given higher priority than other sector SMs configured with Subscriber Module Priority set to Normal or Low. In other words, this high-priority SM will be served by the AP with its traffic automatically classified, and scheduled as, Voice (VoIP traffic) and High (all other traffic) priority. As with any Quality of Service implementation, careful attention should be paid to assigning high priority to an SM, especially if additional QoS classification rules are configured on the same system.
Prioritization of Broadcast and Multicast Traffic
Operators may configure ePMP devices to prioritize broadcast and multicast traffic automatically into the High priority queue or Low priority queue. By default, both broadcast and multicast traffic are automatically categorized in the Low priority queue. At the user level, this prioritization is controlled by the parameters Broadcast Priority and Multicast Priority.
Broadcast priority | Multicast priority |
---|---|
Low Priority: All broadcast traffic sent over the downlink is prioritized as low priority and is delivered to the SM after scheduled high priority and VoIP traffic. | Low Priority: All Multicast traffic sent over the downlink is prioritized as low priority, and will be delivered to the SM after scheduled high priority and VoIP traffic. |
High Priority: All broadcast traffic sent over the downlink is prioritized as high priority and is scheduled for delivery to SMs before low priority traffic but after VoIP traffic. | High Priority: All Multicast traffic sent over the downlink is prioritized as high priority and is scheduled for delivery to SMs before low priority traffic but after VoIP priority |
Data servicing scheduling decisions are made between the various queues by a weighted fair queueing (WFQ) algorithm. This implementation introduces an internal 50:30:20 weighting between the Voice, High, and Low queues respectively. This means that while certain packets are served with priority, high-priority and high-bandwidth traffic will not consume the entire capacity of the link causing delivery failure of lower-priority traffic. This contrasts with strict priority scheduling systems present in other data delivery systems which may serve higher-priority traffic first regardless of bandwidth usage and starvation of lower-priority traffic. The ePMP system employs weighted fair queuing to ensure reliable user data transmission while serving higher-priority traffic on the same wireless link.
Starting 5.7.0 Release extended QoS statistics is represented on UI, CLI and SNMP.
GUI >> Monitor → Performance when QoS is Enabled
CLI QoS statistic
ePMP4500_abcd>show wireless
FrameSkipDueToCCACounter 0
cambiumStatsResetTimer 0000:02:59:23
classificationHighQueueDropPacketCount 0
classificationHighQueueGetPacketCount 44146
classificationHighQueuePutPacketCount 44017
classificationLowQueueDropPacketCount 0
classificationLowQueueGetPacketCount 17356
classificationLowQueuePutPacketCount 17354
classificationTotalQueueDropPacketCount 0
classificationTotalQueueGetPacketCount 482296
classificationTotalQueuePutPacketCount 482324
classificationVoiceQueueDropPacketCount 0
classificationVoiceQueueGetPacketCount 420799
classificationVoiceQueuePutPacketCount 420799
CnMaestro Template to configure QoS
{
"device_props": {
"bcPriority": "1",
"mcPriority": "1",
"qosEnable": "1",
"voipEnable": "1",
"classificationListTable": [
{
"classificationRuleType": "3",
"classificationRuleValue": "5",
"classificationRuleIP": "",
"classificationRuleMAC": "",
"classificationRuleMask": "",
"classificationRuleDirection": "",
"classificationRuleQueue": "3"
},
{
"classificationRuleType": "2",
"classificationRuleValue": "46",
"classificationRuleIP": "",
"classificationRuleMAC": "",
"classificationRuleMask": "",
"classificationRuleDirection": "",
"classificationRuleQueue": "3"
},
{
"classificationRuleType": "4",
"classificationRuleValue": "100",
"classificationRuleIP": "",
"classificationRuleMAC": "",
"classificationRuleMask": "",
"classificationRuleDirection": "",
"classificationRuleQueue": "2"
}
]
}
}
The easiest way to create CnMaestro Template:
- Configure 1 unit with desired configuration.
- On Tools Backup / Restore page download configuration in text format. It is json file, which can be used as CnMaestro template.
- Remove all not needed parameters referencing the template above.
- Validate json file format with any free web tool.
- Input the template into CnMaestro and apply the configuration
MIB file objects to monitor statistics with SNMP:
classificationVoiceQueueGetPacketCount
classificationVoiceQueueDropPacketCount
classificationHighQueuePutPacketCount
classificationHighQueueGetPacketCount
classificationHighQueueDropPacketCount
classificationLowQueuePutPacketCount
classificationLowQueueGetPacketCount
classificationLowQueueDropPacketCount
classificationTotalQueuePutPacketCount
classificationTotalQueueGetPacketCount
classificationTotalQueueDropPacketCount
Implementing prioritization in a network may or may not be one of several QoS prioritization mechanisms present in a network’s access links and management network routing equipment. Ensure that the priority level of traffic is set properly with respect to the other prioritization and queuing mechanisms in the network.