blob: b8348ed57d1500f76caf0e559178641391e37d52 [file] [log] [blame] [view]
ashu8bf379e2015-05-04 09:54:06 -05001Mini-NDN Installing Instructions
2================================
3
dmcoomesa0136862017-10-12 11:42:45 -05004### What equipment will I need?
ashu8bf379e2015-05-04 09:54:06 -05005
6Basically, you'll need a laptop/desktop with a recent Linux distro (Ubuntu, Fedora).
7We recommend Ubuntu. For this guide, the _Ubuntu 14.04 LTS_ was used.
8Also, note that you'll need administrative privileges in order to download and install
9extra packages and also to execute **Mini-NDN**.
10
Ashlesh Gawande95789cc2017-02-27 12:38:04 -060011### Installing **Mini-NDN**
12
13If you have all the dependencies (see sections below) installed simply clone this repository and run:
14
15 sudo ./install.sh -i
16
17else if you don't have the dependencies, the following command will install them along with Mini-NDN:
18
Saurab Dulal5d9ba602017-11-29 21:31:13 +000019 sudo ./install.sh -emrfti
Ashlesh Gawande95789cc2017-02-27 12:38:04 -060020
dmcoomesa0136862017-10-12 11:42:45 -050021else if you want to install the dependencies manually, follow the instructions below:
22
ashu8bf379e2015-05-04 09:54:06 -050023### Installing NDN
24
ashu2ad32e22015-05-29 13:37:40 -050025Each node in **Mini-NDN** will run the official implementation of NDN. The following dependencies are needed:
ashu8bf379e2015-05-04 09:54:06 -050026
Ashlesh Gawande95789cc2017-02-27 12:38:04 -060027Mini-NDN uses NFD, NLSR, and ndn-tools.
ashu8bf379e2015-05-04 09:54:06 -050028
29To install NFD:
30http://named-data.net/doc/NFD/current/INSTALL.html
31
32To install NLSR:
33http://named-data.net/doc/NLSR/current/INSTALL.html
34
ashu2ad32e22015-05-29 13:37:40 -050035To install ndn-tools:
36https://github.com/named-data/ndn-tools
ashu8bf379e2015-05-04 09:54:06 -050037
ashu2ad32e22015-05-29 13:37:40 -050038### Installing Mininet
ashu8bf379e2015-05-04 09:54:06 -050039
ashu2ad32e22015-05-29 13:37:40 -050040**Mini-NDN** is based on Mininet. To install Mininet:
dmcoomesa0136862017-10-12 11:42:45 -050041
42First, clone Mininet from github:
43
44 git clone --depth 1 https://github.com/mininet/mininet.git
45
46After Mininet source is on your system, run the following command to install
47Mininet core dependencies and Open vSwitch:
48
49 ./util/install.sh -nv
50
51To check if Mininet is working correctly, run this test:
52
53 sudo mn --test pingall
54
55This will print out a series of statements that show the test setup and the results of the test. Look
56for `Results:` two-thirds of the way down where it will indicate the percentage of dropped packets.
57Your results should show "0% dropped (2/2 received)".
ashu8bf379e2015-05-04 09:54:06 -050058
Saurab Dulal5d9ba602017-11-29 21:31:13 +000059### Installing Infoedit
60
61Infoedit is used to edit configuration files such as NFD configuration file.
62
63To install infoedit:
64https://github.com/NDN-Routing/infoedit
65
ashu8bf379e2015-05-04 09:54:06 -050066### Verification
67
Yucheng Zhang008387d2016-03-15 17:03:41 -050068You can use these steps to verify your installation:
ashu8bf379e2015-05-04 09:54:06 -050069
Yucheng Zhang008387d2016-03-15 17:03:41 -0500701. Issue the command: `sudo minindn --experiment=pingall --nPings=50`
Ashlesh Gawande95789cc2017-02-27 12:38:04 -0600712. When the `mini-ndn>` CLI prompt appears, the experiment has finished. On the Mini-NDN CLI, issue the command `exit` to exit the experiment.
dmcoomes80eeea12017-10-27 12:49:10 -0500723. Issue the command: `grep -c content /tmp/minindn/*/ping-data/*.txt`. Each file should report a count of 50.
734. Issue the command: `grep -c timeout /tmp/minindn/*/ping-data/*.txt`. Each file should report a count of 0.