Network QoS Policies

In This Section

This section provides information to configure network QoS policies using the command line interface.

Topics in this section include:

Overview

The ingress component of the policy defines how DiffServ code points (DSCPs) and MPLS EXP bits are mapped to internal forwarding class and profile state. The forwarding class and profile state define the Per Hop Behavior (PHB) or the QoS treatment through the router. The mapping on each network interface defaults to the mappings defined in the default network QoS policy until an explicit policy is defined for the network interface.

The egress component of the network QoS policy defines the DiffServ oriented queuing parameters associated with each forwarding class.

Each forwarding class defined within the system automatically creates a queue on each network interface. This queue gets all the parameters defined within the default network QoS policy 1 until an explicit policy is defined for the network interface.

If the egressing packet originated on an ingress SAP, or the remarking parameter is defined for the egress interface, the egress QoS policy also defines the IP DSCP or MPLS EXP bit marking based on the forwarding class and the profile state.

Network policy-id 1 exists as the default policy that is applied to all network interfaces by default. The network policy-id 1 cannot be modified or deleted. It defines the default DSCP-to-FC mapping and MPLS EXP-to-FC for the ingress. For the egress, it defines six forwarding classes which represent individual queues and the packet marking criteria.

New (non-default) network policy parameters can be modified. The no form of the command reverts the object to the default values. A new network policy must include the definition of at least one queue and specify the default-action. Incomplete network policies cannot be applied to network interfaces.

Changes made to a policy are applied immediately to all network interface where the policy is applied. For this reason, when a policy requires several changes, it is recommended that you copy the policy to a work area policy-id. The work-in-progress copy can be modified until all the changes are made and then the original policy-id can be overwritten with the config qos copy command.

For information about the tasks and commands necessary to access the command line interface and to configure and maintain your router devices, refer to CLI Usage chapter in the Basic System Configuration Guide.

Network Ingress Tunnel QoS Override

For Tunnel Terminated IP Routing Decisions

This section describes a mechanism that provides the ability to ignore the network ingress QoS mapping of a terminated tunnel containing an IP packet that is to be routed to a base router or VPRN destination. This is advantageous when the mapping for the tunnel QoS marking does not accurately or completely reflect the required QoS handling for the IP routed packet. When the mechanism is enabled on an ingress network IP interface, the IP interface will ignore the tunnel’s QoS mapping and derive the internal forwarding class and profile based on the precedence or DiffServe Code Point (DSCP) values within the routed IP header ToS field compared to the Network QoS policy defined on the IP interface.

Normal QoS Operation

The following types of QoS mapping decisions are applicable on a network ingress IP interface.

  1. Ethernet dot1p value mapping (if defined)
  2. Default QoS mapping
  3. IP ToS precedence mapping
  4. IP ToS DSCP mapping
  5. MPLS LSP EXP mapping

The default QoS mapping always exists on an ingress IP interface and every received packet will be mapped to this default if another explicitly defined matching entry does not exist.

A tunnel that terminates on the ingress IP interface (the node is the last hop for the tunnel) is evaluated based on the type of tunnel, IP GRE or MPLS LSP. An IP tunneled packet may match a dot1p entry, IP ToS precedence entry or IP ToS DSCP entry when defined in the applied policy. An MPLS LSP may match a dot1p entry or MPLS EXP entry when defined.

The internal tunnel encapsulated packet is never evaluated for QoS determination when operating in normal mode.

Network Ingress IP Match Criteria

IP match criteria classification is supported in the ingress section of a network QoS policy.

The classification only applies to the outer IPv4 header of non-tunneled traffic, consequently the use of an ip-criteria statement in a network QoS policy is ignored for received traffic when the network QoS policy is applied on the ingress network IP interface in the following cases:

  1. Mesh SDPs in VPLS services
  2. Spoke SDPs in VPLS and Xpipe services
  3. Spoke SDP under an IP interface in an IES or VPRN service
  4. Spoke SDPs in a VPRN service
  5. Automatically created bindings using the auto-bind-tunnel command in a VPRN service
  6. IPv6 over IPv4 tunnels
  7. VXLAN bindings (egress VTEP, VNI)

The only exception is for traffic received on a Draft Rosen tunnel for which classification on the outer IP header only is supported.

Attempting to apply a network QoS policy containing an ip-criteria statement to any object except a network IP interface will result in an error.

An example configuration is shown below:

network 10 create
ingress
ip-criteria
entry 10 create
match
dst-ip 10.0.0.1/32
exit
action fc "h2" profile in
exit

