Feature #3218
Updated by Junxiao Shi over 9 years ago
In [[IntegrationTests]], develop a scenario for **automatic prefix propagation**.
The old remote prefix registration scenario should be removed at the same time.
## Topology
A---B
IPv4 UDP tunnel is used.
## Steps
1. generate certificates:
* ndn:/Z/A self-signed
* ndn:/Z/A/nrd signed by ndn:/Z/A
* ndn:/Z/A/B/C signed by ndn:/Z/A
* ndn:/Z/F self-signed
2. configure NFD on A:
* enable automatic prefix propagation
* set automatic prefix propagation refresh time to 15 seconds
* put all certificates generated in step 1 except ndn:/Z/A into NFD's KeyChain
3. configure NFD on B:
* set UDP face timeout to 35 seconds
* enable acceptance of prefix registration using `ndn:/localhop/nfd/rib` command prefix
* make ndn:/Z/A and ndn:/Z/D trust anchors for prefix registration using `ndn:/localhop/nfd/rib` command prefix
* set multicast strategy for ndn:/
4. start NFD on A,B
5. start `repo-ng` on A to listen on `ndn:/` prefix, and put all certificates generated in step 1 into this repo via TCP bulk insert protocol
6. start `nfd-autoreg --prefix=/Z` on B
7. execute nfdc on A to create a face toward B over UDP
8. start ndnpingserver for ndn:/Z/A/G on A, defer 5 seconds
9. inspect RIB on B, fail the test case if route for ndn:/Z/A toward A exists
10. execute nfdc on A to register a route for ndn:/localhop/nfd on the face created in step 7
11. defer 5 seconds
12. inspect RIB on B, fail the test case if route for ndn:/Z/A/G toward A exists, fail the test case if route for ndn:/Z/A toward A does not exist
13. start ndnpingserver for ndn:/Z/A/H on A, defer 5 seconds
14. inspect RIB on B, fail the test case if route for ndn:/Z/A/H toward A exists, fail the test case if route for ndn:/Z/A toward A does not exist
15. stop ndnpingserver from step 8, defer 5 seconds
16. inspect RIB on B, fail the test case if route for ndn:/Z/A toward A does not exist
17. stop ndnpingserver from step 13, defer 5 seconds
18. inspect RIB on B, fail the test case if route for ndn:/Z/A toward A exists
19. start ndnpingserver for ndn:/Z/A/B/C/D on A, defer 5 seconds
20. inspect RIB on B, fail the test case if route for ndn:/Z/A/B/C toward A exists, fail the test case if route for ndn:/Z/A toward A does not exist
21. defer 80 seconds
22. inspect RIB on B, fail the test case if route for ndn:/Z/A toward A does not exist
23. start ndnpingserver for ndn:/Z/F/I on A, defer 5 seconds
24. inspect RIB on B, fail the test case if route for ndn:/Z/F toward A exists