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