Network Ingress IPv6 Match Criteria

IPv6 match criteria classification is supported in the ingress section of a network QoS policy.

The classification only applies to the outer IPv6 header of non-tunneled traffic, consequently the use of an ipv6-criteria statement in a network QoS policy is ignored for received traffic when the network QoS policy is applied on the ingress network IP interface in the following cases:

  1. Mesh SDPs in VPLS services
  2. Spoke SDPs in VPLS and Xpipe services
  3. Spoke SDP under an IP interface in an IES or VPRN service
  4. Spoke SDPs in a VPRN service
  5. Automatically created bindings using the auto-bind-tunnel command in a VPRN service
  6. IPv6 over IPv4 tunnels
  7. VXLAN bindings (egress VTEP, VNI)

Attempting to apply a network QoS policy containing an ipv6-criteria statement to any object except a network IP interface will result in an error.

An example configuration is shown below:

network 10 create
ingress
ipv6-criteria
entry 10 create
match
dst-ip 2001:db8:1000::1/128
exit
action fc "ef" profile in
exit
exit
exit

Tunnel Termination QoS Override Operation

Tunnel termination QoS override only applies to IP routing decisions once the tunnel encapsulation is removed. Non-IP routed packets within a terminating tunnel are ignored by the override and are forwarded as described in the Normal QoS Operation section.

When tunnel termination QoS override is enabled, the ToS field within the routed IP header is evaluated against the IP ToS precedence and DSCP entries in the applied network QoS policy on the ingress IP interface. If an explicit match entry is not found, the default QoS mapping is used. Any dot1p and MPLS LSP EXP bits within the packet are ignored. If the packet was IP GRE tunneled to the node, the tunnel IP header ToS field is ignored as well.

Any tunnel received on the ingress IP interface that traverses the node (the node is not the ultimate hop for the tunnel) is not affected by the QoS override mechanism and is forwarded as described in Normal QoS Operation section.

Enabling and Disabling Tunnel Termination QoS Override

Tunnel termination QoS override is enabled and disabled within the network QoS policy under the ingress node. The default condition within the policy is not to override tunnel QoS for IP routed packets.

QoS for Self-Generated (CPU) Traffic on Network Interfaces

Differentiated services code point (DSCP), forwarding class (FC), and IEEE 802.1p values can be specified to be used by every protocol packet generated by the node. This enables prioritization or deprioritization of every protocol (as required). The markings effect a change in behavior on ingress when queuing. For example, if OSPF is not enabled, then traffic can be deprioritized to best effort (BE) DSCP. This change deprioritizes OSPF traffic to the CPU complex.

DSCP marking for internally generated control and management traffic should be used for the given application. This can be configured per routing instance. For example, OSPF packets can carry a different DSCP marking for the base instance and then for a VPRN service. ARP, IS-IS, and PPPoE are not IP protocols, so only 802.1p values can be configured.

The DSCP value can be set per application. When an application is configured to use a specified DSCP value, the 802.1p and MPLS EXP bits will be marked in accordance with the network (default 802.1p value of 7) or access (default 802.1p value of 0) egress policy as it applies to the logical interface the packet will be egressing.

The configuration of self-generated QoS is supported in the base router, VPRN, and management contexts.

The default values for self-generated traffic on network interfaces are:

  1. Routing protocols (OSPF, BGP, etc.)
    1. Forwarding class: Network Control (NC)
    2. DSCP value: NC1 (not applicable for ARP, IS-IS, and PPPoE)
    3. 802.1p value: according to the egress QoS policy (7 by default)
  2. Management protocols (SSH, SNMP, etc.)
    1. Forwarding class: Network Control (NC)
    2. DSCP value: AF41
    3. 802.1p value: according to the egress QoS policy (7 by default)
Table 18:  Default QoS Values for Self-Generated Traffic  

Protocol

DSCP

FC

ARP

N/A

NC

BFD

NC1

NC

BGP

NC1

NC

Cflowd

NC1

NC

DHCP

NC1

NC

Diameter

AF41

NC

DNS

AF41

NC

FTP

AF41

NC

GTP

NC2

NC

ICMP

BE

NC

IGMP

NC1

NC

IS-IS

N/A

NC

L2TP

NC1

NC

LDP

NC1

NC

MLD

NC1

NC

MSDP

NC1

NC

ND (NDIS)

NC2

NC

NTP/SNTP

NC1

NC

OSPF

NC1

NC

PECP

NC1

NC

PIM

NC1

NC

PPPoE

N/A

NC

PTP

NC1

NC

