Understanding CoS Classifiers
Packet classification maps incoming packets to a particular class-of-service (CoS) servicing level. Classifiers map packets to a forwarding class and a loss priority, and they assign packets to output queues based on the forwarding class. There are three general types of classifiers:
Behavior aggregate (BA) classifiers—DSCP and DSCP IPv6 classify IP and IPv6 traffic, EXP classifies MPLS traffic, and IEEE 802.1p classifies all other traffic. (Although this topic covers EXP classifiers, for more details, see Understanding CoS MPLS EXP Classifiers and Rewrite Rules. EXP classifiers are applied only on
family mpls
interfaces.)Fixed classifiers—Fixed classifiers classify all ingress traffic on a physical interface into one forwarding class, regardless of the CoS bits in the packet header.
Multifield (MF) classifiers—MF classifiers classify traffic based on more than one field in the packet header and take precedence over BA and fixed classifiers.
Classifiers assign incoming unicast and multidestination (multicast, broadcast, and destination lookup fail) traffic to forwarding classes, so that different classes of traffic can receive different treatment. Classification is based on CoS bits, DSCP bits, EXP bits, a forwarding class (fixed classifier), or packet headers (multifield classifiers). Each classifier assigns all incoming traffic that matches the classifier configuration to a particular forwarding class. Except on QFX10000 switches, classifiers and forwarding classes handle either unicast or multidestination traffic. You cannot mix unicast and multidestination traffic in the same classifier or forwarding class. On QFX10000 switches, a classifier can assign both unicast and multidestination traffic to the same forwarding class.
Interfaces and Output Queues
You can apply classifiers to Layer 2 logical interface unit 0 (but not to other logical interfaces), and to Layer 3 physical interfaces if the Layer 3 physical interface has at least one defined logical interface. Classifiers applied to Layer 3 physical interfaces are used on all logical interfaces on that physical interface. Understanding Applying CoS Classifiers and Rewrite Rules to Interfaces describes the interaction between classifiers and interfaces in greater detail.
On QFX10000 switches you can apply different classifiers to different Layer 3 logical interfaces. You cannot apply classifiers to physical interfaces.
You can configure both a BA classifier and an MF classifier on an interface. If you do this, the BA classification is performed first, and then the MF classification is performed. If the two classification results conflict, the MF classification result overrides the BA classification result.
You cannot configure a fixed classifier and a BA classifier on the same interface.
Except on QFX10000 switches, you can configure both a DSCP or
DSCP IPv6 classifier and an IEEE 802.1p classifier on the same interface.
IP traffic uses the DSCP or DSCP IPv6 classifier. All other traffic
uses the IEEE classifier (except when you configure a global EXP classifier;
in that case, MPLS traffic uses the EXP classifier providing that
the interface is configured as family mpls
). You can configure
only one DSCP classifier on a physical interface (either one DSCP
classifier or one DSCP IPv6 classifier, but not both).
On QFX10000 switches, you can configure either a DSCP or a DSCP
IPv6 classifier and also an IEEE 802.1p classifier on the same interface.
IP traffic uses the DSCP or DSCP IPv6 classifier. If
you configure an interface as family mpls
, then the interface
uses the default MPLS EXP classifier. If you configure an MPLS EXP
classifier, then all MPLS traffic on the switch uses the global EXP
classifier. All other traffic uses the IEEE classifier. You can configure
up to 64 EXP classifiers with up to 8 entries per classifier (one
entry for each forwarding class) and apply them to logical interfaces.
Except on QFX10000 switches, although you can configure as many EXP classifiers as you want, the switch uses only one MPLS EXP classifier as a global classifier on all interfaces.
After you configure an MPLS EXP classifier, you can configure
it as the global EXP classifier by including the EXP classifier at
the [edit class-of-service system-defaults classifiers exp]
hierarchy level. All switch interfaces that are configured as family mpls
use the EXP classifier, on QFX10000 switches either
the default or the global EXP classifier, specified in this configuration
statement to classify MPLS traffic.
Output Queues for Unicast and Multidestination Traffic
This section applies to switches except QFX10000.
You can create unicast BA classifiers for unicast traffic and multicast BA classifiers for multidestination traffic, which includes multicast, broadcast, and destination lookup fail (DLF) traffic. You cannot assign unicast traffic and multidestination traffic to the same BA classifier.
On each interface, the switch has separate output queues for unicast traffic and for multidestination traffic:
QFX5200 switches support 10 output queues, with 8 queues dedicated to unicast traffic and 2 queues dedicated to multidestination traffic.
The switch supports 12 output queues, with 8 queues dedicated to unicast traffic and 4 queues dedicated to multidestination traffic.
Queues 0 through 7 are unicast traffic queues. You can apply only unicast BA classifiers to unicast queues. A unicast BA classifier should contain only forwarding classes that are mapped to unicast queues.
Queues 8 through 11 are multidestination traffic queues. You can apply only multidestination BA classifiers to multidestination queues. A multidestination BA classifier should contain only forwarding classes that are mapped to multidestination queues.
You can apply unicast classifiers to one or more interfaces. Multidestination classifiers and EXP classifiers apply to all of the switch interfaces and cannot be applied to individual interfaces. Use the DSCP multidestination classifier for both IP and IPv6 multidestination traffic. The DSCP IPv6 classifier is not supported for multidestination traffic.
Classifier Support by Type
This section applies only to QFX10000 switches.
You can configure enough classifiers to handle most, if not all, network scenarios. Table 1 shows how many of each type of classifiers you can configure, and how many entries you can configure per classifier.
Classifier Type |
Default Classifier Name |
Maximum Number of Classifiers |
Maximum Number of Entries per Classifier |
---|---|---|---|
IEEE 802.1p (Layer 2) |
ieee8021p-default (for ports in trunk mode) ieee8021p-untrust (for ports in access mode) |
64 |
16 |
DSCP (Layer 3) |
dscp-default |
64 |
64 |
DSCP IPv6 (Layer 3) |
dscp-ipv6-default |
64 |
64 |
EXP (MPLS) |
exp-default |
64 |
8 |
Fixed |
There is no default fixed classifier |
8 |
16 |
The number of fixed classifiers supported (8) equals the number of supported forwarding classes (fixed classifiers assign all incoming traffic on an interface to one forwarding class).
Behavior Aggregate Classifiers
Behavior aggregate classifiers map a class-of-service (CoS) value to a forwarding class and loss priority. The forwarding class determines the output queue. A scheduler uses the loss priority to control packet discard during periods of congestion by associating different drop profiles with different loss priorities.
The switch supports three types of BA classifiers:
Differentiated Services code point (DSCP) for IP DiffServ (IP and IPv6)
IEEE 802.1p CoS bits
MPLS EXP (applies only to interfaces configured as
family mpls
)
BA classifiers are based on fixed-length fields, which makes them computationally more efficient than MF classifiers. Therefore, core devices, which handle high traffic volumes, are normally configured to perform BA classification.
Unicast and multicast traffic cannot share the same classifier. You can map unicast traffic and multicast traffic to the same classifier CoS value, but the unicast traffic must belong to a unicast classifier and the multicast traffic must belong to a multidestination classifier.
- Default Behavior Aggregate Classification
- Importing a Classifier
- Multidestination Classifiers
- PFC Priorities
Default Behavior Aggregate Classification
Juniper Networks Junos OS automatically assigns implicit default classifiers to all logical interfaces based on the type of interface. Table 2 lists different types of interfaces and the corresponding implicit default BA classifiers.
Type of Interface |
Default BA Classification |
---|---|
Layer 2 interface in trunk mode or, except on QFX10000, tagged-access mode |
|
(QFX10000 only) Layer 2 interface in access mode |
|
Layer 3 interface |
|
(Except QFX10000) Layer 2 interface in access mode |
|
(QFX10000 only) MPLS interface |
|
Default BA classifiers assign traffic only to the best-effort
, fcoe
, no-loss
, network-control
, and, except on QFX10000 switches, mcast
forwarding classes.
Except on QFX10000 switches, there is no default MPLS EXP classifier.
You must configure an EXP classifier and apply it globally to all
interfaces that are configured as family mpls
by including
it in the [edit class-of-service system-defaults classifiers
exp]
hierarchy. On family mpls
interfaces, if a fixed
classifier is present on the interface, the EXP classifier overrides
the fixed classifier.
If an EXP classifier is not configured, then if a fixed classifier is applied to the interface, the MPLS traffic uses the fixed classifier. If no EXP classifier and no fixed classifier is applied to the interface, MPLS traffic is treated as best-effort traffic. DSCP classifiers are not applied to MPLS traffic.
Because the EXP classifier is global, you cannot configure some ports to use a fixed IEEE 802.1p classifier for MPLS traffic on some interfaces and the global EXP classifier for MPLS traffic on other interfaces. When you configure a global EXP classifier, all MPLS traffic on all interfaces uses the EXP classifier, even interfaces that have a fixed classifier.
When you explicitly associate a classifier with a logical interface, you override the default classifier with the explicit classifier. For other than QFX10000 switches, this applies to unicast classifiers.
You can apply only one DSCP and one IEEE 802.1p classifier to
a Layer 2 interface. If both types of classifiers are present, DSCP
classifiers take precedence over IEEE 802.1p classifiers. If on QFX10000
switches you configure an EXP classifier, or on other switches a global
EXP classifier, and apply it on interfaces configured as family
mpls
, then MPLS traffic uses that classifier on those interfaces.
Importing a Classifier
You can use any existing classifier, including the default classifiers,
as the basis for defining a new classifier. You accomplish this using
the import
statement.
The imported classifier is used as a template and is not modified. The modifications you make become part of a new classifier (and a new template) identified by the name of the new classifier. Whenever you commit a configuration that assigns a new forwarding class-name and loss-priority value to a code-point alias or set of bits, it replaces the old entry in the new classifier template. As a result, you must explicitly specify every CoS value in every packet classification that requires modification.
Multidestination Classifiers
This section applies to switches except QFX10000.
Multidestination classifiers are applied to all interfaces and cannot be applied to individual interfaces. You can configure both a DSCP multidestination classifier and an IEEE multidestination classifer. IP and IPv6 traffic use the DSCP classifier, and all other traffic uses the IEEE classifier.
DSCP IPv6 multidestination classifiers are not supported, so IPv6 traffic uses the DSCP multidestination classifier.
The default multidestination classifier is the IEEE 802.1p multidestination classifier.
PFC Priorities
The eight IEEE 802.1p code points correspond to the eight priorities that priority-based flow control (PFC) uses to differentiate traffic classes for lossless transport. When you map a forwarding class (which maps to an output queue) to an IEEE 802.1p CoS value, the IEEE 802.1p CoS value identifies the PFC priority.
Although you can map a priority to any output queue (by mapping the IEEE 802.1p code point value to a forwarding class), we recommend that the priority and the forwarding class (unicast except for QFX10000 switches) match in a one-to-one correspondence. For example, priority 0 is assigned to queue 0, priority 1 is assigned to queue 1, and so on, as shown in Table 3. A one-to-one correspondence of queue and priority numbers makes it easier to configure and maintain the mapping of forwarding classes to priorities and queues.
IEEE 802.1p Code Point |
PFC Priority |
Output Queue (Unicast except for QFX10000) |
Forwarding Class and Packet Drop Attribute |
---|---|---|---|
000 |
0 |
0 |
best-effort (drop) |
001 |
1 |
1 |
best-effort (drop) |
010 |
2 |
2 |
best-effort (drop) |
011 |
3 |
3 |
fcoe (no-loss) |
100 |
4 |
4 |
no-loss (no-loss) |
101 |
5 |
5 |
best-effort (drop) |
110 |
6 |
6 |
network-control (drop) |
111 |
7 |
7 |
network-control (drop) |
By convention, deployments with converged server access typically
use IEEE 802.1p priority 3 (011) for FCoE traffic. The default mapping
of the fcoe
forwarding class is to queue 3. Apply priority-based
flow control (PFC) to the entire FCoE data path to configure the end-to-end
lossless behavior that FCoE requires. We recommend that you use priority
3 for FCoE traffic unless your network architecture requires that
you use a different priority.
Fixed Classifiers on Ethernet Interfaces
Fixed classifiers map all traffic on a physical interface to a forwarding class and a loss priority, unlike BA classifiers, which map traffic into multiple different forwarding classes based on the IEEE 802.1p CoS bits field value in the VLAN header or the DSCP field value in the type-of-service bits in the packet IP header. Each forwarding class maps to an output queue. However, when you use a fixed classifier, regardless of the CoS or DSCP bits, all Incoming traffic is classified into the forwarding class specified in the fixed classifier. A scheduler uses the loss priority to control packet discard during periods of congestion by associating different drop profiles with different loss priorities.
You cannot configure a fixed classifier and a DSCP or IEEE 802.1p BA classifier on the same interface. If you configure a fixed classifier on an interface, you cannot configure a DSCP or an IEEE classifier on that interface. If you configure a DSCP classifier, an IEEE classifier, or both classifiers on an interface, you cannot configure a fixed classifier on that interface.
For MPLS traffic on the same interface, you can configure both
a fixed classifier and an EXP classifier on QFX10000, or a global
EXP classifier on other switches. When both an EXP classifier or global
EXP classifier and a fixed classifier are applied to an interface,
MPLS traffic on interfaces configured as family mpls
uses
the EXP classifier, and all other traffic uses the fixed classifier.
To switch from a fixed classifier to a BA classifier, or to switch from a BA classifier to a fixed classifier, deactivate the existing classifier attachment on the interface, and then attach the new classifier to the interface.
If you configure a fixed classifier that classifies all incoming
traffic into the fcoe
forwarding class (or any forwarding
class designed to handle FCoE traffic), you must ensure that all traffic
that enters the interface is FCoE traffic and is tagged with the FCoE
IEEE 802.1p code point (priority).
Fixed Classifiers on Native Fibre Channel Interfaces (NP_Ports)
This section applies to switches except QFX10000.
Applying a fixed classifier to a native Fibre Channel (FC) interface
(NP_Port) is a special case. By default, native FC interfaces classify
incoming traffic from the FC SAN into the fcoe
forwarding
class and map the traffic to IEEE 802.1p priority 3 (code point 011).
When you apply a fixed classifier to an FC interface, you also configure
a priority rewrite value for the interface. The FC interface uses
the priority rewrite value as the IEEE 802.1p tag value for all incoming
packets instead of the default value of 3.
For example, if you specify a priority rewrite value of 5 (code point 101) for an FC interface, the interface tags all incoming traffic from the FC SAN with priority 5 and classifies the traffic into the forwarding class specified in the fixed classifier.
The forwarding class specified in the fixed classifier on FC interfaces must be a lossless forwarding class.
Multifield Classifiers
Multifield classifiers examine multiple fields in a packet such as source and destination addresses and source and destination port numbers of the packet. With MF classifiers, you set the forwarding class and loss priority of a packet based on firewall filter rules.
MF classification is normally performed at the network edge because of the general lack of DiffServ code point (DSCP) support in end-user applications. On a switch at the edge of a network, an MF classifier provides the filtering functionality that scans through a variety of packet fields to determine the forwarding class for a packet. Typically, a classifier performs matching operations on the selected fields against a configured value.
MPLS EXP Classifiers
You can configure up to 64 EXP classifiers for MPLS traffic
and apply them to family mpls
interfaces. On QFX10000 switches
you can use the default MPLS EXP, but on other switches there is no
default MPLS classifier. You can configure an EXP classifier and apply
it globally to all interfaces that are configured as family mpls
by including it in the [edit class-of-service system-defaults
classifiers exp]
hierarchy level. On family mpls
interfaces,
if a fixed classifier is present on the interface, the EXP classifier
overrides the fixed classifier for MPLS traffic only.
Except on QFX10000 switches, if an EXP classifier is not configured, then if a fixed classifier is applied to the interface, the MPLS traffic uses the fixed classifier. If no EXP classifier and no fixed classifier is applied to the interface, MPLS traffic is treated as best-effort traffic. DSCP classifiers are not applied to MPLS traffic.
Because the EXP classifier is global, you cannot configure some ports to use a fixed IEEE 802.1p classifier for MPLS traffic on some interfaces and the global EXP classifier for MPLS traffic on other interfaces. When you configure a global EXP classifier, all MPLS traffic on all interfaces uses the EXP classifier, even interfaces that have a fixed classifier.
For details about EXP classifiers, see Understanding CoS MPLS EXP Classifiers and Rewrite Rules. EXP classifiers are applied only on family mpls
interfaces.
Packet Classification for IRB Interfaces and RVIs
On QFX10000 switches, you cannot apply classifiers directly to integrated routing and bridging (IRB) interfaces. Similarly, on other switches you cannot apply classifiers directly to routed VLAN interfaces (RVIs). This results because the members of IRBs and RVIs are VLANs, not ports. However, you can apply classifiers to the VLAN port members of an IRB interface. You can also apply MF classifiers to IRBs and RVIs.