[LARTC] shaping combined traffic ?

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have the following question.

Is there a way to shape fairly trought one big channel two others, what I have in mind.


users <-------- [eth2]<======[eth0]<------ Internet (1Mbit/s)
	 			      |====[eth1]<------ Peering (1Mbit/s)

Now the problem, as u see there is two internet downstrams with compound speed of 2Mbit/s, the poblem is that on the eth2-egrees there should be only one class(channel), sum of the others. Say for example all users have 100kb/s (so that we can calculate easly). Now I want to make a compound channels so that when internet-channels are free users can get unused speed (ceil), (on the other hand rate calculation get very complicated if imposible 'cause it may exceed a wrapper-channel, so that some mechanism has to be thought to do this). Here is the pseudo code :


dev eth2 {
	htb(rate 2Mbit/s) {
		class(rate 100kbps, ceil 150kbps);
		class(rate 100kbps, ceil 150kbps);
		class(rate 100kbps, ceil 150kbps);
		.....
		class(rate 100kbps, ceil 150kbps);
	}
}

oops to metion that one of channels is national peering and the other is internet.
So as u see the compound speed can easly exceed one of the channels w/o ever touching the second channel.. I mean that if for example all users start to dload only from the peering channel, they will exceed easly the 1Mbit/s capacity,  'cause wrapper channel is 2MBit/s
On the other hand if I don't put this 2mbit-wrapper I can't use ceil-functionality.
Also I can't create 2 wrapper-channels 1Mbit/s each, 'cause users has to have 100kb/s compound speed not 100kb/s peering and 100kb/s internet,  neither 50kb/s-peering and 50kb/s-internet..
The 100kb/s is divided depending on their current usage, so it is not predefined..

So the questions are - how to have total speed X divided by all channels dynamicly and in the same time be able to use ceil-functionality.

Thanx alot in advance for your ideas

raptor


[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux