DSCP Marking

Revision history

Table 1. Revision history

Revision Details

Introductory Release

Provided support for DSCP marking of control plane signaling messages.

2021.01.0

First introduced.

Pre-2020.02.0

DSCP markings for QoS in SMF

The Differentiated Services Code Point (DSCP) marking feature is a mechanism that enables the SMF to

  • mark packets with a specific value,

  • perform traffic classification, and

  • provide the appropriate quality of service (QoS) treatment in SMF.

The DSCP is a 6-bit field in the Differentiated Services (DiffServ) field of an IPv4 and IPv6 packet header.

Functionality of DSCP marking

SMF supports the DSCP marking feature for

  • data packets and

  • control plane signaling.

For more information, refer to the How the DSCP marking works for data packets and How the DSCP marking works for control plane signaling sections.

This feature uses CLI commands to configure DSCP parameters for both signaling messages and data packets.


Note


This feature is also applicable on 4G calls with legacy interfaces.


How DSCP marking works for data packets

Summary

DSCP marking is a CLI-controlled feature that enables the creation and mapping of 5G QoS Identifier (5QI) and Allocation and Retention Priority (ARP) values to enforceable QoS parameters.

DSCP marking offers detailed configuration options for users. For Interactive Traffic Class (ITC), the SMF allows DSCP marking for Uplink and Downlink directions based on 5QI and ARP priority levels for each APN.

This feature allows the users to assign different DSCP values to flows with the same 5QI but different ARP priority values. For example, the ability to assign DSCP values that are based on 5QI+ARP can be used to meet compliance on priority and emergency calling via VoLTE.

Workflow

The method for allocating DSCP values to flows with the same 5QI but different ARP values is described here:

  1. New 5QI and ARP configurations override any pre-existing DSCP marking of packets using a 5QI and ARP combination.

  2. 5QI-only DSCP entry overrides all the existing 5QI and ARP configuration.

  3. SMF sends the configured DSCP value to the UPF.

  4. UPF applies the associated DSCP marking for 5QI and ARP for uplink and downlink traffic.

How DSCP marking works for control signaling

Workflow

The DSCP marking process for control signaling involves categorizing and marking network packets to ensure Quality of Service (QoS) in data transmission.

The key components involved in the DSCP marking process are:

  • SMF

  • Protocol endpoints

  • Control packets

The DSCP marking for control signaling works with these characteristics:

  1. SMF marks the incoming and outgoing packets after the QoS classification. The protocol endpoints provide the DSCP values when registering the endpoint and interface.

  2. SMF marks the DSCP values on control packets as per the interface configuration.

  3. DSCP marking feature supports dynamic configuration changes.

  4. DSCP marking configuration is applicable to all the interfaces defined within the configured endpoints.

  5. DSCP marking is supported only on a per-interface and per-protocol basis, not on a per-peer or per-session basis.

  6. SMF uses the DSCP command in the endpoint and interface configurations to define the DSCP values.

    Understanding the DSCP code value range and its denoted priority is essential for DHCP marking.

    This table lists the commonly used DSCP values as described in RFC 2475.

    Table 2. Commonly Used DSCP values

    DSCP Value

    Decimal Value

    Meaning

    Drop Probability

    Equivalent IP Precedence Value

    101 110

    46

    High Priority Expedited Forwarding (EF)

    101 - Critical

    000 000

    0

    Best Effort

    000 - Routine

    001 010

    10

    AF11

    Low

    001 - Priority

    001 100

    12

    AF12

    Medium

    001 - Priority

    001 110

    14

    AF13

    High

    001 - Priority

    010 010

    18

    AF21

    Low

    010 - Immediate

    010 100

    20

    AF22

    Medium

    010 - Immediate

    010 110

    22

    AF23

    High

    010 - Immediate

    011 010

    26

    AF31

    Low

    011 - Flash

    011 100

    28

    AF32

    Medium

    011 - Flash

    011 110

    30

    AF33

    High

    011 - Flash

    100 010

    34

    AF41

    Low

    100 - Flash Override

    100 100

    36

    AF42

    Medium

    100 - Flash Override

    100 110

    38

    AF43

    High

    100 - Flash Override

    001 000

    8

    CS1

    1

    010 000

    16

    CS2

    2

    011 000

    24

    CS3

    3

    100 000

    32

    CS4

    4

    101 000

    40

    CS5

    5

    110 000

    48

    CS6

    6

    111 000

    56

    CS7

    7

    000 000

    0

    Default

    101 110

    46

    EF

