
These were the tests done to validate the Diffserv scripts.
This document will be updated continuously. If you do more
thorough validation testing please post the details to the
diffserv mailing list. 
Nevertheless, these tests should serve for basic validation.

AFCBQ, EFCBQ, EFPRIO
----------------------

generate all possible DSCPs and observe that they 
get sent to the proper classes. In the case of AF also
to the correct Virtual Queues.

Edge1
-----
generate TOS values 0x0,0x10,0xbb each with IP addresses
10.2.0.24 (mark 1), 10.2.0.3 (mark2) and 10.2.0.30 (mark 3)
and observe that they get marked as expected.

Edge2
-----

-Repeat the tests in Edge1
-ftp with data direction from 10.2.0.2
	*observe that the metering/policing works correctly (and the marking
	as well). In this case the mark used will be 3

Edge31-cb-chains
----------------

-ftp with data direction from 10.2.0.2

	*observe that the metering/policing works correctly (and the marking
	as well). In this case the mark used will be 1. 

	Metering: The data throughput should not exceed 2*CIR1 + 2*CIR2
	which is roughly: 5mbps

	Marking: the should be a variation of marked packets:
	AF41(TOS=0x88) AF42(0x90) AF43(0x98) and BE (0x0)

More tests required to see the interaction of several sources (other
than subnet 10.2.0.0/24).

Edge31-ca-u32
--------------

Generate data using modified tcpblast from 10.2.0.2 (behind eth2) to the 
discard port of 10.1.0.2 (behind eth1)

1) generate with src tos = 0x88
	Metering: Allocated throughput should not exceed 2*CIR1 + 2*CIR2
	approximately 5mbps
	Marking: Should vary between 0x88,0x90,0x98 and 0x0

2) generate with src tos = 0x90
	Metering: Allocated throughput should not exceed CIR1 + 2*CIR2
	approximately 3.5mbps
	Marking: Should vary between 0x90,0x98 and 0x0

3) generate with src tos = 0x98
	Metering: Allocated throughput should not exceed CIR1 + CIR2
	approximately 2.5mbps
	Marking: Should vary between 0x98 and 0x0

4) generate with src tos any other than the above
	Metering: Allocated throughput should not exceed CIR1 
	approximately 1.5mbps
	Marking: Should be consistent at 0x0

TODO: Testing on how each color shares when all 4 types of packets
are going through the edge device

Edge32-cb-u32, Edge32-cb-chains
-------------------------------

-ftp with data direction from 10.2.0.2

	*observe that the metering/policing works correctly (and the marking
	as well). 

	Metering: 
        The data throughput should not exceed 2*CIR1 + 2*CIR2
	+ 2*PIR2 + PIR1 for u32 which is roughly: 6mbps
        The data throughput should not exceed 2*CIR1 + 5*CIR2
	for chains which is roughly: 6mbps

	Marking: the should be a variation of marked packets:
	AF41(TOS=0x88) AF42(0x90) AF43(0x98) and BE (0x0)

TODO:
-More tests required to see the interaction of several sources (other
than subnet 10.2.0.0/24).
-More tests needed to capture stats on how many times the CIR was exceeded
but the data was not remarked etc.

Edge32-ca-u32
--------------

Generate data using modified tcpblast from 10.2.0.2 (behind eth2) to the 
discard port of 10.1.0.2 (behind eth1)

1) generate with src tos = 0x88
	Metering: Allocated throughput should not exceed 2*CIR1 + 2*CIR2
	+PIR1 -- approximately 4mbps
	Marking: Should vary between 0x88,0x90,0x98 and 0x0

2) generate with src tos = 0x90
	Metering: Allocated throughput should not exceed CIR1 + 2*CIR2
	+ 2* PIR2 approximately 3mbps
	Marking: Should vary between 0x90,0x98 and 0x0

3) generate with src tos = 0x98
	Metering: Allocated throughput should not exceed PIR1+ CIR1 + CIR2
	approximately 2.5mbps
	Marking: Should vary between 0x98 and 0x0

4) generate with src tos any other than the above
	Metering: Allocated throughput should not exceed CIR1 
	approximately 1mbps
	Marking: Should be consistent at 0x0

TODO: Testing on how each color shares when all 4 types of packets
are going through the edge device
