tree: 940e1e4901275abfd6e9badb07b22d65f3cd1dd4 [path history] [tgz]
  1. __init__.py
  2. include.sh
  3. nfdc-test.sh
  4. README.md
  5. test-B.sh
  6. test_nfdc.py
test_nfdc/README.md

Test Case - nfdc

Topology

A-B connected on same IPv4 subnet and same IPv6 subnet. Both are NDN nodes.

Script is invoked on host A. multi-host.conf defines: CTRL_B, IP4_A1, IP6_A1, IP4_B1, IP6_B1

Description

The script tests the following nfdc commands:

  • nfdc face create
  • nfdc face destroy
  • nfdc face list
  • nfdc face show
  • nfdc fib list
  • nfdc route add
  • nfdc route list
  • nfdc route remove
  • nfdc route show
  • nfdc strategy set
  • nfdc strategy show
  • nfdc strategy unset

In case of a failure, the detailed log can be found under: A: test_nfdc/log/nfdc_test_A.log B: test_nfdc/log/nfdc_test_B.log

Steps

Start NFD on hosts A and B. On host A, do the following:

  1. Execute nfdc face list to check for the existence of udp4/udp6/ether multicast faces.
  2. Execute nfdc face create tcp4://$IP4_B1. Pause 2 seconds to allow for connection establishment.
  3. Execute nfdc face list to check for the existence of the new tcp4 face.
  4. Execute nfdc face create tcp6://[$IP6_B1]. Pause 2 seconds to allow for connection establishment.
  5. Execute nfdc face show id [faceId from step 4] to check for the existence of the new tcp6 face.
  6. Execute nfdc face create udp4://$IP4_B1. Pause 2 seconds to allow for connection establishment.
  7. Execute nfdc face list remote udp4://$IP4_B1 to check for the existence of the new udp4 face.
  8. Execute nfdc face create udp6://[$IP6_B1]. Pause 2 seconds to allow for connection establishment.
  9. Execute nfdc face list to check for the existence of the new udp6 face.
  10. Execute nfdc route add /test-nfdc nexthop tcp4://$IP4_B1 cost 24
  11. Execute nfdc route add /test-nfdc nexthop tcp6://[$IP6_B1] cost 26
  12. Execute nfdc route add /test-nfdc nexthop udp4://$IP4_B1 cost 14
  13. Execute nfdc route add /test-nfdc nexthop udp6://[$IP6_B1] cost 16
  14. Execute nfdc route list and nfdc route show to check for the existence of the four created routes.
  15. Execute nfdc fib list to check for the existence of the /test-nfdc FIB entry with the correct nexthops and costs
  16. Execute nfdc strategy set /test-nfdc /localhost/nfd/strategy/multicast to use MulticastStrategy for prefix /test-nfdc.
  17. Execute nfdc strategy show /test-nfdc to verify the strategy set in step 16.
  18. Use ndnping to send 100 Interests to the /test-nfdc prefix, with a 50ms interval between sending each Interest.
  19. Execute nfdc face list to verify that NOutInterests for faces created in steps 2, 4, 6, and 8 are greater than 100.
  20. On host B, execute nfdc face list to verify that tcp4, tcp6, udp4, and udp6 faces exist for host A's address. Verify that NInInterests for those faces is greater than 100.
  21. Execute nfdc face destroy to destroy faces tcp4://$IP_B1 and tcp6://[$IP6_B1] and use nfdc face list to verify that removed faces no longer exist.
  22. Execute nfdc strategy unset /test-nfdc to unset the MulticastStrategy set in step 16.
  23. Execute nfdc strategy show /test-nfdc to ensure that / no longer uses MulticastStrategy.
  24. Execute nfdc route remove /test-nfdc nexthop udp4://$IP4_B1.
  25. Execute nfdc route list to ensure route has been removed.
  26. Execute nfdc fib list to ensure that the nexthop has been updated to use the new best route.
  27. Execute nfdc route remove /test-nfdc nexthop udp6://[$IP6_B1].
  28. Execute nfdc fib list to ensure that nexthop has been removed, since the last route to prefix /test-nfdc has been removed.