tree: 8b8566672833680fdf633dff30ee45ceaf6b87e8 [path history] [tgz]
  1. congestionmark-test.sh
  2. README.md
  3. test_congestionmark.py
test_congestionmark/README.md

Test CongestionMark tag and LP field

Topology

C--A--D

Steps

Setup

  1. Start NFD on A, C, and D.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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

  1. Start a consumer on C that sends an Interest for /arizona/cs.
  2. A will add a congestion mark (value=7) to the traversing Interest to indicate congestion.
  3. D will propagate the congestion mark on the outgoing Interest, if it exists.
  4. 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

  1. Start a consumer on C that sends an Interest for /ucla/cs.
  2. 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

  1. 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.
  2. 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.
  3. Start a consumer on C that sends an Interest for /arizona/cs.
  4. C will add a congestion mark (value=2) to the traversing Interest to indicate congestion.
  5. A will override the congestion mark (setting value=3) on the traversing Interest.
  6. 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.