Back to Zephyr

Traffic Classification

doc/connectivity/networking/api/traffic-class.rst

4.4.01.3 KB
Original Source

.. _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/