Subject: Fwd: Trouble with Linux-Vserver, Cgroups and TC
From: Ben Green <ben@bristolwireless.net>
Date: Mon, 14 Nov 2011 10:59:39 +0000
Mon, 14 Nov 2011 10:59:39 +0000
Hi all,

I'm on the trail of how to get the net_cls.classid working with  
traffic control. Any help with this very much appreciated, I just  
can't get it working. I sent the forwarded message below to the LARTC  
mailing list.

Cheers,


----- Forwarded message from Ben Green <ben@bristolwireless.net> -----
    Date: Fri, 11 Nov 2011 13:36:58 +0000
    From: Ben Green <ben@bristolwireless.net>
Subject: Trouble with Linux-Vserver, Cgroups and TC
      To: LARTC Mailing List <lartc@mailman.ds9a.nl>

Hi all,

I'm having trouble understanding what I'm meant to do with the  
net_cls.classid setting which cgroups provides. I want to be able tag  
packets emanating from a particular virtual server. As a bit of  
background - linux-vserver uses cgroups for resource control. Each  
virtual server has it's own cgroup and process within it are  
automatically added to that cgroup. When a net_cls.classid value is  
set, the packets supposedly get a handle which can then be shaped (any  
program that is within a cgroup and opens a socket should have it's  
packets marked in this way).

The only documentation I can find are these two pages (one deleted):

http://webcache.googleusercontent.com/search?q=cache%3aN3M0Ifnt7Q0J%3avger.kernel.org/netconf2009_slides/Network%2520Control%2520Group%2520Whitepaper.odt+%22network+control+group+whitepaper%22&cd=1&hl=en&ct=clnk&source=www.google.com

http://www.linuxtopia.org/online_books/rhel6/rhel_6_resource_management/rhel_6_resource_management_sec-net_cls.html

So far I've tried attached the htb qdisc with sfq underneath as per  
the LARTC, and tried with no joy to get the packets from one  
net_cls.classid cgroup to go into them. I can do a whole host of  
filters and things easily but

The two documents give completely different guidelines about how to  
set the handle for each group, which isn't a good place to start  
experimenting from.

So my questions are:

* Have I missed some documentation? Where should I look for more?
* What is the correct way to specify a major and minor handle number  
in net_cls.classid?
* Is there a way to see if packets are actually tagged correctly  
(other than by trying to filter them as if they were tagged/had  
handles, which is my only current way I know about)?
* What else do you need to know from me to help me get this sorted?

Cheers,
==
 From Ben Green

----- End forwarded message -----

==
 From Ben Green


Subject: Trouble with Linux-Vserver, Cgroups and TC
From: Ben Green <ben@bristolwireless.net>
Date: Fri, 11 Nov 2011 13:36:58 +0000

Hi all,

I'm having trouble understanding what I'm meant to do with the  
net_cls.classid setting which cgroups provides. I want to be able tag  
packets emanating from a particular virtual server. As a bit of  
background - linux-vserver uses cgroups for resource control. Each  
virtual server has it's own cgroup and process within it are  
automatically added to that cgroup. When a net_cls.classid value is  
set, the packets supposedly get a handle which can then be shaped (any  
program that is within a cgroup and opens a socket should have it's  
packets marked in this way).

The only documentation I can find are these two pages (one deleted):

http://webcache.googleusercontent.com/search?q=cache%3aN3M0Ifnt7Q0J%3avger.kernel.org/netconf2009_slides/Network%2520Control%2520Group%2520Whitepaper.odt+%22network+control+group+whitepaper%22&cd=1&hl=en&ct=clnk&source=www.google.com

http://www.linuxtopia.org/online_books/rhel6/rhel_6_resource_management/rhel_6_resource_management_sec-net_cls.html

So far I've tried attached the htb qdisc with sfq underneath as per  
the LARTC, and tried with no joy to get the packets from one  
net_cls.classid cgroup to go into them. I can do a whole host of  
filters and things easily but

The two documents give completely different guidelines about how to  
set the handle for each group, which isn't a good place to start  
experimenting from.

So my questions are:

* Have I missed some documentation? Where should I look for more?
* What is the correct way to specify a major and minor handle number  
in net_cls.classid?
* Is there a way to see if packets are actually tagged correctly  
(other than by trying to filter them as if they were tagged/had  
handles, which is my only current way I know about)?
* What else do you need to know from me to help me get this sorted?

Cheers,
==
 From Ben Green

 Fri, 11 Nov 2011 13:36:58 +0000