linux/Documentation/admin-guide/cgroup-v1/net_cls.rst
<<
>>
Prefs
   1=========================
   2Network classifier cgroup
   3=========================
   4
   5The Network classifier cgroup provides an interface to
   6tag network packets with a class identifier (classid).
   7
   8The Traffic Controller (tc) can be used to assign
   9different priorities to packets from different cgroups.
  10Also, Netfilter (iptables) can use this tag to perform
  11actions on such packets.
  12
  13Creating a net_cls cgroups instance creates a net_cls.classid file.
  14This net_cls.classid value is initialized to 0.
  15
  16You can write hexadecimal values to net_cls.classid; the format for these
  17values is 0xAAAABBBB; AAAA is the major handle number and BBBB
  18is the minor handle number.
  19Reading net_cls.classid yields a decimal result.
  20
  21Example::
  22
  23        mkdir /sys/fs/cgroup/net_cls
  24        mount -t cgroup -onet_cls net_cls /sys/fs/cgroup/net_cls
  25        mkdir /sys/fs/cgroup/net_cls/0
  26        echo 0x100001 >  /sys/fs/cgroup/net_cls/0/net_cls.classid
  27
  28- setting a 10:1 handle::
  29
  30        cat /sys/fs/cgroup/net_cls/0/net_cls.classid
  31        1048577
  32
  33- configuring tc::
  34
  35        tc qdisc add dev eth0 root handle 10: htb
  36        tc class add dev eth0 parent 10: classid 10:1 htb rate 40mbit
  37
  38- creating traffic class 10:1::
  39
  40        tc filter add dev eth0 parent 10: protocol ip prio 10 handle 1: cgroup
  41
  42configuring iptables, basic example::
  43
  44        iptables -A OUTPUT -m cgroup ! --cgroup 0x100001 -j DROP
  45