Configure DSCP marking

To configure the DSCP Marking feature, perform these steps.

Procedure

SUMMARY STEPS

  1. Configure DSCP marking for data packets
  2. Configure DSCP marking for control signaling

DETAILED STEPS


Step 1

Configure DSCP marking for data packets

Step 2

Configure DSCP marking for control signaling


Configure DSCP marking for data packets

Use this procedure to create and map 5QI values to QoS parameters.

Procedure

SUMMARY STEPS

  1. Specify the name of the QoS profile in the global configuration mode to configure the QoS profile.
  2. Specify the ID for the authorized QoS parameters.
  3. Set the ARP priority level and DSCP value in the inner IP header in the Uplink direction to apply the value to the packet.
  4. Set the ARP priority level and DSCP value either in the encapsulation header or user datagram in Downlink direction.
  5. [Optional] Use the show running-config profile qos command to verify the DSCP configuration for UP packets.

DETAILED STEPS


Step 1

Specify the name of the QoS profile in the global configuration mode to configure the QoS profile.

profile qos <qos_profile_name>

Example:

[smf] smf(config)# profile qos test 

Step 2

Specify the ID for the authorized QoS parameters.

dscp-map qi5 <qos_id>

Example:

[smf] smf(config-qos-profile_name)# dscp-map qi5 1 

The qos_id value must be an integer in the range of 1 to 255.

Note

 

Use the DSCP configuration from the QoS profile level if it is unavailable at the QoS flow level.

Step 3

Set the ARP priority level and DSCP value in the inner IP header in the Uplink direction to apply the value to the packet.

arp-priority-level <arp_value> uplink user-datagram dscp-marking <dscp_marking_value>

Example:

[smf] smf(config-qos-profile_name)# dscp-map qi5 1arp-priority-level  2 uplink user-datagram dscp-marking 0X00 

The arp_value must be an integer in the range of 1 to 255.

The dscp_marking_value must be a hexadecimal number from 0x00 through 0x3F.

Step 4

Set the ARP priority level and DSCP value either in the encapsulation header or user datagram in Downlink direction.

arp-priority-level arp_value downlink { encsp-header { copy-inner | dscp-marking dscp_marking_value } | user-datagram dscp-marking dscp_marking_value }

Example:


[smf] smf(config-qos-profile_name)# dscp-map qi5 1arp-priority-level 1  downlink encsp-header copy-inner 
[smf] smf(config-qos-profile_name)# dscp-map qi5 1arp-priority-level 1  downlink encsp-header dscp-marking 0x3b 
  • If encsp-header is configured, set the DSCP in the outer IP header in the Downlink direction or copy the DSCP value from the inner IP header to the outer IP header.

  • If the user-datagram is configured, set the DSCP in the inner IP header in the Downlink direction.

  • The arp_value must be an integer in the range of 1 to 255.

  • The dscp_marking_value must be a hexadecimal number from 0x00 through 0x3F.

Step 5

[Optional] Use the show running-config profile qos command to verify the DSCP configuration for UP packets.

Example:


[smf] smf# show running-config profile qos
profile qos abc
 ambr ul "250 Kbps"
 ambr dl "500 Kbps"
 qi5      7
 arp priority-level 14
 arp preempt-cap NOT_PREEMPT
 arp preempt-vuln PREEMPTABLE
 priority 120
 max data-burst 2000
exit
profile qos qos_1
 dscp-map qi5 1 arp-priority-level 5 uplink user-datagram dscp-marking 0x1e
 dscp-map qi5 1 arp-priority-level 5 downlink user-datagram dscp-marking 0x22 encsp-header copy-inner
 dscp-map qi5 2 arp-priority-level 6 uplink user-datagram dscp-marking 0x3e
 dscp-map qi5 2 arp-priority-level 6 downlink user-datagram dscp-marking 0x23 encsp-header copy-inner
 dscp-map qi5 3 arp-priority-level 12 uplink user-datagram dscp-marking 0x2f
 dscp-map qi5 3 arp-priority-level 12 downlink user-datagram dscp-marking 0x14 encsp-header copy-inner
 dscp-map qi5 6 downlink encsp-header copy-inner
 dscp-map qi5 7 downlink encsp-header dscp-marking 0x01
