Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Understanding CoS Forwarding Classes

 

Forwarding classes group traffic and assign the traffic to output queues. Each forwarding class is mapped to an output queue. Classification maps incoming traffic to forwarding classes based on the code point bits in the packet or frame header. Forwarding class to queue mapping defines the output queue used for the traffic classified into a forwarding class.

A classifier must associate each packet with one of the following default forwarding classes or with a user-configured forwarding class in order to assign an output queue to the packet:

  • fcoe—Do not use.

  • no-loss—Do not use.

  • best-effort—Provides best-effort delivery without a service profile. Loss priority is typically not carried in a class-of-service (CoS) value.

  • network-control—Supports protocol control and is typically high priority.

  • mcast—Delivery of multidestination (multicast, broadcast, and destination lookup fail) packets.

Note

Do not map traffic to the default fcoe and no-loss forwarding classes. By default, the DSCP default classifier does not map traffic to the fcoe and no-loss forwarding classes, so by default, the OCX Series does not classify traffic into those forwarding classes. (On other switches, the fcoe and no-loss forwarding classes provide lossless transport for Layer 2 traffic. OCX Series switches do not support lossless Layer 2 transport.)

The default fcoe and no-loss forwarding classes have the no-loss drop attribute. You can map traffic to the fcoe and no-loss forwarding classes only if you explicitly configure them and do not configure the no-loss drop attribute. The OCX Series does not support the no-loss drop attribute.

The switch supports up to 12 forwarding classes, 8 for unicast traffic and 4 for multidestination traffic, thus enabling flexible, differentiated, packet classification. For example, you can configure multiple classes of best-effort traffic such as best-effort, best-effort1, and best-effort2.

The switch supports up to 12 output queues: 8 output queues for unicast traffic (queues 0 through 7) and 4 output queues for multidestination traffic (queues 8 through 11). Forwarding classes mapped to unicast queues are associated with unicast traffic, and forwarding classes mapped to multidestination queues are associated with multidestination traffic. You cannot map unicast and multidestination traffic to the same queue. You cannot map a strict-high priority queue to a multidestination forwarding class (queues 8 through 11 do not support strict-high priority configuration).

Default Forwarding Classes

Table 1 shows the four default forwarding classes defined for unicast traffic, and Table 2 shows the default forwarding class defined for multicast traffic.

If desired, you can rename the forwarding classes. Assigning a new class name to an output queue does not alter the default classification or scheduling that is applicable to that queue. CoS configurations can be complicated, so unless it is required by your scenario, we recommend that you not alter the default class names or queue number associations.

Table 1: Default Forwarding Classes for Unicast Packets

Forwarding Class Name

Default Queue Mapping

Comments

best-effort

0

The software does not apply any special CoS handling to packets with 000000 in the DiffServ field. These packets are usually dropped under congested network conditions.

By default, this is a lossy forwarding class with a packet drop attribute of drop.

fcoe

3

Do not map traffic to the default fcoe forwarding class. (On other switches, the fcoe forwarding class provides lossless transport for Layer 2 Fibre Channel over Ethernet (FCoE) traffic. OCX Series switches do not support FCoE or lossless Layer 2 transport.)

The default fcoe forwarding class has the no-loss drop attribute. You can map traffic to the fcoe forwarding class only if you explicitly configure it and do not configure the no-loss drop attribute. The OCX Series does not support the no-loss drop attribute.

no-loss

4

Do not map traffic to the default no-loss forwarding class. OCX Series switches do not support lossless Layer 2 transport.

The default no-loss forwarding class has the no-loss drop attribute. You can map traffic to the no-loss forwarding class only if you explicitly configure it and do not configure the no-loss drop attribute. The OCX Series does not support the no-loss drop attribute.

network-control

7

The software delivers packets in this service class with a high priority. (These packets are not delay-sensitive.)

Typically, these packets represent routing protocol hello or keepalive messages. Because loss of these packets jeopardizes proper network operation, packet delay is preferable to packet discard.

By default, this is a lossy forwarding class with a packet drop attribute of drop.

Table 2: Default Forwarding Classes for Multicast Packets

Forwarding Class Name

Default Queue Mapping

Comments

mcast

8

The software does not apply any special CoS handling to the multidestination packets. These packets are usually dropped under congested network conditions.

By default, this is a lossy forwarding class with a packet drop attribute of drop.

Note

Mirrored traffic is always sent to the queue that corresponds to the multidestination forwarding class. The switched copy of the mirrored traffic is forwarded with the priority determined by the behavior aggregate classification process.

Forwarding Class Configuration Rules

Take the following rules into account when you configure forwarding classes:

Queue Assignment Rules

The following rules govern queue assignment:

  • CoS configurations that specify more queues than the switch can support are not accepted. The commit operation fails with a detailed message that states the total number of queues available.

  • All default CoS configurations are based on queue number. The name of the forwarding class that appears in the default configuration is the forwarding class currently mapped to that queue.

  • Only unicast forwarding classes can be mapped to unicast queues (0 through 7), and only multidestination forwarding classes can be mapped to multidestination queues (8 through 11).

  • Strict-high priority queues cannot be mapped to multidestination forwarding classes. (Strict-high priority traffic cannot be mapped to queues 8 through 11).

  • If you map more than one forwarding class to a queue, all of the forwarding classes mapped to the same queue must have the same packet drop attribute (all of the forwarding classes must be lossy, or all of the forwarding classes mapped to a queue must be lossless). This is important because the default fcoe and no-loss forwarding classes have the no-loss drop attribute, which is not supported on OCX Series switches. Do not map traffic to the default fcoe and no-loss forwarding classes.

In addition, if you configure a strict-high priority queue, we recommend that you always apply a shaping rate to prevent the strict-high priority queue from starving other queues. If you do not apply a shaping rate to limit the amount of bandwidth a strict-high priority queue can use, then the strict-high priority queue can use all of the available port bandwidth and starve other queues on the port.

Scheduling Rules

When you configure a forwarding class and map traffic to it on the switch (that is, you are not using a default classifier and forwarding class), you must also define a scheduling policy for the forwarding class. Defining a scheduling policy means:

  • Mapping a scheduler to the forwarding class in a scheduler map

  • Including the forwarding class in a forwarding class set

  • Associating the scheduler map with a traffic control profile

  • Attaching the traffic control profile to a forwarding class set and applying the traffic control profile to an interface

Rewrite Rules

On each physical interface, either all forwarding classes that are being used on the interface must have rewrite rules configured, or no forwarding classes that are being used on the interface can have rewrite rules configured. On any physical port, do not mix forwarding classes with rewrite rules and forwarding classes without rewrite rules.