~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/admin-guide/cgroup-v1/net_prio.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 =======================
  2 Network priority cgroup
  3 =======================
  4 
  5 The Network priority cgroup provides an interface to allow an administrator to
  6 dynamically set the priority of network traffic generated by various
  7 applications
  8 
  9 Nominally, an application would set the priority of its traffic via the
 10 SO_PRIORITY socket option.  This however, is not always possible because:
 11 
 12 1) The application may not have been coded to set this value
 13 2) The priority of application traffic is often a site-specific administrative
 14    decision rather than an application defined one.
 15 
 16 This cgroup allows an administrator to assign a process to a group which defines
 17 the priority of egress traffic on a given interface. Network priority groups can
 18 be created by first mounting the cgroup filesystem::
 19 
 20         # mount -t cgroup -onet_prio none /sys/fs/cgroup/net_prio
 21 
 22 With the above step, the initial group acting as the parent accounting group
 23 becomes visible at '/sys/fs/cgroup/net_prio'.  This group includes all tasks in
 24 the system. '/sys/fs/cgroup/net_prio/tasks' lists the tasks in this cgroup.
 25 
 26 Each net_prio cgroup contains two files that are subsystem specific
 27 
 28 net_prio.prioidx
 29   This file is read-only, and is simply informative.  It contains a unique
 30   integer value that the kernel uses as an internal representation of this
 31   cgroup.
 32 
 33 net_prio.ifpriomap
 34   This file contains a map of the priorities assigned to traffic originating
 35   from processes in this group and egressing the system on various interfaces.
 36   It contains a list of tuples in the form <ifname priority>.  Contents of this
 37   file can be modified by echoing a string into the file using the same tuple
 38   format. For example::
 39 
 40         echo "eth0 5" > /sys/fs/cgroups/net_prio/iscsi/net_prio.ifpriomap
 41 
 42 This command would force any traffic originating from processes belonging to the
 43 iscsi net_prio cgroup and egressing on interface eth0 to have the priority of
 44 said traffic set to the value 5. The parent accounting group also has a
 45 writeable 'net_prio.ifpriomap' file that can be used to set a system default
 46 priority.
 47 
 48 Priorities are set immediately prior to queueing a frame to the device
 49 queueing discipline (qdisc) so priorities will be assigned prior to the hardware
 50 queue selection being made.
 51 
 52 One usage for the net_prio cgroup is with mqprio qdisc allowing application
 53 traffic to be steered to hardware/driver based traffic classes. These mappings
 54 can then be managed by administrators or other networking protocols such as
 55 DCBX.
 56 
 57 A new net_prio cgroup inherits the parent's configuration.

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php