exit

Sample configuration of DSCP marking for data packets

This sample configuration defines the QoS with specific DSCP mapping rules for both uplink and downlink traffic, including ARP packets.


profile qos test 
 dscp-map qi5 1 downlink encaps-header copy-inner 
 dscp-map qi5 1 downlink encaps-header dscp-marking 0x3b 
 dscp-map qi5 2 downlink user-datagram dscp-marking 0x3b 
 dscp-map qi5 3 downlink user-datagram dscp-marking 0x3b encaps-header copy-inner 
 dscp-map qi5 4 downlink user-datagram dscp-marking 0x3b encaps-header dscp-marking 0x3f 
 dscp-map qi5 2 uplink user-datagram dscp-marking 0x3b 
 
 dscp-map qi5 1 arp-priority-level 1 downlink encaps-header copy-inner 
 dscp-map qi5 2 arp-priority-level 2 downlink encaps-header dscp-marking 0x3b 
 dscp-map qi5 4 arp-priority-level 3 downlink user-datagram dscp-marking 0x3b 
 dscp-map qi5 2 arp-priority-level 4 downlink user-datagram dscp-marking 0x3b encaps-header copy-inner 
 dscp-map qi5 4 arp-priority-level 5 downlink user-datagram dscp-marking 0x3b encaps-header dscp-marking 0x3f 
 dscp-map qi5 4 arp-priority-level 5 uplink user-datagram dscp-marking 0x3b 

Configure DSCP marking for control signaling

Use this procedure to configure the DSCP marking for control signaling at the endpoint and interface:

Procedure

SUMMARY STEPS

  1. Specify the instance and group instance ID in the global configuration mode.
  2. Specify the endpoint for DSCP marking.
  3. Specify the DSCP value for the control plane signaling messages.
  4. Specify the interface within the selected endpoint for DSCP marking.
  5. Specify the DSCP value for the control plane signaling messages and save the configuration.
  6. [Optional] Use the show running-config instance instance-id gr_instance_id endpoint command to verify the DSCP configuration for control packets.

DETAILED STEPS


Step 1

Specify the instance and group instance ID in the global configuration mode.

instance instance-id <gr_instance_id>

Example:

[smf] smf(config)# instance instance-id 1 

Step 2

Specify the endpoint for DSCP marking.

endpoint { gtp | li | protocol | radius | sbi }

Example:

[smf] smf(config-instance-instance-id-1)# endpoint gtp 

The DSCP marking configuration is applicable only to these endpoints:

  • protocol

  • sbi

  • gtp

  • radius

  • li

Step 3

Specify the DSCP value for the control plane signaling messages.

dscp <dscp_value >

Example:

[smf] smf(config-endpoint-gtp)# dscp  24 

The dscp_value must be a hexadecimal number from 0x00 to 0x3F or a decimal value from 0 to 63.

Step 4

Specify the interface within the selected endpoint for DSCP marking.

interface { coa-nas | gtpu | n4 | n7 | n10 | n11 | n16 | n40 |nrf | radius-client | s2b | s5 | s8 | upf-rcm-connupf-rcm-reg }

Example:

[smf] smf(config-endpoint-gtp)# interface  nrf 

The Service-based Interface (SBI) configuration applies to all the interfaces. If a specific interface configuration is present, it overrides the DSCP values.

Note

 

Configure vip-ip, vip-port, and loopbackPort at each interface level for the proper functionality of the interfaces.

Step 5

Specify the DSCP value for the control plane signaling messages and save the configuration.

dscp <dscp_value >

Example:

[smf] smf(config-interface-nrf)# dscp  24 

The dscp_value must be a hexadecimal number from 0x00 to 0x3F or a decimal value from 0 to 63.

Step 6

[Optional] Use the show running-config instance instance-id gr_instance_id endpoint command to verify the DSCP configuration for control packets.

Example:


smf# show running-config instance instance-id 1 endpoint
instance instance-id 1
 endpoint sbi
  replicas 2
  nodes 1
  dscp 24
  vip-ip 209.165.200.230
  interface nrf
   loopbackPort 9050
   vip-ip 209.165.200.236 vip-port 8090
   dscp 24
  exit
 exit
exit

Monitor the DSCP marking value

Use these commands to view the configured DSCP value:

  • monitor protocol

  • monitor subscriber