PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : TCNG/TCSIM - Problems with meters



baasdi
23.07.08, 10:51
Hi

I'm simulating a network topology with tcsim.

I defined some multiple interfaces on different hosts with each their own tc-configuration. In two configurations I am using meters for each two classes.

Now the problem is, that one meter in the first configuration also shapes the second configuration although a different meter is configured there. I suppose, that the simulator uses for both configurations the same meter. how can I fix this problem?

In the code below it meens: The second meter in vmu1 has to drop all video (tos=2) packets from the vmu1 (vmu1.tcc line2). In vmu2 the meter for video packet is set to 4000kbps (vmu1.tcc line2), but it is still the configuration from vmu1 set. If I set the video meter in vmu1 to 1000kbps, the policing in vmu2 is also set to 1000kbps.

Here are the neccassary scripts:

Configuration of the whole simulation (simulation.sim):


//CONFIGURATION
host
{
dev vmu1_eth0 10Mbps
{
#include "vmu1.tcc"
}
route default vmu1_eth0
}
host
{
dev vmu2_eth0 10Mbps
{
#include "vmu2.tcc"
}
route default vmu2_eth0
}
//ixbBlade1
host
{
dev ixbBlade1_eth0 10Mbps
dev ixbBlade1_eth1 10Mbps
dev ixbBlade1_eth2 10Mbps
route default ixbBlade1_eth2
}
connect vmu1_eth0 ixbBlade1_eth0
connect vmu2_eth0 ixbBlade1_eth1
/*================================================= ================================================== ========*/
//TRAFFIC GENERATION
//from vmu1
every 0.000521s send vmu1_eth0 UDP_PCK( $ip_tos = 1 $ip_src = 10.1.1.1 ) 0 x 172 //3000kbps voice
//from vmu2
every 0.000625s send vmu2_eth0 UDP_PCK( $ip_tos = 2 $ip_src = 10.1.1.2 ) 0 x 372 //5000kbps video
//from ixbBlade1
every 0.000521s send ixbBlade1_eth2 UDP_PCK( $ip_tos = 1 $ip_src = 10.1.0.10 ) 0 x 172 //3000kbps voice
time 10s
end

Configuration of vmu1 (vmu1.tcc):

$a1 = SLB(cir 2000kbps, cbs 10kB); //2000kbps audio
$v1 = SLB(cir 1kbps, cbs 1B); //no video
dev vmu1_eth0 {
egress {
class ( <$audio> ) if ip_tos == 1 && ip_src == 10.1.1.1 && SLB_else_drop( $a1 );
class ( <$video> ) if ip_tos == 2 && ip_src == 10.1.1.1 && SLB_else_drop( $v1 );
drop if 1;
prio {
$audio = class {
fifo( limit 10kB );
}
$video = class {
fifo( limit 10kB );
}
$besteffort = class {
fifo( limit 100kB );
}
}
}
}

Configuration of vmu2 (vmu2.tcc):

$a1 = SLB(cir 1kbps, cbs 1B); //no audio
$v1 = SLB(cir 4000kbps, cbs 10kB); //4000kbps video
dev vmu2_eth0 {
egress {
class ( <$audio> ) if ip_tos == 1 && ip_src == 10.1.1.2 && SLB_else_drop( $a1 );
class ( <$video> ) if ip_tos == 2 && ip_src == 10.1.1.2 && SLB_else_drop( $v1 );
drop if 1;
prio {
$audio = class {
fifo( limit 10kB );
}
$video = class {
fifo( limit 10kB );
}
$besteffort = class {
fifo( limit 100kB );
}
}
}
}