Configuring DSCP to CoS Mapping


Netvisor One supports creating Quality of Service (QoS) maps that configure hardware based mapping of Differentiated Services Code Point (DSCP) value in a received IP header to a Cost of Service (CoS) priority. This helps in prioritizing traffic based on DSCP markings by using the appropriate egress CoS queues to send packets out.


Netvisor One sets the DSCP value to the 6 upper bits in the 8-bit ToS field of an IP header. Details about the specific values and the proposed traffic disposition can be found in these RFCs :

 

  • RFC 2474 (DS Fields Definitions)
  • RFC 2475 (DiffServ architecture)
  • RFC 2597 (AF PHB Group)
  • RFC 2780 (IANA Allocation Guidelines)

 

A quick summary of DSCP in Netvisor One:

 

  • DSCP values range from 0 to 63, while packet priorities map to 8 CoS values or priority queues.
  • Standards (IANA) include specific values in their guidelines. These values are used by different vendors to facilitate inter-connectivity.
  • Class selector code points (CS0 through CS7, multiples of 8) are backwards compatible with IP ToS values. These values also serve as base selectors for other values.
  • Assured Forwarding (AF) code points have 4 priority classes, each class has three code points indicating the drop precedence.

Class1: AF11/12/13 (DSCP 10, 12, 14)

Class2: AF21/22/23 (DSCP 18, 20, 22)

Class3: AF31/32/33 (DSCP 26, 28, 30)

Class4: AF41/42/43 (DSCP 34, 36, 38


  • 0 is best effort (CoS 0, default)
  • 46 is an Expedited Forwarding (EF) code point, indicating critical traffic.

 

There are new commands to support this feature:

 

CLI (network-admin@Spine1) >  dscp-map-create

 

dscp-map-create

Create a DSCP priority mapping table with default DSCP to priority mappings.

name name-string

Create a name for the DSCP map


CLI (network-admin@Spine1) >  dscp-map-delete


dscp-map-delete

Delete a DSCP priority mapping table.

name name-string

The name of the DSCP map to delete.


CLI (network-admin@Spine1) >  dscp-map-show


dscp-map-show

Display a DSCP priority mapping table

name name-string

Display the name of the DSCP map.

 

This command displays output only if there are maps configured.

 

CLI (network-admin@Spine1) >  dscp-map-pri-map-modify

 

dscp-map-pri-map-modify

Update priority mappings in tables.

dscp-map selector:

name name-string

Specify the name for the DSCP map to modify.

the following pri-map arguments:

 

pri number

Specify a CoS priority from 0 to 7.

dsmap number-list

Specify a DSCP value(s)as a single value, comma separated list, or a number range.


CLI (network-admin@Spine1) >  dscp-map-pri-map-show


dscp-map-pri-map-show

Display priority mappings in tables.

dscp-map selector:

name name-string

Display the name of the DSCP map.

the following pri-map arguments:

 

pri number

Display a CoS priority from 0 to 7.

dsmap number-list

Display a DSCP value(s)a DSCP value(s)as a single value, comma separated list, or a number range.

 

The dscp-map-pri-map-show displays output only if there are maps configured.

 

The default values are listed in the following dscp-map-pri-map-show output:

 

CLI (network-admin@Spine1) >  dscp-map-pri-map-show name dscp-map1

 

switch  name pri dsmap

------- ---- --- -----------

Spine1  ds2  0   none

Spine1  ds2  1   8,10,12,14

Spine1  ds2  2   16,18,20,22

Spine1  ds2  3   24,26,28,30

Spine1  ds2  4   32,34,36,38

Spine1  ds2  5   40

Spine1  ds2  6   48

Spine1  ds2  7   56

 

The command, port-config-modify, has a new parameter, dscp-map map-name|none to support this feature.


Using the option none deletes or cancels a DSCP map previously configured on the port.