net_cls.txt 1.2 KB

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