example/dsmark+policing => tcsim outputs are different

Linux Advanced Routing and Traffic Control

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

 



Hi folks

I have created a script file (dsmark+policing.sh attached) to check graphic
an text outputs of simutations, against original examples/dsmark+policing
coding (see TCNG Reference Manual-pg.90).

It uses  tcng coding (*.tcsim file attached) and old tc coding (*.tcsim_old
file attached) inserted in tcsim files.

Observation 1: The graphic outputs from (*.tc included in *.tcsim) and
(*.tc_old included in *.tcsim_old) are a
little bit different.

> Question 1: Is it expected to see exactly the same graphical output for
tcng
coding or old tc coding included in tcsim files ?

Observation 2: The text outputs (dsmark+policing.output attached) from
dsmark+policing.tcsim and
examples/dsmark+policing are different to each other.

> Question 2: Where are tos=0x01 or tos=0xb8 traffic in my
dsmark+policing.tcsim output?
(We can see these traffics in the output from the original dsmark+policing
!)

> Question 3: Why packet size is 988 bytes in my dsmark+policing.tcsim
output?

Obs.:

a) tcng version 9m + iproute2/tc version 2.4.7-now-ss020116-try + Linux
kernel 2.5.4

b) Running at a machine with SuSE Linux Professional 9.1 - kernel 2.6.4-52


Thanks in advance  :-)


Romulo Curty Cerqueira < curty@xxxxxxxx >



>>> ----------  start of dsmark+policing.tc file  ----------

/*

* dsmark+policing - Dsmark with tcindex and policing

*

* Packets with non-zero TOS/DS field are marked with TOS 0xb8 (EF DSCP).

* If they exceed the rate limit, they're dropped.

*/

#define LIMIT 1Mbps

#define BURST 10kB

#define MTU 1500B

dev "eth0" {

dsmark (indices 64,set_tc_index) {

class (0)

on tcindex(mask 0xff,pass_on) element (0);

class (1,mask 0,value 0xb8)

on tcindex(mask 0) element (0)

police (rate LIMIT,burst BURST,mtu MTU) drop;

}

}

>>> ----------  end of dsmark+policing.tc file  ----------



>>> ----------  start of dsmark+policing.tc_old file:  ----------

# === Device eth0 ===

tc qdisc add dev eth0 handle 1:0 root dsmark indices 64 set_tc_index

tc class change dev eth0 classid 1:1 dsmark mask 0x0 value 0xb8

tc filter add dev eth0 parent 1:0 protocol all prio 1 tcindex mask 0xff
pass_on

tc filter add dev eth0 parent 1:0 protocol all prio 1 handle 0 tcindex
classid 1:0

tc filter add dev eth0 parent 1:0 protocol all prio 2 tcindex mask 0x0

tc filter add dev eth0 parent 1:0 protocol all prio 2 handle 0 tcindex
classid 1:1 police index 1 rate 125000bps burst 10240 action drop/pass

>>> ----------  end of dsmark+policing.tc_old file:  ----------



>>> ----------  start of dsmark+policing.tcsim file:  ----------

/*

* dsmark+policing - Dsmark with tcindex and policing

*

* Packets with non-zero TOS/DS field are marked with TOS 0xb8 (EF DSCP).

* If they exceed the rate limit, they're dropped.

*/



#define TOS_ZERO UDP_HDR($ip_tos=0)

#define TOS_NONZERO UDP_HDR($ip_tos=1)

#define PAYLOAD 0 x 980 /* 1000-sizeof(iphdr) = 980 bytes */

dev eth0 10000 { /* 10 Mbps */

#include "dsmark+policing.tc"

}

every 0.005s send TOS_ZERO PAYLOAD /* 1.6 Mbps */

every 0.005s send TOS_NONZERO PAYLOAD /* 1.6 Mbps */

time 2s

end

>>> ----------  end of dsmark+policing.tcsim file:  ----------



>>> ----------  start of dsmark+policing.tcsim_old file:  ----------

/*

* dsmark+policing - Dsmark with tcindex and policing

*

* Packets with non-zero TOS/DS field are marked with TOS 0xb8 (EF DSCP).

* If they exceed the rate limit, they're dropped.

*/



#define TOS_ZERO UDP_HDR($ip_tos=0)

#define TOS_NONZERO UDP_HDR($ip_tos=1)

#define PAYLOAD 0 x 980 /* 1000-sizeof(iphdr) = 980 bytes */

dev eth0 10000 /* 10 Mbps */

#include "dsmark+policing.tc_old"

every 0.005s send TOS_ZERO PAYLOAD /* 1.6 Mbps */

every 0.005s send TOS_NONZERO PAYLOAD /* 1.6 Mbps */

time 1s

end

>>> ----------  end of dsmark+policing.tcsim_old file:  ----------



>>> ----------  start of dsmark+policing.sh file:  ----------

#!/bin/sh -e

echo " > *.tc_old file will be generated"

