Torrent IP9000 QoS Test Results
William A. (Andy) Adamson
andros@umich.edu
As of this test, the Torrent IP9000 running the latest IPAction software(version 1.2(1)) does not include Diffserv functionality, so no bandwidth reservation tests were run. As Diffserv functionality appears in the IP9000 hardware and software, we will test it and publish our results.
Test Bed
The three workstations are networked to three Torrent IP9000 100MB interfaces as shown below.

During the tests there was no other traffic on these interfaces or hubs. These machines are multi-homed so traceroute was used to ensure a direct path through the Torrent IP9000 for each workstation pair.
Test Overview
Control
Send a stream of known bandwidth from Ether0/1 to Ether0/3. Record bandwidth and packet loss at the receiver. Send a stream of known bandwidth from Ether0/4 to Ether 0/3. Record bandwidth and packet loss at the receiver. Send both streams at once, where the sum of the bandwidths is greater than the 100Mb supported by Ether0/3. Record bandwidth and packet loss at both receivers.
- No configured flows.
- Send 40000kbps from citivid to nmctv.
- Send 70000kbps from mvid to nmctv.
- Send 40000kbps from citivid to nmctv and send 70000kbps from mvid to nmctv at the same time.
Police and drop
Configure a flow from Ether0/4 to Ether0/3. Send a stream from Ether0/4 to Ether0/3 whose known bandwidth ranges from just below to just above the configured flow. Record bandwidth and packet loss at the receiver.
- Configure a 40000kbps static policed flow from citivid to nmctv with the drop option.
- Send 35000kbps from citivid to nmctv
- Send 40000kbps from citivid to nmctv
- Send 45000kbps from citivid to nmctv
Test Data
Control
- No configured flow
- Send 40000kbps from citivid to nmctv
Here is the gen_send call and output, included this first call only
.
citivid# gen_send 192.168.37.134 1811 40000 1000 530 100
0 bits sent seq_no: 0
msg_len: 532
40000000 bits sent seq_no: 9398
msg_len: 534
40000000 bits sent seq_no: 18762
40000000 bits sent seq_no: 28126
gen_send sent 40000000 bits each second by sending 9364 packets of size 534 bytes. 534*8*9363=39998736 , the last packet is sized less than 534 to make exactly 40000000 bits sent.
With 100 usec between sends, 1000000/100 = 10000 packets sent per second is possible, so data sends were spread over 93.64% of the second which is a smooth transmission.
gen_recv showed no packet loss. The bandwidth data is graphed below.

- Send 70000kbps from mvid to nmctv.
mvid% gen_send 192.168.37.134 2281 70000 1000 1200 100
gen_send sent 70000000 bits each second by sending 7268 packets of size 1204 bytes. 1204*8*7267=69995744, the last packet is sized less than 1204 to make exactly 70000000 bits sent.
With 100 usec between sends, 1000000/100 = 10000 packets sent per second is possible, so data sends were spread over 72.68% of the second which is a bit bursty, but since there was no packet loss, acceptable.
gen_recv showed no packet loss. Bandwidth is graphed below.

- Send 40000kbps from citivid to nmctv and send 70000kbps from mvid to nmctv at the same time.
Use the same gen_sends as before. gen_recv’s bandwidth and packet loss data follows. Series 1 is the 40000kbps data, and Series 2 is the 70000kbps data. Since the sum of the bandwidth of the two sends through the 100Mbit Ether0/3 interface is 110Mbits/sec packets are dropped. Both sends are best effort traffic, so packet loss is distributed between the two sends.
mvid% gen_send 192.168.37.134 2297 70000 1000 1200 100
citivid% gen_send 192.168.37.134 2298 40000 1000 530 100


Series 1: 40Mb flow Series 2: 70 Mb send
Police and drop
- Configure a 40000kbps static policed flow from citivid to nmctv with the drop option.
- Send 35000kbps from citivid to nmctv
- Send 40000kbps from citivid to nmctv
- Send 45000kbps from citivid to nmctv
The graph below shows that the Torrent IP9000 successfully polices and drops packets on sends whose bandwidth exceeds the flows configured bandwidth.
Series 1: 40Mb send Series 2: 45Mbit send Series 3: 35 Mb send