RADIUS

AF41

NC

RIP

NC1

NC

RSVP

NC1

NC

sFlow

NC1

NC

SNMP

AF41

NC

SRRP

NC1

NC

SSH

AF41

NC

Syslog

AF41

NC

TACACS+

AF41

NC

Telnet

AF41

NC

TFTP

AF41

NC

Traceroute

BE

NC

VRRP

NC1

NC

Note:

ICMP echo requests (type 8) initiated from the router will use the DSCP value set by the sgt-qos command. The FC value is NC by default, or the value specified in the ping command parameter fc fc-name.

Note:

Configurable values for BFD are not supported.

Default DSCP Mapping Table

DSCP Name  DSCP Value  DSCP Value    DSCP Value    Label
            Decimal    Hexadecimal    Binary    
=============================================================
Default       0            0x00       0b000000    be
nc1           48           0x30       0b110000    h1
nc2           56           0x38       0b111000    nc
ef            46           0x2e       0b101110    ef
af11          10           0x0a       0b001010    assured
af12          12           0x0c       0b001100    assured
af13          14           0x0e       0b001110    assured
af21          18           0x12       0b010010    l1
af22          20           0x14       0b010100    l1
af23          22           0x16       0b010110    l1
af31          26           0x1a       0b011010    l1
af32          28           0x1c       0b011100    l1
af33          30           0x1d       0b011110    l1
af41          34           0x22       0b100010    h2
af42          36           0x24       0b100100    h2
af43          38           0x26       0b100110    h2
default*    0

*The default forwarding class mapping is used for all DSCP names/values for which there is no explicit forwarding class mapping.

Basic Configurations

A basic network QoS policy must conform to the following:

  1. Each network QoS policy must have a unique policy ID.
  2. Include the definition of at least one queue.
  3. Specify the default-action.

Create a Network QoS Policy

Configuring and applying QoS policies other than the default policy is optional. A default network policy of the appropriate type is applied to each router interface.

To create an network QoS policy when operating, define the following:

  1. A network policy ID value. The system will not dynamically assign a value.
  2. Include a description. The description provides a brief overview of policy features.
  3. You can modify egress criteria to customize the forwarding class queues to be instantiated. Otherwise, the default values are applied.
    1. Remarking — When enabled, this command remarks ALL packets that egress on the specified network port. The remarking is based on the forwarding class to DSCP and LSP EXP bit mapping defined under the egress node of the network QoS policy.
    2. Forwarding class criteria — The forwarding class name represents an egress queue. Specify forwarding class criteria to define the egress characteristics of the queue and the marking criteria of packets flowing through it.
    3. DSCP — The DSCP value is used for all IP packets requiring marking that egress on this forwarding class queue that are in or out of profile.
    4. LSP EXP — The EXP value is used for all MPLS labeled packets requiring marking that egress on this forwarding class queue that are in or out of profile.
  4. Ingress criteria — Specifies the DSCPdot1p to forwarding class mapping for all IP packets and define the MPLS EXP bits to forwarding class mapping for all labeled packets.
    1. Default action — Defines the default action to be taken for packets that have an undefined DSCP or MPLS EXP bits set. The default-action specifies the forwarding class to which such packets are assigned.
    2. DSCP — Creates a mapping between the DSCP of the network ingress traffic and the forwarding class. Ingress traffic that matches the specified DSCP will be assigned to the corresponding forwarding class.
    3. LSP EXP — Creates a mapping between the LSP EXP bits of the network ingress traffic and the forwarding class. Ingress traffic that matches the specified LSP EXP bits will be assigned to the corresponding forwarding class.

Use the following CLI syntax to create a network QoS policy:

CLI Syntax:
config>qos#
network network-policy-id
description description-string
scope {exclusive | template}
egress
remarking
fc {be | l2 | af | l1 | h2 | ef | h1 | nc}
dot1p-in-profile dot1p-priority
dot1p-out-profile dot1p-priority
dscp-in-profile dscp-name
dscp-out-profile dscp-name
lsp-exp-in-profile mpls-exp-value
lsp-exp-out-profile mpls-exp-value
default-action fc {be | l2 | af | l1 | h2 | ef | h1 | nc} profile {in | out}
dot1p dot1p-priority fc {fc-name} profile {in | out}
dscp dscp-name fc {be | l2 | af | l1 | h2 | ef | h1 | nc} profile {in | out}
ler-use-dscp
lsp-exp lsp-exp-value fc fc-name profile {in | out}
A:ALA-10:A:ALA-12>config>qos# info
#------------------------------------------
echo "QoS Policy Configuration"
#------------------------------------------
...
     network 600 create
