Getting Started =============== Running Mini-NDN ---------------- To run Mini-NDN with the default topology, ``ndn_utils/topologies/default-topology.conf``, type: :: sudo minindn A full list of options can be printed by using: :: sudo minindn --help To run Mini-NDN with a topology file, provide the filename as the first argument: :: sudo minindn my-topology.conf During set up, the list of nodes in the network will be listed as they are initialized: :: *** Adding hosts: a b c d After set up, the command-line interface (CLI) will display a prompt. :: mini-ndn> To interact with a node, first type the node's name and then the command to be executed: :: mini-ndn> a echo "Hello, world!" Hello, world! To see the status of the forwarder on the node: :: mini-ndn> a nfdc status report To see the status of routing on the node: :: mini-ndn> a nlsrc status To exit Mini-NDN, type ``quit`` in the CLI: :: mini-ndn> quit Another option to quit Mini-NDN is sending a SIGQUIT (ctrl+). SIGINT (ctrl+c) is reserved for the purpose of stopping applications initiated on the minindn command line. For a more in depth explanation of the CLI, please see the `Mininet Walkthrough `__. Command-line options -------------------- To run Mini-NDN with a replica of the NDN testbed, use the ``--testbed`` parameter: :: sudo minindn --testbed To change the working directory from default ``/tmp/minindn`` following option can be used: :: sudo minindn --work-dir /home/mydir/test Autocomplete of command-line options is available for users of Bash and Zsh. Routing options ^^^^^^^^^^^^^^^ To run minindn without NLSR, use the ``--no-nlsr`` parameter: :: sudo minindn --no-nlsr To run NLSR with hyperbolic routing enabled, use the ``--routing`` parameter: :: sudo minindn --routing hr Topology files given under ndn\_utils/topologies/minindn\* have hyperbolic coordinates configured and can be used with this option. To run NLSR in dry-run mode, use the ``--routing`` parameter: :: sudo minindn --routing dry To configure the max number of faces added by NLSR to reach each name prefix, use the ``--faces`` parameter: :: sudo minindn --faces 3 ``--faces`` can be an integer from 0 to 60; 0 indicates NLSR can add all available faces. To run Mini-NDN with NLSR security configured :: sudo minindn --nlsr-security Working Directory Structure --------------------------- Currently Mini-NDN uses /tmp/minindn as the working directory if not specified otherwise by using the option --work-dir. Each node is given a HOME directory under /tmp/minindn/node-name where node-name is the name of the node specified in the [nodes] section of the conf file. NFD ~~~ NFD conf file is stored at ``/tmp/minindn/node-name/node-name.conf`` NFD log file is stored at ``/tmp/minindn/node-name/node-name.log`` ``.ndn`` folder is stored at ``/tmp/minindn/node-name/.ndn`` NLSR ~~~~ NLSR conf file is stored at ``/tmp/minindn/node-name/nlsr.conf`` NLSR log file is stored at ``/tmp/minindn/node-name/log/nlsr.log`` When security is enabled, NLSR security certificates are stored in: ``/tmp/minindn/node-name/security`` Note that no NLSR publishes the root certificate, Mini-NDN installs root.cert in security folder for each NLSR.