Tagging module iproute2 - iproute2-2.6.16-2
[iproute2.git] / examples / diffserv / regression-testing
1
2 These were the tests done to validate the Diffserv scripts.
3 This document will be updated continously. If you do more
4 thorough validation testing please post the details to the
5 diffserv mailing list. 
6 Nevertheless, these tests should serve for basic validation.
7
8 AFCBQ, EFCBQ, EFPRIO
9 ----------------------
10
11 generate all possible DSCPs and observe that they 
12 get sent to the proper classes. In the case of AF also
13 to the correct Virtual Queues.
14
15 Edge1
16 -----
17 generate TOS values 0x0,0x10,0xbb each with IP addresses
18 10.2.0.24 (mark 1), 10.2.0.3 (mark2) and 10.2.0.30 (mark 3)
19 and observe that they get marked as expected.
20
21 Edge2
22 -----
23
24 -Repeat the tests in Edge1
25 -ftp with data direction from 10.2.0.2
26         *observe that the metering/policing works correctly (and the marking
27         as well). In this case the mark used will be 3
28
29 Edge31-cb-chains
30 ----------------
31
32 -ftp with data direction from 10.2.0.2
33
34         *observe that the metering/policing works correctly (and the marking
35         as well). In this case the mark used will be 1. 
36
37         Metering: The data throughput should not exceed 2*CIR1 + 2*CIR2
38         which is roughly: 5mbps
39
40         Marking: the should be a variation of marked packets:
41         AF41(TOS=0x88) AF42(0x90) AF43(0x98) and BE (0x0)
42
43 More tests required to see the interaction of several sources (other
44 than subnet 10.2.0.0/24).
45
46 Edge31-ca-u32
47 --------------
48
49 Generate data using modified tcpblast from 10.2.0.2 (behind eth2) to the 
50 discard port of 10.1.0.2 (behind eth1)
51
52 1) generate with src tos = 0x88
53         Metering: Allocated throughput should not exceed 2*CIR1 + 2*CIR2
54         approximately 5mbps
55         Marking: Should vary between 0x88,0x90,0x98 and 0x0
56
57 2) generate with src tos = 0x90
58         Metering: Allocated throughput should not exceed CIR1 + 2*CIR2
59         approximately 3.5mbps
60         Marking: Should vary between 0x90,0x98 and 0x0
61
62 3) generate with src tos = 0x98
63         Metering: Allocated throughput should not exceed CIR1 + CIR2
64         approximately 2.5mbps
65         Marking: Should vary between 0x98 and 0x0
66
67 4) generate with src tos any other than the above
68         Metering: Allocated throughput should not exceed CIR1 
69         approximately 1.5mbps
70         Marking: Should be consistent at 0x0
71
72 TODO: Testing on how each color shares when all 4 types of packets
73 are going through the edge device
74
75 Edge32-cb-u32, Edge32-cb-chains
76 -------------------------------
77
78 -ftp with data direction from 10.2.0.2
79
80         *observe that the metering/policing works correctly (and the marking
81         as well). 
82
83         Metering: 
84         The data throughput should not exceed 2*CIR1 + 2*CIR2
85         + 2*PIR2 + PIR1 for u32 which is roughly: 6mbps
86         The data throughput should not exceed 2*CIR1 + 5*CIR2
87         for chains which is roughly: 6mbps
88
89         Marking: the should be a variation of marked packets:
90         AF41(TOS=0x88) AF42(0x90) AF43(0x98) and BE (0x0)
91
92 TODO:
93 -More tests required to see the interaction of several sources (other
94 than subnet 10.2.0.0/24).
95 -More tests needed to capture stats on how many times the CIR was exceeded
96 but the data was not remarked etc.
97
98 Edge32-ca-u32
99 --------------
100
101 Generate data using modified tcpblast from 10.2.0.2 (behind eth2) to the 
102 discard port of 10.1.0.2 (behind eth1)
103
104 1) generate with src tos = 0x88
105         Metering: Allocated throughput should not exceed 2*CIR1 + 2*CIR2
106         +PIR1 -- approximately 4mbps
107         Marking: Should vary between 0x88,0x90,0x98 and 0x0
108
109 2) generate with src tos = 0x90
110         Metering: Allocated throughput should not exceed CIR1 + 2*CIR2
111         + 2* PIR2 approximately 3mbps
112         Marking: Should vary between 0x90,0x98 and 0x0
113
114 3) generate with src tos = 0x98
115         Metering: Allocated throughput should not exceed PIR1+ CIR1 + CIR2
116         approximately 2.5mbps
117         Marking: Should vary between 0x98 and 0x0
118
119 4) generate with src tos any other than the above
120         Metering: Allocated throughput should not exceed CIR1 
121         approximately 1mbps
122         Marking: Should be consistent at 0x0
123
124 TODO: Testing on how each color shares when all 4 types of packets
125 are going through the edge device