[Mini-NDN] NLSR has not converged - Issue while running minindn

Ashlesh Gawande (agawande) agawande at memphis.edu
Fri Jun 17 09:57:41 PDT 2016


I am not sure why ndnpingserver won't work from setup.


Were the ndnpingservers running while the experiment ran or did they quit (ps aux | grep ndnpingserver) when you start them from setup?


Maybe in setup try:

           print(host.cmd("ndnpingserver /ndn/edu/" + str(host) + " > ping-server &"))


Ashlesh

________________________________
From: Rajendran Jeeva <rajendrj at tcd.ie>
Sent: Thursday, June 16, 2016 11:44:56 AM
To: Ashlesh Gawande (agawande)
Cc: mini-ndn at lists.cs.ucla.edu
Subject: Re: [Mini-NDN] NLSR has not converged - Issue while running minindn

Hi Ashlesh,

Thanks for the response.

I tried the following (sorry for the long mail)

#1 - Manual try

When I tried invoking 'ndnpingserver' followed by 'ndnping' manually for a host as follows, ndnping received the contents and meanwhile ndnpingserver file showed the interests that are received

//

mininet> a ndnpingserver /ndn/edu/a > ndnpingserver &

mininet> b ndnping -c 5 /ndn/edu/a

//

Above commands worked for all the hosts

#2. - from minindn script - They seem to be not working while running from minindn script

I replicated the above manual scenario in the code in experiment.py file , by replacing this line 'host.cmd("ndnpingserver /ndn/edu/" + str(host) + " > ping-server &")' from setup module to ping module as follows:

// ndn/experiments/experiment.py

def setup(self):

........

#host.cmd("ndnpingserver /ndn/edu/" + str(host) + " > ping-server &")

.......

 def ping(self, source, dest, nPings):

.......

