This document describes the Ethernet Quality of Service (EQOS) feature, which is available in OpenROUTE 5.6 and above. It has the following sections:
Introducing Ethernet QOS
EQOS Standards and RFC Compliance
EQOS Interaction with Other QOS Features
EQOS Interaction with IPSec
The Mapping Process
Filter Configuration for IP_PREC Mapping to IP_DSCP
Configuring Event Logging for EQOS
Entering Commands
Ethernet QOS Commands
Introducing Ethernet QOS
The Ethernet Quality of Service feature enhances the ability of Nx Networks routers to tag IP traffic on Ethernet interfaces with priority and virtual LAN information. Based on the DiffServe Code Point (DSCP) field in the header of an IP packet, Ethernet QOS works together with other QOS features (such as IP filtering and BRS) to support interoperability with 802.1-compliant switches.
Note: The term DiffServe refers to the definition and interpretation of the field in the IP header originally called Type of Service (TOS) and more recently redefined as the Differentiated Services Code Point (DSCP) field.
Prior releases of router software can filter a particular traffic flow and tag it with an IP DSCP or Precedence value. Furthermore, the router can treat this tagged traffic flow with a BRS tag to apply appropriate bandwidth and priority assignments to the flow. This is a form of Quality of Service at the IP level. Using TOS/DiffServe Quality of Service (QOS) Policies provides a detailed description of this type of QOS detailed procedures.Ethernet QOS goes a step further than this type of QOS. Using EQOS, the router can send priority information on an Ethernet interface over media access control (MAC) bridges that have no ability to signal priority information at the MAC protocol level. You can define inbound and outbound mappings between MAC user_priority values and IP DSCP or Precedence values on a per interface basis. Ethernet QOS also supports the full range of VLAN IDs for interoperability with existing 802.1 switches.
EQOS Standards and RFC Compliance
In addition to the differentiated services described
in Using TOS/DiffServe Quality of Service (QOS)
Policies, EQOS software provides a useful set of features that conform to
the Virtual LAN and MAC bridge standards. The router software supports the 12-bit
VLAN ID within the tagged frame format and the eight user_priority values within
the MAC tagged frame format as required in these standards.
Standard P802.1Q IEEE Standards for Local and Metropolitan Area Networks: Virtual Bridged Local Area Networks
Standard P802.1D IEEE ISO/IEC DIS 15802-3 Information technology Telecommunications and information exchange between systems Local and metropolitan area networks Common specifications Part 3: Media Access Control (MAC) Bridges (Incorporating IEEE P802.1p: Traffic Class Expediting and Dynamic Multicast Filtering)
EQOS Interaction with Other QOS Features
Ethernet QOS supplements the QOS features described
in Using TOS/DiffServe Quality of Service (QOS)
Policies, which are implemented with IP Filters and the Bandwidth Reservation
System (BRS). EQOS lets you add user priority information from the DSCP field
to frames carried on media access control (MAC) bridges, and to add user priority
information from MAC frames to the DSCP field. This makes it possible for the
router to send priority information over bridges that have no ability to signal
priority information at the MAC protocol level.
Ethernet QOS reads and writes IP Filter's DSCP Tags. The IP Filter's set of classifying rules include the DSCP or Precedence field, so that IP Filter can act as a DiffServe packet classifier. An IP Filter rule can set a buffer's tag. As the buffer moves through the router, this tag is preserved and the Ethernet QOS and BRS features can detect the tag.
EQOS Interaction with IPSec
If the IPSec tunnel endpoint is an Ethernet interface on the router, EQOS reads all arriving packets before IPSec processing. The IPSec engine decrypts, authenticates, and decompresses the inner IP packet and then presents it to the routing engine as though it had arrived on an ordinary physical interface.
IPSec and EQOS work together in this way:
For inbound traffic, EQOS mapping is applied to the outer IP header, before IPSec encapsulation is removed.
For outbound traffic, EQOS mapping is applied after IPSec processes the packet. The EQOS header is not protected by IPSec.
Figure 1 Sample Ethernet QOS Mapping of MAC Layer Information
Inbound Mapping
When Ethernet QOS is enabled for an Ethernet interface and inbound mapping is configured, processing is as follows:
There is no default mapping with Ethernet QOS. Therefore, if a MAC user_priority value is received and you have not defined a DSCP or Precedence value to which it will map, the IP DSCP field does not change. These received packets are included in the output of the list counters command.
Outbound Mapping
When Ethernet QOS is enabled for an Ethernet Interface and outbound mapping is configured, processing is as follows:
There is no default mapping with Ethernet QOS. Therefore, if an IP DSCP value is received, and you have not defined a MAC user_priority to which it will map, a Tagged Frame header will not be prepended to the head of the packet. These received packets are included in the results of the list counters command.
Filter Configuration for IP_PREC Mapping to IP_DSCP
If your EQOS mapping involves IP_PREC, you need to use both the isprec and the isdscp option when configuring IP filters for the interface. This is necessary because, for inbound traffic, the MAC user_priority is mapped to the DSCP equivalent of the user configured IP_PREC value.
Below is a listing of the EQOS mappings for this application:
INBOUND MAPPING (ENABLED)
---------------
MAC_PRIORITY 1 IP_PREC 7 VLAN ID 0OUTBOUND MAPPING (ENABLED)
----------------
IP_PREC 7 MAC_PRIORITY 1 VLAN ID 0
Name Dir Address Port Protocol Idle
Action
--------------------------------------------------------------------------------
qos.mac0 Both isPrec=BestEffort Any Prec=Network Ctrl(7)
Pass Off
qos.mac1 Both isPrec=NetworkCtrl(7) Any Prec=BestEffort
Pass Off
qos.mac2 Both isDscp=0 Any dscp=56
Pass Off
qos.mac3 Both isDscp=56 Any dscp=0 Off
Pass
Configuring Event Logging for EQOS
Turning on ELS messages and observing the router's behavior is the way to tell whether things are working correctly. EQOS ELS messages in the Ethernet subsystem can confirm that packets are being properly mapped. There are two EQOS messages, ETH.49 and ETH.50
To enable these messages, enter the following commands at the Config prompt:
Config>event
Event Logging System user configuration
ELS config>display event eth.049
ELS config>display event eth.050
ETH.050: dscp 2 -> 802.1 QTAG usr_pri 1, cfi 0 vlan 14 nt 0 int Eth/0
ETH.049: 802.1 QTAG usr_pri 1, cfi 0 vlan 14 -> dscp 2 nt 0 int Eth/0
Entering Commands
It is wise to save a backup of the configuration in either the router's local memory or on an external TFTP server before you change your configuration. You can do so at the Boot configuration prompt.
Config>boot
TFTP Boot/dump configuration
Boot config>
QOS Config> prompts so that service is not interrupted while you are entering the new configuration. The new configuration does not take affect until you restart the router or execute the revert command at the QOS> prompt.
Using the Monitor Prompts
You can also enter the EQOS commands at the QOS> prompt, but each change takes effect immediately, possibly affecting the operation of the router adversely. Once a configuration is up and running, using the monitor process to make minor alterations is useful.
If you do enter commands at the monitor prompts, be sure to save each subsystem's changes before restarting the router, or they will be lost. If you are working in the monitor process, you can revert to your saved configuration using the revert command or by restarting the router without first saving your changes.
Configuring and Enabling Ethernet QOS
To configure parameters for Ethernet QOS, follow these steps:
*config
Gateway user configuration
Config>network 1
Ethernet interface configuration
ETH config>qos
Ethernet QOS User Configuration
QOS Config <Ethernet1> add mapping inbound mac_priority=0-2 ip_dscp=8
QOS Config <Ethernet1> add mapping inbound mac_priority=3-6 ip_prec=6
QOS Config <Ethernet1> add mapping inbound mac_priority=7 ip_dscp=0
QOS Config <Ethernet1> add mapping outbound ip_dscp=0-23 mac_priority=0
QOS Config <Ethernet1> add mapping outbound ip_dscp=24-39 mac_priority=6
QOS Config <Ethernet1> add mapping outbound ip_dscp=40-63 mac_priority=0
QOS Config <Ethernet1> enable outbound
QOS Config <Ethernet1> enable inbound
QOS Config <Ethernet1> exit
ETH config>exit
Config>
Config> <
CTRL-P>*restart
Are you sure you want to restart the gateway? (Yes or [No]): yes
Note:
You can avoid restarting the router if you have done the configuration under QOS Config>. Go to the QOS menu and execute the revert command. The run-time configuration is refreshed from the permanent configuration, which reflects the changes that you made.
ELS config> display subsystem eth all
Note: Remember, enabling lots of ELS messages can generate a lot of message output. The router discards messages that overflow its message buffer, so such broad message enabling is useful only in controlled situations.
Config>network 1
Ethernet interface configuration
ETH config>qos
Ethernet QOS User Configuration
QOS Config <Ethernet1> list
INBOUND MAPPING (DISABLED)
---------------
MAC_PRIORITY 7 IP_DSCP 0 VLAN ID 0
MAC_PRIORITY 3-6 IP_PREC 6 VLAN ID 0
MAC_PRIORITY 0-2 IP_DSCP 8 VLAN ID 0
OUTBOUND MAPPING (DISABLED)
----------------
IP_DSCP 40-63 MAC_PRIORITY 0 VLAN ID 0
IP_DSCP 24-39 MAC_PRIORITY 6 VLAN ID 0
IP_DSCP 0-23 MAC_PRIORITY 0 VLAN ID 0
Table 2 describes the Ethernet QOS commands. Enter help for information about using the command line interface.
[C] means the command is available at the QOS Config <NET-#> prompt.
[M] means the command is available at the QOS <NET-#> prompt.
| Command | Function |
|---|---|
| Add Mapping [C] [M] | Adds inbound or outbound mapping to an Ethernet interface. |
| Clear_counters [M] | Resets packet counters for received packets to zero. |
| Delete Mapping [C] [M] | Deletes inbound or outbound mapping from an Ethernet interface. |
| Disable [C] [M] | Disables configured EQOS mappings on the interface. |
| Enable [C] [M] | Enables configured EQOS mappings on the interface. |
| List [C] | Displays the configured EQOS mappings for an interface. |
| List [M] | Displays the configured EQOS mappings and statistics for an interface. |
| Set Mapping [C] [M] | Changes the vlan_id setting for an existing inbound or outbound mapping. |
Add Mapping [C] [M]
Adds new inbound and outbound Ethernet Quality of Service mappings to an Ethernet interface.
Syntax: add mapping inbound | outbound
Example: add mapping inbound mac_priority=6 ip_dscp=39
Example: add mapping outbound ip_prec=6 mac_priority=3
Clear_counters [M]
Resets to zero the count of packets received with a tag.
clear_counters
Ethernet Quality of Service Counters have been cleared.
Syntax: delete mapping inbound | outbound
delete mapping inbound mac_priority=6 ip_dscp=39
Disable [C] [M]
Disables the configured inbound and outbound Ethernet Quality of Service Mappings.
Syntax: disable inbound | outbound
Example:disable inbound
Enable [C] [M]
Enables the configured inbound and outbound Ethernet Quality of Service Mappings. There is no default mapping; only the defined mappings are performed.
Syntax: enable inbound | outbound
Example:enable inbound
List [C]
Lists configured inbound and outbound Ethernet QOS mappings. The listing also shows if inbound and outbound mapping is enabled or disabled. Only configured mappings are displayed. Values for which no mapping is defined are not in the listing.
list
INBOUND MAPPING (ENABLED)
---------------
MAC_PRIORITY: 0-3 IP_DSCP: 0
MAC_PRIORITY: 4,6 IP_DSCP: 52
MAC_PRIORITY: 5 IP_PREC: 0
MAC_PRIORITY: 7 IP_DSCP: 2
OUTBOUND MAPPING (DISABLED)
----------------
IP_DSCP: 0-2, 4-22 MAC_PRIORITY: 3
IP_PREC: 3 MAC_PRIORITY: 4
IP_DSCP: 50,55,63 MAC_PRIORITY: 6
List [M]
Lists the runtime inbound and outbound Ethernet Quality of Service Mappings and the statistical counters showing the number of inbound and outbound packets organized by their MAC user priority and IP_DSCP values.
list counters
INBOUND
------------
MAC_PRIORITY PKTS RCVD PKTS MAPPED DSCP MAPPED TO
--------------- ----------- ------------- ------------------
0 10 0
1 10 10 0
2 100 100 10
3 0 0
4 150 150 0
5 200 200 20
6 0 0
7 50 50 60
OUTBOUND
--------------
DSCP PKTS RCVD PKTS MAPPED MAC_PRIORITY MAPPED TO
----- ----------- -------------- ---------------------------
0 0 0
1 0 0
2 0 0
3 0 0
4 0 0
5 0 0
6 0 0
7 0 0
8 0 0
9 0 0
10 50 50 7
11 20 20 7
12 100 100 7
13 24 24 7
14 30 30 7
15 40 40 7
16 10 10 7
17 200 200 7
18 3 3 7
19 49 49 7
20 28 28 7
21 10 0
22 30 0
23 10 0
24 40 0
25 25 0
26 0 0
27 0 0
28 0 0
29 0 0
30 0 0
31 0 0
32 0 0
33 0 0
34 0 0
35 0 0
36 0 0
37 0 0
38 0 0
39 0 0
40 0 0
41 0 0
42 20 0
43 10 0
44 50 0
45 70 0
46 20 0
47 10 0
48 0 0
49 0 0
50 0 0
51 0 0
52 0 0
53 0 0
54 0 0
55 0 0
56 0 0
57 0 0
58 0 0
59 0 0
60 0 0
61 0 0
62 0 0
63 0 0
mappings
Lists the runtime mapping configuration for the interface. The format of the listed information is the same as the output for the list command entered at the Config> prompt.
list mappings
Set Mapping [C] [M]
Changes the vlan_id setting for an existing inbound or outbound mapping. When using this command the exact mac_priority and ip_dscp or ip_prec values for the existing mapping must be used.
|
vlan_id
| The virtual LAN ID for this mapping. Possible values are integers in the range 0 - 4094. |
Example: set mapping inbound mac_priority = 2 ip_dscp = 20 vlan_id = 4