description "Network Egress Policy"
ingress
default-action fc ef profile in
exit
egress
remarking
exit
exit
...
#------------------------------------------
A:ALA-12>config>qos#

Applying Network Policies

Use the following CLI syntax to apply network policies to the router access uplink port’s IP interfaces:

CLI Syntax:
config>router
interface interface-name
qos network-policy-id

The following output displays the configuration for router interface ALA-1-2 with network policy 600 applied to the interface.

A:ALA-7>config>router# info
#------------------------------------------
echo "IP Configuration"
#------------------------------------------
...
interface "ALA-1-2"
address 10.10.4.3/24
qos 600
exit
...
----------------------------------------------
A:ALA-7>config>router#

Default Network Policy Values

The default network policy for IP interfaces is identified as policy-id 1. Default policies cannot be modified or deleted. The following displays default network policy parameters:

Table 19:  Network Policy Defaults   

Field

Default

description

Default network QoS policy.

scope

template

ingress

default-action

fc be profile out

dscp

be

fc be

profile out

ef

fc ef

profile in

cs1

fc l2

profile in

nc1

fc h1

profile in

nc2

fc nc

profile in

af11

fc af

profile in

af12

fc af

profile out

af13

fc af

profile out

af21

fc l1

profile in

af22

fc l1

profile out

af23

fc l1

profile out

af31

fc l1

profile in

af32

fc l1

profile out

af33

fc l1

profile out

af41

fc h2

profile in

af42

fc h2

profile out

af43

fc h2

profile out

lsp-exp

0

fc be

profile out

1

fc l2

profile in

2

fc af

profile out

3

fc af

profile in

4

fc h2

profile in

5

fc ef

profile in

6

fc h1

profile in

7

fc nc

profile in

egress

remarking

no

fc af

dscp-in-profile

af11

dscp-out-profile

af12

lsp-exp-in-profile

3

lsp-exp-out-profile

2

fc be

dscp-in-profile

be

dscp-out-profile

be

lsp-exp-in-profile

0

lsp-exp-out-profile

0

fc ef

dscp-in-profile

ef

dscp-out-profile

ef

lsp-exp-in-profile

5

lsp-exp-out-profile

5

fc h1

dscp-in-profile

nc1

dscp-out-profile

nc1

lsp-exp-in-profile

6

lsp-exp-out-profile

6

fc h2

dscp-in-profile

af41

dscp-out-profile

af42

lsp-exp-in-profile

4

lsp-exp-out-profile

4

fc l

dscp-in-profile

af21

dscp-out-profile

af22

lsp-exp-in-profile

3

lsp-exp-out-profile

2

fc l2

dscp-in-profile

cs1

dscp-out-profile

cs1

lsp-exp-in-profile

1

lsp-exp-out-profile

1

fc nc

dscp-in-profile

nc2

dscp-out-profile

nc2

lsp-exp-in-profile

7

lsp-exp-out-profile

7

The following output displays the default configuration:

A:ALA-49>config>qos>network# info detail
----------------------------------------------
description "Default network QoS policy."
scope template
ingress
default-action fc be profile out
no ler-use-dscp
dscp be fc be profile out
dscp ef fc ef profile in
dscp cs1 fc l2 profile in
dscp nc1 fc h1 profile in
dscp nc2 fc nc profile in
dscp af11 fc af profile in
dscp af12 fc af profile out
dscp af13 fc af profile out
dscp af21 fc l1 profile in
dscp af22 fc l1 profile out
dscp af23 fc l1 profile out
dscp af31 fc l1 profile in
dscp af32 fc l1 profile out
dscp af33 fc l1 profile out
dscp af41 fc h2 profile in
dscp af42 fc h2 profile out
dscp af43 fc h2 profile out
lsp-exp 0 fc be profile out
lsp-exp 1 fc l2 profile in
lsp-exp 2 fc af profile out
lsp-exp 3 fc af profile in
lsp-exp 4 fc h2 profile in
lsp-exp 5 fc ef profile in
lsp-exp 6 fc h1 profile in
lsp-exp 7 fc nc profile in
exit
egress
no remarking
fc af
dscp-in-profile af11
dscp-out-profile af12
lsp-exp-in-profile 3
lsp-exp-out-profile 2
dot1p-in-profile 2
dot1p-out-profile 2
exit
fc be
dscp-in-profile be
dscp-out-profile be
lsp-exp-in-profile 0
lsp-exp-out-profile 0
dot1p-in-profile 0
dot1p-out-profile 0
exit
fc ef
dscp-in-profile ef
dscp-out-profile ef
lsp-exp-in-profile 5
lsp-exp-out-profile 5
dot1p-in-profile 5
dot1p-out-profile 5
exit
fc h1
dscp-in-profile nc1
dscp-out-profile nc1
lsp-exp-in-profile 6
lsp-exp-out-profile 6
dot1p-in-profile 6
dot1p-out-profile 6
exit
fc h2
dscp-in-profile af41
dscp-out-profile af42
lsp-exp-in-profile 4
lsp-exp-out-profile 4
dot1p-in-profile 4
dot1p-out-profile 4
exit
fc l1
dscp-in-profile af21
dscp-out-profile af22
lsp-exp-in-profile 3
lsp-exp-out-profile 2
dot1p-in-profile 3
dot1p-out-profile 3
exit
fc l2
dscp-in-profile cs1
dscp-out-profile cs1
lsp-exp-in-profile 1
lsp-exp-out-profile 1
dot1p-in-profile 1
dot1p-out-profile 1
exit
fc nc
dscp-in-profile nc2
dscp-out-profile nc2
lsp-exp-in-profile 7
lsp-exp-out-profile 7
dot1p-in-profile 7
dot1p-out-profile 7
exit
exit
----------------------------------------------
A:ALA-49>config>qos>network#

