DSCP mapping

DSCP mapping allows to steer incoming packets into hardware priority queues based on DSCP. It relies on flow support of the physical NIC. Queues are polled with high priority at first. Mapping between priorities and DSCP are defined by name then attached to the selected physical ports.

Note

The interface must be a physical interface managed by the fast-path with flow support. Support for Intel E810 PF mode has been validated.

Mapping

A mapping associates a priority to DSCP values. Unconfigured DSCP values will use the default priority 0.

vsr running config# / qos
vsr running qos# dscp-mapping mymapping priority 4 dscp 22 dscp 28
vsr running qos# dscp-mapping mymapping priority 6 dscp 12 dscp 16

In this example we configure a mapping named mymapping steering packets with DSCP 22 or 28 to priority 4 queues and DSCP 12 or 16 to priority 6 queues. Packets matching none of those DSCP will fall to default queue of priority 0. A given DSCP value must not be present in more than one priority level.

Interface configuration

Defined mapping can be applied to physical interfaces managed by the fast-path.

vsr running config# / vrf main interface physical eth1 qos
vsr running vrf main interface physical eth1 qos# dscp-mapping name mymapping

This example configures mymapping on interface ntfp1.

Note

This feature activation is mutually exclusive with hardware CP protection on a given interface.

../../../_images/dscp-mapping.svg

Memory consideration

Queue usage when using dscp-mapping may increase mbuf usage. Configuration may fail to apply if there isn’t sufficient memory for mbuf allocation. In such case, you must manually increase mbuf memory reservation as follows:

vsr> edit running
vsr running config# system fast-path advanced nb-mbuf +256000

Note

Additional number of mbuf must be greater than number of fastpath cores ie: number of cores (system/fast-path/core-mask/fast-path) * rx_queue_size (system/fast-path/advanced/nb-rxd) * number_of_priorities_in_mapping