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