Series 1: 40 Mbit send citivid% gen_send 192.168.37.134 2298 40000 1000 530 100
Series 2: 45 Mbit send citivid% gen_send 192.168.37.134 2298 45000 1000 530 100
Series 3: 35 Mbit send citivid% gen_send 192.168.37.134 2298 35000 1000 530 100
Configurations
Control
citivid: 192.168.41.42
mvid: 192.168.31.28
nmctv: 192.168.37.134
torrent#show config
...
interface Ethernet0/1
ip address 192.168.31.5 255.255.255.128
no shutdown
!
interface Ethernet0/2
ip address 192.168.10.5 255.255.255.0
no shutdown
!
interface Ethernet0/3
ip address 192.168.37.5 255.255.255.0
no shutdown
!
interface Ethernet0/4
ip address 192.168.41.5 255.255.255.0
no shutdown
torrent#show flow interface
Status of total port-bw at high pri
Interface cur-alloc (kbps) max-alloc (kbps) port-speed (kbps)
Ether0/1 0 ( 0%) 0 ( 0%) 100000
Ether0/2 0 ( 0%) 0 ( 0%) 100000
Ether0/3 0 ( 0%) 0 ( 0%) 100000
Ether0/4 0 ( 0%) 0 ( 0%) 100000
Ether0/5 0 ( 0%) 0 ( 0%) 10000
Ether0/6 0 ( 0%) 0 ( 0%) 10000
Ether0/7 0 ( 0%) 0 ( 0%) 10000
Ether1/0 0 ( 0%) 0 ( 0%) 10000
Ether1/1 0 ( 0%) 0 ( 0%) 10000
Ether1/2 0 ( 0%) 0 ( 0%) 10000
Ether1/3 0 ( 0%) 0 ( 0%) 10000
Ether1/4 0 ( 0%) 0 ( 0%) 10000
Ether1/5 0 ( 0%) 0 ( 0%) 10000
Ether1/6 0 ( 0%) 0 ( 0%) 10000
Ether1/7 0 ( 0%) 0 ( 0%) 10000
torrent#show flow interface static
Status of port-bw for static flows
Interface cur-alloc (kbps) max-alloc (kbps) port-speed (kbps)
Ether0/1 0 ( 0%) 0 ( 0%) 100000
Ether0/2 0 ( 0%) 0 ( 0%) 100000
Ether0/3 0 ( 0%) 0 ( 0%) 100000
Ether0/4 0 ( 0%) 0 ( 0%) 100000
Ether0/5 0 ( 0%) 0 ( 0%) 10000
Ether0/6 0 ( 0%) 0 ( 0%) 10000
Ether0/7 0 ( 0%) 0 ( 0%) 10000
Ether1/0 0 ( 0%) 0 ( 0%) 10000
Ether1/1 0 ( 0%) 0 ( 0%) 10000
Ether1/2 0 ( 0%) 0 ( 0%) 10000
Ether1/3 0 ( 0%) 0 ( 0%) 10000
Ether1/4 0 ( 0%) 0 ( 0%) 10000
Ether1/5 0 ( 0%) 0 ( 0%) 10000
Ether1/6 0 ( 0%) 0 ( 0%) 10000
Ether1/7 0 ( 0%) 0 ( 0%) 10000
Police and Drop
torrent(config)#flow limit default static 40%
torrent(config)#flow limit default total 40%
torrent(config)#flow static policed 40000 drop dst 192.168.37.134 src 192.168.41.42
torrent(config)#exit
torrent#show flow interface
Status of total port-bw at high pri
Interface cur-alloc (kbps) max-alloc (kbps) port-speed (kbps)
Ether0/1 0 ( 0%) 40000 (40%) 100000
Ether0/2 0 ( 0%) 40000 (40%) 100000
Ether0/3 40000 (40%) 40000 (40%) 100000
Ether0/4 0 ( 0%) 40000 (40%) 100000
Ether0/5 0 ( 0%) 4000 (40%) 10000
Ether0/6 0 ( 0%) 4000 (40%) 10000
Ether0/7 0 ( 0%) 4000 (40%) 10000
Ether1/0 0 ( 0%) 4000 (40%) 10000
Ether1/1 0 ( 0%) 4000 (40%) 10000
Ether1/2 0 ( 0%) 4000 (40%) 10000
Ether1/3 0 ( 0%) 4000 (40%) 10000
Ether1/4 0 ( 0%) 4000 (40%) 10000
Ether1/5 0 ( 0%) 4000 (40%) 10000
Ether1/6 0 ( 0%) 4000 (40%) 10000
Ether1/7 0 ( 0%) 4000 (40%) 10000
torrent#show flow interface static
Status of port-bw for static flows
Interface cur-alloc (kbps) max-alloc (kbps) port-speed (kbps)
Ether0/1 0 ( 0%) 40000 (40%) 100000
Ether0/2 0 ( 0%) 40000 (40%) 100000
Ether0/3 40000 (40%) 40000 (40%) 100000
Ether0/4 0 ( 0%) 40000 (40%) 100000
Ether0/5 0 ( 0%) 4000 (40%) 10000
Ether0/6 0 ( 0%) 4000 (40%) 10000
Ether0/7 0 ( 0%) 4000 (40%) 10000
Ether1/0 0 ( 0%) 4000 (40%) 10000
Ether1/1 0 ( 0%) 4000 (40%) 10000
Ether1/2 0 ( 0%) 4000 (40%) 10000
Ether1/3 0 ( 0%) 4000 (40%) 10000
Ether1/4 0 ( 0%) 4000 (40%) 10000
Ether1/5 0 ( 0%) 4000 (40%) 10000
Ether1/6 0 ( 0%) 4000 (40%) 10000