lxc bandwidth control using tc

Posted by kumar on Server Fault See other posts from Server Fault or by kumar
Published on 2012-10-05T07:46:26Z Indexed on 2012/10/11 21:39 UTC
Read the original article Hit count: 436

I am trying to restrict bandwidth inside my containers. I have tried using the following commands , But I think it is not getting effective.

cd /sys/fs/cgroup/net_cls/
echo 0x1001 > A/net_cls.classid   # 10:1
echo 0x1002 > B/net_cls.classid   # 10:2
tc qdisc add dev eth0 root \
           handle 10: htb
tc class add dev eth0 parent 10: \
           classid 10:1 htb rate 40mbit
tc class add dev eth0 parent 10: \
           classid 10:2 htb rate 30mbit
tc filter add dev eth0 parent 10: \
           protocol ip prio 10 \
           handle 1: cgroup

Here A and B are containers created with this command.

lxc-execute -n A -f configfile /bin/bash
lxc-execute -n B -f configfile /bin/bash

Whereas configfile contains only this entry:

lxc.utsname = test_lxc

AFter starting the container , I have started vsftpd inside container A and try to access the files using the ftp client from another machine. Then I killed vsftpd in container A and started vsftpd in container B and try to access the files using ftp client from another machine.

I cannot observe any difference in performance, for that matter it is nowhere nearer to 40mbit/30mbit.

Please correct me whether anything wrong here.

© Server Fault or respective owner

Related posts about networking

Related posts about bandwidth