A.8. net_cls
net_cls
子系统使用等级识别符(classid)标记网络数据包,这让 Linux 流量管控器(tc)可以识别从特定 cgroup 中生成的数据包。可配置流量管控器,让其为不同 cgroup 中的数据包设定不同的优先级。
- net_cls.classid
net_cls.classid
包含表示流量控制 handle 的单一数值。从net_cls.classid
文件中读取的classid
值是十进制格式,但写入该文件的值则为十六进制格式。例如:0x100001
表示控制点通常写为 iproute2 所用的10:1
格式。在net_cls.classid
文件中,将以数字1048577
表示。这些控制点的格式为:0xAAAABBBB
,其中 AAAA 是十六进制主设备号,BBBB 是十六进制副设备号。您可以忽略前面的零;0x10001
与0x00010001
一样,代表1:1
。以下是在net_cls.classid
文件中设定10:1
控制点的示例:~]#
echo 0x100001 > /cgroup/net_cls/red/net_cls.classid
~]#cat /cgroup/net_cls/red/net_cls.classid
1048577
请参考 tc 的 manual page 来了解如何配置流量管控器来使用
net_cls
添加到网络数据包中的控制点。