.. _traffic-class-support:

Traffic Classification
#######################

Overview
********

`Traffic classification <https://en.wikipedia.org/wiki/Traffic_classification>`_
is an automated process that categorizes computer network traffic according to
various parameters. For Zephyr, the VLAN priority code point (PCP) is used
to classify both received and sent network packets. See more information about
VLAN priority at `IEEE 802.1Q <https://en.wikipedia.org/wiki/IEEE_802.1Q>`_.

By default, all network traffic is treated equal in Zephyr. If desired, the
option :kconfig:option:`CONFIG_NET_TC_TX_COUNT` can be used to set the number of
transmit queues. The option :kconfig:option:`CONFIG_NET_TC_RX_COUNT` can be used to set
the number of receive queues. Each traffic class queue corresponds to a
specific kernel work queue. Each kernel work queue has a priority.
The VLAN priority is mapped to a certain traffic class according to rules
specified in `IEEE 802.1Q spec`_ chapter I.3, chapter 8.6.6 table 8-4,
and chapter 34.5 table 34-1. Each traffic class is in turn mapped to a certain
kernel work queue. The maximum number of traffic classes for both Rx and Tx
is 8.

See :zephyr_file:`subsys/net/ip/net_tc.c` for details of how various mappings are done.

.. _IEEE 802.1Q spec: https://ieeexplore.ieee.org/document/6991462/
