zephyr/doc/reference/networking/traffic-class.rst
David B. Kinder 505cc2bb0e doc: use :zephyr_file: where appropriate
A new role :zephyr_file: is available that renders to a link to the file
or folder in GitHub.  Find appropriate references using :file: and
convert to :zephyr_file: to take advantage of its linking capability.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-03-09 09:50:27 -05:00

29 lines
1.3 KiB
ReStructuredText

.. _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 :option:`CONFIG_NET_TC_TX_COUNT` can be used to set the number of
transmit queues. The option :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/