TUDelftNAS / SDN-OpenNetMon

Accurate and precise OpenFlow Monitoring POX module
GNU General Public License v3.0
50 stars 29 forks source link

MeasureDelay() function not working #5

Open debanshu opened 9 years ago

debanshu commented 9 years ago

Hi, I was trying to run OpenNetMon with mininet 2.1.0, on the default 2 host - 1 switch topology. (Using pox betta branch) I got the standard stats in the output..csv file, however my delay..csv file was coming empty. On checking the terminal, I found the following error encountered while running opennetmon.

Monitoring paths 2015-06-10 15:28:22.258725 Task <Timer/tid7> caused exception and was de-scheduled Traceback (most recent call last): File "/home/maxinet/pox/pox/lib/recoco/recoco.py", line 276, in cycle rv = t.execute() File "/home/maxinet/pox/pox/lib/recoco/recoco.py", line 94, in execute return self.gen.send(v) File "/home/maxinet/pox/pox/lib/recoco/recoco.py", line 751, in run rv = self._callback(_self.args,*self._kw) File "/home/maxinet/pox/ext/opennetmon/monitoring.py", line 217, in _timer_MonitorPaths MeasureDelay() #sends packets for delay measurement File "/home/maxinet/pox/ext/opennetmon/monitoring.py", line 190, in MeasureDelay switches[p.src].connection.send(msg) File "/home/maxinet/pox/pox/openflow/of_01.py", line 687, in send data = data.pack() File "/home/maxinet/pox/pox/openflow/libopenflow_01.py", line 3447, in pack actions = b''.join((i.pack() for i in self.actions)) File "/home/maxinet/pox/pox/openflow/libopenflow_01.py", line 3447, in actions = b''.join((i.pack() for i in self.actions)) File "/home/maxinet/pox/pox/openflow/libopenflow_01.py", line 1453, in pack self.max_len) error: cannot convert argument to integer

I get this error everytime the MeasureDelay() function is called. Is it a issue with my pox version?

NvanAdrichem commented 9 years ago

Personally I have only used OpenNetMon on physical testbeds, where this problem does not seem to occur. Are you in the possibility to repeat the procedure on a physical testbed, of say, 2 computers connected by Network Interface Cards to see if the problem persists for you?

NvanAdrichem commented 9 years ago

I notice that the line where the exception triggers (line 1453 from libopenflow_01.py) needs to have a proper port definition (self.type and self.type), which is set in monitoring.py on line 191. Can you confirm that the path p sets a proper port in p.first_port? F.e. by printing p.first_port to the log?

rjeskris commented 7 years ago

I seem to be getting the above issue related to measuring delay while running it in a mininet environment. Is there a work around for this?

kevhjelm commented 5 years ago

Have this issue been solved? Is there a work around for this?

ramtinmousavi commented 4 years ago

Facing the same issue while using Mininet. Any solution to this exception?

trademkose commented 4 years ago

@ramtinmousavi I am getting the same issue when I work with Mininet and POX. Actually I have seen the result of the MeasureDelay function but It does not work continuously, It is getting stopped after a few seconds later.

ramtinmousavi commented 4 years ago

@trademkose Try this topology and see whether the function works properly or not. Find topology at: https://github.com/onstutorial/onstutorial/blob/master/flowvisor_scripts/flowvisor_topo.py save above topology as flowvisor_topo.py and run it using this command: sudo mn --custom flowvisor_topo.py --topo fvtopo --link tc --controller remote --mac --arp Please give me your feedback after testing this.

trademkose commented 4 years ago

@ramtinmousavi Hi,

But I could not send any ping from a host to another host. Do you work like this? You can see the screenshot which contains opennetmon screen (pox) and mininet screen. resim

Thanks for your support.

reza92farahani commented 4 years ago

@trademkose Hi, When I tried to run Opennetmoon (./pox.py opennetmon.startup), I see the error message (opennetmon.startup : not found module). How did you to solve this problem?

Best Regards, Reza

trademkose commented 4 years ago

@reza92farahani Did you follow the installation part of the readme? https://github.com/TUDelftNAS/SDN-OpenNetMon/blob/master/README You need to clone this repository and then you need to copy opennetmon files to your pox's ext folder. Have a nice working.