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

Rajendran Jeeva rajendrj at tcd.ie
Thu Jun 23 15:17:18 PDT 2016


Hi Ashlesh,

The above scenario is being intermittent now. Sometimes ndnpingserver
process from setup is running without being killed and in other cases the
process is getting killed. I noticed the above by doing 'grep' for
ndnpingserver.

Upon printing ndnpinserver command using 'print(host.cmd.....' , a process
ID is being printed and this ID is sometimes getting listed in 'ps aux'
(where the ndnpingserver keeps running) and sometimes not getting listed
(where the server is killed)

I am still looking into it.

Just by putting the ndnpingserver in ping module, I started working on
mini-ndn for my project. I like the way mini-ndn is framed.

Meanwhile, Is there is a packet dissector like Wireshark that works for
minindn ? (I am in need of looking into the packets that get generated out
of communication between NDN nodes in mini-ndn. Is it possible?)

Please advise

thanks,
Jeeva

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

> 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 + "
> >> ping-data/" + 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 + "
> >> ping-data/" + 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
> > 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>
>> *Sent:* Wednesday, June 15, 2016 11:48:36 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
>>
>> 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> 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> 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>
>>>> *Sent:* Tuesday, June 14, 2016 2:48:39 PM
>>>>
>>>> *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,
>>>>
>>>> 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> 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> on behalf of
>>>>> Ashlesh Gawande (agawande) <agawande at memphis.edu>
>>>>> *Sent:* Tuesday, June 14, 2016 11:29:50 AM
>>>>> *To:* Rajendran Jeeva
>>>>>
>>>>> *Cc:* 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>
>>>>> *Sent:* Tuesday, June 14, 2016 9:32:55 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 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> 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> on behalf of
>>>>>> Rajendran Jeeva <rajendrj at tcd.ie>
>>>>>> *Sent:* Sunday, June 12, 2016 10:33:05 AM
>>>>>> *To:* 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/20160623/9b9eca2b/attachment.html>


More information about the Mini-NDN mailing list