update INSTALL.md, use mini-ndn name in CLI
refs: #3969, #3980
Change-Id: Idd84d70b5edfa8fb06cf5158ccca452764d77eb7
diff --git a/INSTALL.md b/INSTALL.md
index 0340113..2f3c94a 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -8,11 +8,21 @@
Also, note that you'll need administrative privileges in order to download and install
extra packages and also to execute **Mini-NDN**.
+### Installing **Mini-NDN**
+
+If you have all the dependencies (see sections below) installed simply clone this repository and run:
+
+ sudo ./install.sh -i
+
+else if you don't have the dependencies, the following command will install them along with Mini-NDN:
+
+ sudo ./install.sh -mrfti
+
### Installing NDN
Each node in **Mini-NDN** will run the official implementation of NDN. The following dependencies are needed:
-Mini-NDN uses NFD, NLSR, and ndn-tlv-ping.
+Mini-NDN uses NFD, NLSR, and ndn-tools.
To install NFD:
http://named-data.net/doc/NFD/current/INSTALL.html
@@ -26,23 +36,13 @@
### Installing Mininet
**Mini-NDN** is based on Mininet. To install Mininet:
-https://github.com/mininet/mininet/INSTALL
-
-### Installing **Mini-NDN**
-
-If you have all the dependencies installed simply clone this repository and run:
-
- sudo ./install.sh -i
-
-else if you don't have the dependencies:
-
- sudo ./install.sh -mrfti
+https://github.com/mininet/mininet/blob/master/INSTALL
### Verification
You can use these steps to verify your installation:
1. Issue the command: `sudo minindn --experiment=pingall --nPings=50`
-2. When the `mininet>` CLI prompt appears, the experiment has finished. On the Mini-NDN CLI, issue the command `exit` to exit the experiment.
+2. When the `mini-ndn>` CLI prompt appears, the experiment has finished. On the Mini-NDN CLI, issue the command `exit` to exit the experiment.
3. Issue the command: `grep -c content /tmp/*/ping-data/*.txt`. Each file should report a count of 50.
4. Issue the command: `grep -c timeout /tmp/*/ping-data/*.txt`. Each file should report a count of 0.
diff --git a/bin/minindn b/bin/minindn
index 950dc05..13ee300 100755
--- a/bin/minindn
+++ b/bin/minindn
@@ -61,7 +61,6 @@
from mininet.topo import Topo
from mininet.net import Mininet
from mininet.log import setLogLevel, output, info
-from mininet.cli import CLI
from mininet.link import TCLink
from mininet.util import ipStr, ipParse
@@ -73,7 +72,7 @@
from ndn.conf_parser import parse_hosts, parse_switches, parse_links
from ndn.remote_ndn_link import RemoteNdnLink, RemoteGRENdnLink
from ndn.placer import GuidedPlacer, PopulatePlacement
-from ndn.util import ssh, scp
+from ndn.util import ssh, scp, MiniNDNCLI
import os.path, time
import shutil
@@ -446,7 +445,7 @@
return
if options.isCliEnabled is True:
- CLI(net)
+ MiniNDNCLI(net)
net.stop()
diff --git a/docs/CONNECT-TO-OUTSIDE.md b/docs/CONNECT-TO-OUTSIDE.md
index 438e4db..eb3f5b6 100644
--- a/docs/CONNECT-TO-OUTSIDE.md
+++ b/docs/CONNECT-TO-OUTSIDE.md
@@ -54,18 +54,18 @@
After rebooting, run Mini-NDN and issue the following command:
- mininet>net
+ mini-ndn>net
a a-eth0:b-eth0 a-eth1:c-eth0 a-eth2:root-eth0
Node "a" is connected to "root-eth0". Now issue "ifconfig a-eth2" on node "a":
- mininet>a ifconfig a-eth2
+ mini-ndn>a ifconfig a-eth2
a-eth2 Link encap:Ethernet HWaddr fa:76:d4:86:d3:ba
inet addr:1.0.0.10 Bcast:1.0.0.11 Mask:255.255.255.252
As learned from the previous step, the IP address of root-eth0 is 1.0.0.9.
- mininet>a ping 1.0.0.9
+ mini-ndn>a ping 1.0.0.9
PING 1.0.0.9 (1.0.0.9) 56(84) bytes of data.
64 bytes from 1.0.0.9: icmp_seq=1 ttl=64 time=0.137 ms
64 bytes from 1.0.0.9: icmp_seq=2 ttl=64 time=0.123 ms
diff --git a/docs/GETTING-STARTED.md b/docs/GETTING-STARTED.md
index ccc6f18..205d2eb 100644
--- a/docs/GETTING-STARTED.md
+++ b/docs/GETTING-STARTED.md
@@ -25,24 +25,24 @@
After set up, the command-line interface (CLI) will display a prompt.
- mininet>
+ mini-ndn>
To interact with a node, first type the node's name and then the command to be executed:
- mininet> a echo "Hello, world!"
+ mini-ndn> a echo "Hello, world!"
Hello, world!
To see the status of the forwarder on the node:
- mininet> a nfdc status report
+ mini-ndn> a nfdc status report
To see the status of routing on the node:
- mininet> a nlsrc status
+ mini-ndn> a nlsrc status
To exit Mini-NDN, type `quit` in the CLI:
- mininet> quit
+ mini-ndn> quit
For a more in depth explanation of the CLI, please see the
[Mininet Walkthrough](http://mininet.org/walkthrough/).
diff --git a/install.sh b/install.sh
index e132e62..b7d6daa 100755
--- a/install.sh
+++ b/install.sh
@@ -136,12 +136,11 @@
fi
if [[ $DIST == Ubuntu || $DIST == Debian ]]; then
- $install git libsqlite3-dev libboost-all-dev make g++
- crypto
+ $install git libsqlite3-dev libboost-all-dev make g++ libssl-dev libcrypto++-dev
fi
if [[ $DIST == Fedora ]]; then
- $install gcc-c++ sqlite-devel boost-devel
+ $install gcc-c++ sqlite-devel boost-devel openssl-devel cryptopp-devel
fi
git clone --depth 1 https://github.com/named-data/ndn-cxx
@@ -153,21 +152,6 @@
cd ../
}
-function crypto {
- mkdir crypto
- cd crypto
- $install unzip
- wget http://www.cryptopp.com/cryptopp562.zip
- unzip cryptopp562.zip
-
- # Uncomments flags to build shared object
- sed -i '/^# CXXFLAGS += -fPIC/s/^# //' GNUmakefile
-
- make static dynamic
- sudo make install
- cd ../
-}
-
function tools {
if [[ $cxx != true ]]; then
ndncxx
@@ -218,7 +202,7 @@
sudo cp ndn_utils/topologies/minindn.caida.conf "$install_dir"
sudo cp ndn_utils/topologies/minindn.ucla.conf "$install_dir"
sudo cp ndn_utils/topologies/minindn.testbed.conf "$install_dir"
- sudo python setup.py install
+ sudo python setup.py clean --all install
}
diff --git a/ndn/util.py b/ndn/util.py
index 19a5356..7ccf5d0 100644
--- a/ndn/util.py
+++ b/ndn/util.py
@@ -22,6 +22,8 @@
# If not, see <http://www.gnu.org/licenses/>.
from subprocess import call
+from mininet.cli import CLI
+import sys
sshbase = [ 'ssh', '-q', '-t', '-i/home/mininet/.ssh/id_rsa' ]
scpbase = [ 'scp', '-i', '/home/mininet/.ssh/id_rsa' ]
@@ -37,3 +39,8 @@
tmp.append(arg)
rcmd = scpbase + tmp
call(rcmd, stdout=devnull, stderr=devnull)
+
+class MiniNDNCLI(CLI):
+ prompt = 'mini-ndn> '
+ def __init__(self, mininet, stdin=sys.stdin, script=None):
+ CLI.__init__(self, mininet, stdin=sys.stdin, script=None)