Service Management Tasks

Deleting QoS Policies

A network policy is associated by default with router interfaces.

You can replace the default policy with a non-default policy, but you cannot remove default policies from the configuration. When you remove a non-default policy, the policy association reverts to the appropriate default network policy.

CLI Syntax:
config>router
interface interface-name
qos network-policy-id

The following output displays a sample configuration.

A:ALA-7>config>router# info
#------------------------------------------
echo "IP Configuration"
#------------------------------------------
...
interface "ALA-1-2"
address 10.10.4.3/24 broadcast host-ones
no port
no arp-timeout
no allow-directed-broadcasts
icmp
mask-reply
redirects 100 10
unreachables 100 10
ttl-expired 100 10
exit
qos 1
ingress
no filter
exit
egress
no filter
exit
no mac
no ntp-broadcast
no cflowd
no shutdown
exit
interface "ALA-1-3"
...
#------------------------------------------
A:ALA-7>config>router#

Remove a Policy from the QoS Configuration

To delete a network policy, enter the following commands:

CLI Syntax:
config>qos# no network network-policy-id

Copying and Overwriting Network Policies

You can copy an existing network policy to a new policy ID value or overwrite an existing policy ID. The overwrite option must be specified or an error occurs if the destination policy ID exists.

CLI Syntax:
config>qos# copy network source-policy-id dest-policy-id [overwrite]

The following output displays the copied policies:

A:ALA-12>config>qos# info detail
---------------------------------------------
...
network 1 create
description "Default network QoS policy."
scope template
ingress
default-action fc be profile out
dscp be fc be profile out
dscp ef fc ef profile in
dscp cs1 fc l2 profile in
dscp nc1 fc h1 profile in
dscp nc2 fc nc profile in
dscp af11 fc af profile in
dscp af12 fc af profile out
dscp af13 fc af profile out
dscp af21 fc l1 profile in
dscp af22 fc l1 profile out
...
network 600 create
description "Default network QoS policy."
scope template
ingress
default-action fc be profile out
dscp be fc be profile out
dscp ef fc ef profile in
dscp cs1 fc l2 profile in
dscp nc1 fc h1 profile in
dscp nc2 fc nc profile in
dscp af11 fc af profile in
dscp af12 fc af profile out
dscp af13 fc af profile out
dscp af21 fc l1 profile in
dscp af22 fc l1 profile out
...
network 700 create
description "Default network QoS policy."
scope template
ingress
default-action fc be profile out
dscp be fc be profile out
dscp ef fc ef profile in
dscp cs1 fc l2 profile in
dscp nc1 fc h1 profile in
dscp nc2 fc nc profile in
dscp af11 fc af profile in
dscp af12 fc af profile out
dscp af13 fc af profile out
dscp af21 fc l1 profile in
dscp af22 fc l1 profile out
...
---------------------------------------------
A:ALA-12>config>qos#

Editing QoS Policies

You can change existing policies, except the default policies, and entries in the CLI. The changes are applied immediately to all interfaces where the policy is applied. To prevent configuration errors use the copy command to make a duplicate of the original policy to a work area, make the edits, and then overwrite the original policy.