test_congestionmark/README.md
Test CongestionMark tag and LP field
Topology
C--A--D
Steps
Setup
- Start NFD on A, C, and D.
- Set route for /arizona/cs toward A on C and toward D on A. Set route for /ucla/cs toward A on C and toward D on A. Set route for /ucsd/caida toward A on C and toward D on A.
- On A, set the strategy for the /arizona/cs namespace to the CongestionMarkStrategy to introduce a congestion mark (value=1) to traversing Interests under this namespace, overriding any previously-set congestion marks.
- D starts a producer for /arizona/cs. This producer will copy any congestion marks on a received Interest to any Data packets produced as a result.
- D starts a producer for /ucla/cs. This producer will copy any congestion marks on a received Interest to any Data packets produced as a result.
- D starts a producer for /ucsd/caida. This producer will copy any congestion marks on a received Interest to any Data packets produced as a result.
Test Case 1
- Start a consumer on C that sends an Interest for /arizona/cs.
- A will add a congestion mark (value=7) to the traversing Interest to indicate congestion.
- D will propagate the congestion mark on the outgoing Interest, if it exists.
- If the consumer on C did not receive a Data satisfying its Interest within the timeout or that did not contain a congestion mark (with value=7), fail the test.
Test Case 2
- Start a consumer on C that sends an Interest for /ucla/cs.
- If the consumer on C did not receive a Data without a congestion mark satisfying its Interest within the timeout, fail the test.
Test Case 3
- On C, set the strategy for the /ucsd/caida namespace to the CongestionMarkStrategy to introduce a congestion mark (value=2) to traversing Interests under this namespace, overriding any previously-set congestion marks.
- On A, set the strategy for the /ucsd/caida namespace to the CongestionMarkStrategy to introduce a congestion mark (value=3) to traversing Interests under this namespace, overriding any previously-set congestion marks.
- Start a consumer on C that sends an Interest for /arizona/cs.
- C will add a congestion mark (value=2) to the traversing Interest to indicate congestion.
- A will override the congestion mark (setting value=3) on the traversing Interest.
- If the consumer on C did not receive a Data satisfying its Interest within the timeout or that did not contain a congestion mark (with value=3), fail the test.