/home/x0gj/tcng/bin/tcc
/home/x0gj/ProQoS/Linux/tcsim/exemplos_do_romulo/dsmark+policing.tc >
/home/x0gj/ProQoS/Linux/tcsim/exemplos_do_romulo/dsmark+policing.tc_old

echo " > *.tc_old file has been generated"

echo " > graphic output by tcng coding will be generated"

/home/x0gj/tcng/bin/tcsim
/home/x0gj/ProQoS/Linux/tcsim/exemplos_do_romulo/dsmark+policing.tcsim |
/home/x0gj/tcng/bin/tcsim_filter tos | /home/x0gj/tcng/bin/tcsim_plot

echo " > graphic output by tcng coding has been generated"

echo " > graphic output by tc_old coding will be generated"

/home/x0gj/tcng/bin/tcsim
/home/x0gj/ProQoS/Linux/tcsim/exemplos_do_romulo/dsmark+policing.tcsim_old |
/home/x0gj/tcng/bin/tcsim_filter tos | /home/x0gj/tcng/bin/tcsim_plot

echo " > graphic output by tc_old coding has been generated"

echo ""

echo " > tcsim simulator output with tcng code inserted:"

echo ""

echo " > text output by tcng coding will be generated"

/home/x0gj/tcng/bin/tcsim
/home/x0gj/ProQoS/Linux/tcsim/exemplos_do_romulo/dsmark+policing.tcsim |
/home/x0gj/tcng/bin/tcsim_filter tos | sed 10q

echo " > text output by tcng coding has been generated"

#/home/x0gj/tcng/bin/tcsim
/home/x0gj/ProQoS/Linux/tcsim/exemplos_do_romulo/dsmark+policing.tcsim |
/home/x0gj/tcng/bin/tcsim_filter tos

echo ""

echo ""

echo " > tcsim simulator output with old iproute2/tc code inserted:"

echo ""

echo " > text output by tc_old coding will be generated"

/home/x0gj/tcng/bin/tcsim
/home/x0gj/ProQoS/Linux/tcsim/exemplos_do_romulo/dsmark+policing.tcsim_old |
/home/x0gj/tcng/bin/tcsim_filter tos | sed 10q

echo " > text output by tc_old coding has been generated"

echo ""

echo ""

echo ""

echo " > tcsim simulator output with original examples/dsmark_policing
coding (see TCNG Reference Manual-pg.90):"

echo ""

echo " > text output by original examples/dsmark_policing coding will be
generated"

/home/x0gj/tcng/bin/tcsim /home/x0gj/tcng/examples/dsmark+policing |
/home/x0gj/tcng/bin/tcsim_filter tos | sed 10q

echo " > text output by original examples/dsmark_policing coding has been be
generated"

echo ""

>>> ----------  end of dsmark+policing.sh file:  ----------



>>> ----------  start of dsmark+policing.output file:  ----------

...

> tcsim simulator output with tcng code inserted:

> text output by tcng coding will be generated

0.000000 E:00 988 0x80b2ac8

0.000000 D:00 988 0x80b2ac8

0.000000 E:00 988 0x80b26d0

0.000790 D:00 988 0x80b26d0

0.005000 E:00 988 0x80b2ac8

0.005000 D:00 988 0x80b2ac8

0.005000 E:00 988 0x80b26d0

0.005790 D:00 988 0x80b26d0

0.010000 E:00 988 0x80b2ac8

0.010000 D:00 988 0x80b2ac8

> text output by tcng coding has been generated



> tcsim simulator output with old iproute2/tc code inserted:

> text output by tc_old coding will be generated

0.000000 E:00 988 0x80b82c8

0.000000 D:00 988 0x80b82c8

0.000000 E:00 988 0x80b83a0

0.000790 D:00 988 0x80b83a0

0.005000 E:00 988 0x80b82c8

0.005000 D:00 988 0x80b82c8

0.005000 E:00 988 0x80b83a0

0.005790 D:00 988 0x80b83a0

0.010000 E:00 988 0x80b82c8

0.010000 D:00 988 0x80b82c8

> text output by tc_old coding has been generated



> tcsim simulator output with original examples/dsmark_policing coding (see
TCNG Reference Manual-pg.90):

> text output by original examples/dsmark_policing coding will be generated

0.000000 E:00 1000 0x80b6128

0.000000 D:00 1000 0x80b6128

0.000000 E:01 1000 0x80b6200

0.000800 D:b8 1000 0x80b6200

0.005000 E:00 1000 0x80b6128

0.005000 D:00 1000 0x80b6128

0.005000 E:01 1000 0x80b6200

0.005800 D:b8 1000 0x80b6200

0.010000 E:00 1000 0x80b6128

0.010000 D:00 1000 0x80b6128

> text output by original examples/dsmark_policing coding has been be
generated

>>> ----------  end of dsmark+policing.output file:  ----------



_______________________________________________
LARTC mailing list / LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

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