tree: 5d9984f0d8d71734042ddc66dc5890454b8bffb0 [path history] [tgz]
  1. nack-test.sh
  2. README.md
  3. test_nack.py
test_nack/README.md

Test Nack scenario

Topology

B
|
A--D
|
C

Steps

  1. Start NFD on A, B, C, and D
  2. Configure NFD on A, C, and D to use best-route strategy
  3. Configure NFD on B to use best-route v1 strategy, which will not transmit or process Nacks
  4. On A, create a route for prefix /P toward B and C: set the cost toward B to be 10. set the cost toward C to be 20.
  5. On D, create a face to A and a route for prefix /P toward A.
  6. On D, express an Interest for /P/1 with InterestLifetime=4000ms and no consumer retransmission; wait 8000ms since expressing Interest, fail the scenario if Nack comes back;
  7. On D, express an Interest for /P/2 with InterestLifetime=4000ms, and retransmit with a new Nonce after 200ms; wait 8000ms since expressing first Interest, fail the scenario if Nack comes back; reason: A shouldn't return a Nack when some upstream times out, even if some other upstream returns Nack;
  8. Configure NFD on B to use best-route strategy
  9. On B and C, configure unidirectional link delay toward A as 500ms
  10. On D, express an Interest for /P/3 with InterestLifetime=4000ms, and retransmit with nonce2 after 200ms; wait 3000ms since expressing first Interest, expect exactly one Nack comes back where Reason is NoRoute and Nonce equals nonce2, otherwise fail the scenario; reason: A should return a Nack after both upstreams have returned Nack. Use ndndump on D to record traffic for analysis
  11. On B, configure unidirectional link delay toward A as 1000ms
  12. On D, express an Interest for /P/4 with InterestLifetime=4000ms, and retransmit with nonce2 after 200ms; wait 3000ms since expressing first Interest, expect exactly one Nack comes back where Reason is NoRoute and Nonce equals nonce2, otherwise fail the scenario; reason: the Nack should carry the latest incoming Nonce from downstream, not the Nonce from last incoming Nack. Use ndndump on D to record traffic for analysis