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 < [EMAIL PROTECTED] >
>>> ---------- 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 / [EMAIL PROTECTED]
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/