Project

General

Profile

Task #1391

Updated by Junxiao Shi about 10 years ago

Topology: A-B. All are NDN nodes. 

 Script is invoked on host A. Script should control other hosts over ssh.   
 Arguments: whether to test UDP multicast or Ethernet multicast. 

 Steps: 

 1.    On host B, start NFD. 
 2.    On host B, start ndn-traffic-server to serve `ndn:/localhost/test-in`. 
 3.    On host A, start [socat](http://linux.die.net/man/1/socat) to create a relay from a listening UNIX socket to TCP hostB:6363. 
     Write the path of this UNIX socket to `$HOME/.ndn/client.conf`. 
 4.    On host A, invoke ndn-tlv-peek to request `ndn:/localhost/test-in/A`. 
     Fail if Interest is answered. 
 5.    On host B, stop ndn-traffic-server. 
     Fail if total served Interest does not equal 0. 
 6.    On host A, kill socat and restore `$HOME/.ndn/client.conf`. 
 7.    On host A, start [netcat](http://linux.die.net/man/1/nc) to listen on TCP port 6363. 
     Redirect netcat output into a file. 
 8.    On host B, invoke nfdc to create face tcp://hostA:6363. 
     Fail if nfdc fails. 
 9.    On host B, invoke nfdc to add nexthop for `ndn:/` toward face created in step 8. 
     Fail if nfdc fails. 
 10. On host B, invoke nfdc to add nexthop for `ndn:/localhost/test-out` toward face created in step 8. 
     Do not fail if nfdc fails (forwarder MAY reject prefix registration that violates scope control). 
 11. On host B, invoke ndn-tlv-peek to request `ndn:/localhost/test-out/B/c39b6fed4ce4464ea136062f80002c7c`. 
     Fail if Interest is answered. 
 12. On host B, invoke ndn-tlv-peek to request `ndn:/localhost/test-out/C/c39b6fed4ce4464ea136062f80002c7c`. 
     Fail if Interest is answered. 
 13. On host B, invoke ndn-tlv-peek to request `ndn:/ref-out/D/3b5fe3f184ff48adb3523180dee50555`. 
 14. On host A, stop netcat.   
     
     Search netcat output for string "c39b6fed4ce4464ea136062f80002c7c". Fail if this string exists.   
     Search netcat output for string "3b5fe3f184ff48adb3523180dee50555". Fail if this string is missing (this ensures netcat setup is correct). 

 Script can assume integrated test suite is cloned to all hosts, necessary programs are installed and accessible in $PATH, and current user can ssh to other hosts and has sudo privilege.

Back