Project

General

Profile

Feature #4327

Updated by Eric Newberry almost 7 years ago

Implement the congestion mark integration test case proposed by Klaus in #3797 note 57. The below is modified and extended from his note. 

 Topology: 

     C -- A -- D 

 Setup: 

 1. Start NFD on nodes A, C, and D. 
 2. Node D runs the producer for the prefixes `/arizona/cs`,    `/ucla/cs`, and `/ucsd/caida`. The producer app will copy any congestion marks from a received Interest back to the corresponding Data packet. 
 3. The routes for all prefixes are configured as follows: C->A, A->D. 

 TestCase1: 

 1. Node C (the consumer) sends an Interest for `/arizona/cs`. 
 2. Node A, on prefix `/arizona/cs` uses the `CongestionMarkStrategy`, and adds a congestion mark (value=7) to the traversing Interest. 
 3. Node D will propagate the congestion mark on the outgoing Interest. Node D will also add the mark to the returning Data packet. 
 4. Check if the consumer app on C receives a Data packet satisfying its Interest, which contains the congestion mark of value=7. Fail if there is a timeout, or missing congestion mark. 

 TestCase2: 

 1. Node C sends an Interest for `/ucla/cs`. 
 2. Check that C receives a Data packet which does not contain a congestion mark. Fail if there is a timeout or received congestion mark. 

 TestCase3: 

 1. Node C (the app) sends an Interest for `/ucsd/caida`. `/arizona/cs`. 
 2. Node C, for prefix `/ucsd/caida` uses the `CongestionMarkStrategy` to add a congestion mark (value=2) to    the traversing Interests. 
 3. Node A, for prefix `/ucsd/caida` uses the `CongestionMarkStrategy` to **update** the congestion mark (to value=3), overriding the existing mark. 
 4. Check that the consumer on node C receive a Data satisfying its Interest with a congestion mark of value=3. Fail on a timeout or congestion mark of different value. 

 This test case could be extended to check whether congestion marks can be added to Data packets (from inside the forwarding strategy). However, this is not currently supported (see #4290).

Back