Red Hat Training

A Red Hat training course is available for Red Hat Linux

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 是十六进制副设备号。您可以忽略前面的零;0x100010x00010001 一样,代表 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 添加到网络数据包中的控制点。