dest.cmd("ndnpingserver /ndn/edu/" + str(dest) + " > ping-server &")
source.cmd("ndnping -t -c "+ str(nPings) + " /ndn/edu/" + dest.name<http://dest.name> + " >> ping-data/" + dest.name<http://dest.name> + ".txt &")

//

as quoted in the code above I tried running ndnpingserver just before calling ndnping client , reinstalled mini-ndn , executed pingall experiment and the ping got content for the interests


But, executing ndnpingserver from setup module is not keeping ndnpingserver listening (no change in ping-server file-no interests received expect for the prefix entry)

// ndn/experiments/experiment.py

def setup(self):

........

host.cmd("ndnpingserver /ndn/edu/" + str(host) + " > ping-server &")

.......

 def ping(self, source, dest, nPings):

.......

#dest.cmd("ndnpingserver /ndn/edu/" + str(dest) + " > ping-server &")
source.cmd("ndnping -t -c "+ str(nPings) + " /ndn/edu/" + dest.name<http://dest.name> + " >> ping-data/" + dest.name<http://dest.name> + ".txt &")

//

when I tried with logging statements for both the scenarios, 'statusRouter' printed our an error message for the last one (scenario where ndnpingserver started from setup module and no content received). The error message is shown below:


statusRouter
ERROR: Key does not exist:/tmp-identity/%16%1B%CA8/ksk-1466093584396
  /ndn/edu/%C1.Router/cs/d nexthops={faceid=261 (cost=30)}
  /ndn/edu/%C1.Router/cs/b nexthops={faceid=261 (cost=20)}
  /ndn/edu/%C1.Router/cs/c nexthops={faceid=258 (cost=0)}
  /ndn/edu/%C1.Router/cs/a nexthops={faceid=261 (cost=10)}

For the other case there is no error for statusRouter.

Please advise

Thank you!

~Jeeva


On 15 June 2016 at 18:17, Ashlesh Gawande (agawande) <agawande at memphis.edu<mailto:agawande at memphis.edu>> wrote:

So in Mini-NDN did you follow these steps to check whether ndnping works:


mininet> a ndnpingserver /ndn/edu/a > ndnpingserver &

mininet> b ndnping -c5 /ndn/edu/a


If this does not work can you check if ndnpingserver output anything to /tmp/a/ndnpingserver or whether it is running (ps aux | grep ndndpingserver).

If it is running can you try:

mininet> a ndnping -c5 /ndn/edua


I am not sure about the NFD error, are you running NFD while you are running Mini-NDN?


Ashlesh

________________________________
From: Rajendran Jeeva <rajendrj at tcd.ie<mailto:rajendrj at tcd.ie>>
Sent: Wednesday, June 15, 2016 11:48:36 AM

To: Ashlesh Gawande (agawande)
Cc: mini-ndn at lists.cs.ucla.edu<mailto:mini-ndn at lists.cs.ucla.edu>
Subject: Re: [Mini-NDN] NLSR has not converged - Issue while running minindn

I tried running 'NFD' in one terminal (using sudo nfd-start) and meanwhile checked for the nfd-status in another terminal(using sudo nfd-status), and I saw the following messages in the terminal where NFD was running:

1466016269.157386 INFO: [UnixStreamTransport] [id=0,local=unix:///run/nfd.sock,remote=fd://28] Creating transport
1466016269.157470 INFO: [FaceTable] Added face id=261 remote=fd://28 local=unix:///run/nfd.sock
1466016269.202716 INFO: [Transport] [id=261,local=unix:///run/nfd.sock,remote=fd://28] setState UP -> FAILED
1466016269.202831 INFO: [Transport] [id=261,local=unix:///run/nfd.sock,remote=fd://28] setState FAILED -> CLOSED
1466016269.207058 INFO: [FaceTable] Removed face id=261 remote=fd://28 local=unix:///run/nfd.sock


Jeeva

On 15 June 2016 at 17:41, Rajendran Jeeva <rajendrj at tcd.ie<mailto:rajendrj at tcd.ie>> wrote:
Thanks Ashlesh!

When I tried pingAll experiment today all the pings were getting timed out (no content entries in the text file; only timeout entries)

rajendrj at Jeeva:~$ grep -c content /tmp/*/ping-data/*.txt
/tmp/a/ping-data/b.txt:0
/tmp/a/ping-data/c.txt:0
/tmp/a/ping-data/d.txt:0
/tmp/b/ping-data/a.txt:0
/tmp/b/ping-data/c.txt:0
/tmp/b/ping-data/d.txt:0
/tmp/c/ping-data/a.txt:0
/tmp/c/ping-data/b.txt:0
/tmp/c/ping-data/d.txt:0
/tmp/d/ping-data/a.txt:0
/tmp/d/ping-data/b.txt:0
/tmp/d/ping-data/c.txt:0
rajendrj at Jeeva:~$ grep -c timeout /tmp/*/ping-data/*.txt
/tmp/a/ping-data/b.txt:10
/tmp/a/ping-data/c.txt:10
/tmp/a/ping-data/d.txt:10
/tmp/b/ping-data/a.txt:10
/tmp/b/ping-data/c.txt:10
/tmp/b/ping-data/d.txt:10
/tmp/c/ping-data/a.txt:10
/tmp/c/ping-data/b.txt:10
/tmp/c/ping-data/d.txt:10
/tmp/d/ping-data/a.txt:10
/tmp/d/ping-data/b.txt:10
/tmp/d/ping-data/c.txt:10

I was running the command from only one terminal (no other terminals are open). NFD and NLSR status are getting displayed for all the nodes

I also tried manually 'ndnping' from the node 'a' to the prefix '/ndn/edu/b' , but it got timed out as well

Is there a way to track the reason behind these timeouts ?

Please advise

thanks,
Jeeva


On 14 June 2016 at 21:08, Ashlesh Gawande (agawande) <agawande at memphis.edu<mailto:agawande at memphis.edu>> wrote:

It is not expected, I think you have timeouts in those, search:

grep -c timeout /tmp/*/ping-data/*.txt


ndnping is timing out for some reason - either NFD went down during the experiment in another terminal

(you can keep checking ps aux | grep "sudo nfd") or ndnpingserver went down on any of the node.


Ashlesh

________________________________
From: Rajendran Jeeva <rajendrj at tcd.ie<mailto:rajendrj at tcd.ie>>
Sent: Tuesday, June 14, 2016 2:48:39 PM

To: Ashlesh Gawande (agawande)
Cc: mini-ndn at lists.cs.ucla.edu<mailto:mini-ndn at lists.cs.ucla.edu>
Subject: Re: [Mini-NDN] NLSR has not converged - Issue while running minindn

Hi Ashlesh,

Thank you for sorting out the problem.

I am using Ubuntu 14.04 LTS.

Yeah. 'nfd-status' was not working even outside the mini-ndn folder  (seems like nfd-start and stop were working, I even got 'NFD already running' message when i triggered nfd-start multiple times)

When i tried checking out the above patch in NFD folder there was 'fatal: reference not in tree' issue. So, i removed '--depth 1' part from git clone of NFD in install.sh of mini-ndn and reinstalled it

I checked out the above patch as well and ran waf configuration and installation

Then i executed both 'nfd-status' and pingall experiment and both got executed successfully with the convergence time of 120 instead of 60. Thank you so much for the help.

I just have one more query. When I executed the command 'sudo minindn --experiment=pingall --ctime 120 --nPings=50' and checked ping-data , it showed count for only few files . Is this expected ?

rajendrj at Jeeva:~$ grep -c content /tmp/*/ping-data/*.txt
/tmp/a/ping-data/b.txt:243
/tmp/a/ping-data/c.txt:0
/tmp/a/ping-data/d.txt:0
/tmp/b/ping-data/a.txt:0
/tmp/b/ping-data/c.txt:0
/tmp/b/ping-data/d.txt:0
/tmp/c/ping-data/a.txt:0
/tmp/c/ping-data/b.txt:242
/tmp/c/ping-data/d.txt:0
/tmp/d/ping-data/a.txt:0
/tmp/d/ping-data/b.txt:241
/tmp/d/ping-data/c.txt:0

Please advise.

Thanks,
~Jeeva



On 14 June 2016 at 19:42, Ashlesh Gawande (agawande) <agawande at memphis.edu<mailto:agawande at memphis.edu>> wrote:

Hi


Some new information may have come to light, if nfd-status is not working outside Mini-NDN can you try the following patch:

https://github.com/named-data/NFD/commit/ace83ac9384da037a36695888e829d7337ce36b0


To do so go to your NFD folder and do

git checkout ace83ac9384da037a36695888e829d7337ce36b0

./waf distclean

./waf configure --without-websocket

./waf

sudo ./waf install


Then try to run Mini-NDN experiment again.


And is your OS, Ubuntu 14.04?


Thanks

Ashlesh


________________________________
From: Mini-NDN <mini-ndn-bounces at lists.cs.ucla.edu<mailto:mini-ndn-bounces at lists.cs.ucla.edu>> on behalf of Ashlesh Gawande (agawande) <agawande at memphis.edu<mailto:agawande at memphis.edu>>
Sent: Tuesday, June 14, 2016 11:29:50 AM
To: Rajendran Jeeva

Cc: mini-ndn at lists.cs.ucla.edu<mailto:mini-ndn at lists.cs.ucla.edu>
Subject: Re: [Mini-NDN] NLSR has not converged - Issue while running minindn


Can you check whether nfd-status works outside of mini-ndn?

Just do nfd-start and then do nfd-status.


Convergence depends on nfd-status as mini-ndn checks whether prefixes and routers have been installed.


> a nfd does not work because we use the a.conf file, if you do" a nfd -f a.conf &" it should work.

But the problem seems to be that nfd-status is not working (even outside of mini-ndn).


Ashlesh

________________________________
From: Rajendran Jeeva <rajendrj at tcd.ie<mailto:rajendrj at tcd.ie>>
Sent: Tuesday, June 14, 2016 9:32:55 AM
To: Ashlesh Gawande (agawande)
Cc: mini-ndn at lists.cs.ucla.edu<mailto:mini-ndn at lists.cs.ucla.edu>
Subject: Re: [Mini-NDN] NLSR has not converged - Issue while running minindn

Hi Ashlesh,

Thanks for the response.

I tried running the command 'a nfd-status -b' for node 'a' and for other nodes as well. It is not displaying anything .

1. NFD status:

mininet> a nfd-status -b
mininet>


NLSR status is displaying as follow

2. NLSR status:

mininet> a nlsrc status
NLSR Status
LSDB:
  OriginRouter: /ndn/edu/%C1.Router/cs/a

    Coordinate LSA:
      info=LsaInfo(OriginRouter: /ndn/edu/%C1.Router/cs/a, SequenceNumber: 90, ExpirationPeriod: 3591936 milliseconds)
      angle=0
      radius=0

    Name LSA:
      info=LsaInfo(OriginRouter: /ndn/edu/%C1.Router/cs/a, SequenceNumber: 90, ExpirationPeriod: 3591932 milliseconds)
      name=/ndn/edu/a

  OriginRouter: /ndn/edu/%C1.Router/cs/b

3. I just tried running 'nfd' command for a node and it displayed 'Failed to read configuration file: /usr/local/etc/ndn/nfd.conf'

mininet> a nfd
1465913606.293515 FATAL: [NFD] Failed to read configuration file: /usr/local/etc/ndn/nfd.conf [from ../core/config-file.cpp:94 in void nfd::ConfigFile::parse(const string&, bool)]
mininet>

I ensured again that NFD is installed when mini-ndn is installed and the configuration is run.

Not sure whether the convergence is not happening because the conf file is missing.

Any help would be appreciated

Thanks in advance

~Jeeva


On 13 June 2016 at 16:56, Ashlesh Gawande (agawande) <agawande at memphis.edu<mailto:agawande at memphis.edu>> wrote:

Try to run just:

sudo minindn


And when the command line comes up, wait for some time and check the FIB of each node:


a nfd-status -b

b nfd-status -b

c nfd-status -b

d nfd-status -b


They should all have each other prefixes (i.e. /ndn/edu/<node>) and routers (/ndn/edu/%C1.Router/<node>).

If not you will get the error you got - NLSR could not converge (only if an experiment was run).


If they do have each other's prefixes then you can try to increase the convergence time:

sudo minindn --experiment=pingall --ctime 100


Ashlesh

________________________________
From: Mini-NDN <mini-ndn-bounces at lists.cs.ucla.edu<mailto:mini-ndn-bounces at lists.cs.ucla.edu>> on behalf of Rajendran Jeeva <rajendrj at tcd.ie<mailto:rajendrj at tcd.ie>>
Sent: Sunday, June 12, 2016 10:33:05 AM
To: mini-ndn at lists.cs.ucla.edu<mailto:mini-ndn at lists.cs.ucla.edu>
Subject: [Mini-NDN] NLSR has not converged - Issue while running minindn

Hi All,

I have installed mini-ndn as follows:

1. Cloned 'mini-ndn' from github
2. $ cd mini-ndn
3. Installed it using the command

sudo ./install.sh -mrfti

4. When the above command got executed , NFD, NLSR, ndn, and
mininet got installed in the 'mini-ndn' directory(not in the home directory

as I ran install.sh from inside mini-ndn directory )

5. Once the installation is completed I tried running the --Pingall experiment with

default topology

6. There was an error stating 'mininet.topo module not found'(Rectified this

problem by installing 'mininet' in the home directory)

7. When I ran the minindn command again, I got the following output

rajendrj at Jeeva:~$ sudo minindn --experiment=pingall
No results folder specified; experiment results will remain in the working directory
Parse of /usr/local/etc/mini-ndn/default-topology.conf done.
*** Creating network
*** Adding controller
*** Adding hosts:
a b c d
*** Adding switches:

*** Adding links:
(10ms delay) (10ms delay) (a, b) (10ms delay) (10ms delay) (a, c) (10ms delay) (10ms delay) (b, d)
*** Configuring hosts
a b c d
Setup time: 8
*** Starting controller
c0
*** Starting 0 switches

Loading experiment: pingall
Using 1.000000 traffic
Waiting 60 seconds for convergence...
...done
NLSR has not converged. Exiting...
rajendrj at Jeeva:~$


As shown in the last line, the execution exited with 'NLSR has not converged'

' message


Am I missing something here ? Is this because 'mininet' is running from home directory

but NLSR , NFD and ndn run from 'mini-ndn' directory ? Is there a way to see

the error output?


Please advise and help me here


Thanks in advance,

~Jeeva









-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/mini-ndn/attachments/20160617/72ae9129/attachment.html>


More information about the Mini-NDN mailing list