€•I/Œsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ2/translations/zh_CN/admin-guide/cgroup-v1/net_prio”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ2/translations/zh_TW/admin-guide/cgroup-v1/net_prio”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ2/translations/it_IT/admin-guide/cgroup-v1/net_prio”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ2/translations/ja_JP/admin-guide/cgroup-v1/net_prio”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ2/translations/ko_KR/admin-guide/cgroup-v1/net_prio”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ2/translations/pt_BR/admin-guide/cgroup-v1/net_prio”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ2/translations/sp_SP/admin-guide/cgroup-v1/net_prio”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒNetwork priority cgroup”h]”hŒNetwork priority cgroup”…””}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³ŒL/var/lib/git/docbuild/linux/Documentation/admin-guide/cgroup-v1/net_prio.rst”h´KubhŒ paragraph”“”)”}”(hŒ The Network priority cgroup provides an interface to allow an administrator to dynamically set the priority of network traffic generated by various applications”h]”hŒ The Network priority cgroup provides an interface to allow an administrator to dynamically set the priority of network traffic generated by various applications”…””}”(hhÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khh·h²hubhÌ)”}”(hŒ‘Nominally, an application would set the priority of its traffic via the SO_PRIORITY socket option. This however, is not always possible because:”h]”hŒ‘Nominally, an application would set the priority of its traffic via the SO_PRIORITY socket option. This however, is not always possible because:”…””}”(hhÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K hh·h²hubhŒenumerated_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒ9The application may not have been coded to set this value”h]”hÌ)”}”(hhòh]”hŒ9The application may not have been coded to set this value”…””}”(hhôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K hhðubah}”(h]”h ]”h"]”h$]”h&]”uh1hîhhëh²hh³hÊh´Nubhï)”}”(hŒ}The priority of application traffic is often a site-specific administrative decision rather than an application defined one. ”h]”hÌ)”}”(hŒ|The priority of application traffic is often a site-specific administrative decision rather than an application defined one.”h]”hŒ|The priority of application traffic is often a site-specific administrative decision rather than an application defined one.”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hîhhëh²hh³hÊh´Nubeh}”(h]”h ]”h"]”h$]”h&]”Œenumtype”Œarabic”Œprefix”hŒsuffix”Œ)”uh1héhh·h²hh³hÊh´K ubhÌ)”}”(hŒÖThis cgroup allows an administrator to assign a process to a group which defines the priority of egress traffic on a given interface. Network priority groups can be created by first mounting the cgroup filesystem::”h]”hŒÕThis cgroup allows an administrator to assign a process to a group which defines the priority of egress traffic on a given interface. Network priority groups can be created by first mounting the cgroup filesystem:”…””}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khh·h²hubhŒ literal_block”“”)”}”(hŒ9# mount -t cgroup -onet_prio none /sys/fs/cgroup/net_prio”h]”hŒ9# mount -t cgroup -onet_prio none /sys/fs/cgroup/net_prio”…””}”hj:sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1j8h³hÊh´Khh·h²hubhÌ)”}”(hŒèWith the above step, the initial group acting as the parent accounting group becomes visible at '/sys/fs/cgroup/net_prio'. This group includes all tasks in the system. '/sys/fs/cgroup/net_prio/tasks' lists the tasks in this cgroup.”h]”hŒðWith the above step, the initial group acting as the parent accounting group becomes visible at ‘/sys/fs/cgroup/net_prio’. This group includes all tasks in the system. ‘/sys/fs/cgroup/net_prio/tasks’ lists the tasks in this cgroup.”…””}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khh·h²hubhÌ)”}”(hŒCEach net_prio cgroup contains two files that are subsystem specific”h]”hŒCEach net_prio cgroup contains two files that are subsystem specific”…””}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khh·h²hubhŒdefinition_list”“”)”}”(hhh]”(hŒdefinition_list_item”“”)”}”(hŒ«net_prio.prioidx This file is read-only, and is simply informative. It contains a unique integer value that the kernel uses as an internal representation of this cgroup. ”h]”(hŒterm”“”)”}”(hŒnet_prio.prioidx”h]”hŒnet_prio.prioidx”…””}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jqh³hÊh´KhjmubhŒ definition”“”)”}”(hhh]”hÌ)”}”(hŒ™This file is read-only, and is simply informative. It contains a unique integer value that the kernel uses as an internal representation of this cgroup.”h]”hŒ™This file is read-only, and is simply informative. It contains a unique integer value that the kernel uses as an internal representation of this cgroup.”…””}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khjƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjmubeh}”(h]”h ]”h"]”h$]”h&]”uh1jkh³hÊh´Khjhubjl)”}”(hX¤net_prio.ifpriomap This file contains a map of the priorities assigned to traffic originating from processes in this group and egressing the system on various interfaces. It contains a list of tuples in the form . Contents of this file can be modified by echoing a string into the file using the same tuple format. For example:: echo "eth0 5" > /sys/fs/cgroups/net_prio/iscsi/net_prio.ifpriomap ”h]”(jr)”}”(hŒnet_prio.ifpriomap”h]”hŒnet_prio.ifpriomap”…””}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jqh³hÊh´K(hj ubj‚)”}”(hhh]”(hÌ)”}”(hXGThis file contains a map of the priorities assigned to traffic originating from processes in this group and egressing the system on various interfaces. It contains a list of tuples in the form . Contents of this file can be modified by echoing a string into the file using the same tuple format. For example::”h]”hXFThis file contains a map of the priorities assigned to traffic originating from processes in this group and egressing the system on various interfaces. It contains a list of tuples in the form . Contents of this file can be modified by echoing a string into the file using the same tuple format. For example:”…””}”(hjµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K"hj²ubj9)”}”(hŒAecho "eth0 5" > /sys/fs/cgroups/net_prio/iscsi/net_prio.ifpriomap”h]”hŒAecho "eth0 5" > /sys/fs/cgroups/net_prio/iscsi/net_prio.ifpriomap”…””}”hjÃsbah}”(h]”h ]”h"]”h$]”h&]”jHjIuh1j8h³hÊh´K(hj²ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jkh³hÊh´K(hjhh²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1jfhh·h²hh³hÊh´NubhÌ)”}”(hX=This command would force any traffic originating from processes belonging to the iscsi net_prio cgroup and egressing on interface eth0 to have the priority of said traffic set to the value 5. The parent accounting group also has a writeable 'net_prio.ifpriomap' file that can be used to set a system default priority.”h]”hXAThis command would force any traffic originating from processes belonging to the iscsi net_prio cgroup and egressing on interface eth0 to have the priority of said traffic set to the value 5. The parent accounting group also has a writeable ‘net_prio.ifpriomap’ file that can be used to set a system default priority.”…””}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K*hh·h²hubhÌ)”}”(hŒ³Priorities are set immediately prior to queueing a frame to the device queueing discipline (qdisc) so priorities will be assigned prior to the hardware queue selection being made.”h]”hŒ³Priorities are set immediately prior to queueing a frame to the device queueing discipline (qdisc) so priorities will be assigned prior to the hardware queue selection being made.”…””}”(hjñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K0hh·h²hubhÌ)”}”(hŒìOne usage for the net_prio cgroup is with mqprio qdisc allowing application traffic to be steered to hardware/driver based traffic classes. These mappings can then be managed by administrators or other networking protocols such as DCBX.”h]”hŒìOne usage for the net_prio cgroup is with mqprio qdisc allowing application traffic to be steered to hardware/driver based traffic classes. These mappings can then be managed by administrators or other networking protocols such as DCBX.”…””}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K4hh·h²hubhÌ)”}”(hŒ:A new net_prio cgroup inherits the parent's configuration.”h]”hŒ