Hello Fujimoto, Did you got any idea about what is going wrong? I tried to run 100 switch in my network and that time the controller not able to survive 3 minutes. My ulimit -n set to 1024.
Regards, Tarun Quoting Tarun Kumar Sarkar <[email protected]>: > Hi Fujimoto, > > You are correct almost. There is a no duplicate datapath, but I > think a second connection request came from the same switch after > some time. > Initially all my 25 switch got connected to my controller, after > running for some time controller got another connection request form > the switch with datapath_id=5253150801927 (line no 322 to 330 in the > log file). First connection request of the same switch is in the log > at line no 88-96. > I am attaching the log of first 500 lines removing some unnecessary > message for your reference. I hope it will help you understand the > problem better. > > Thank you! > > Regards, > Tarun > > > Quoting Fujimoto Satoshi <[email protected]>: > >> Hi, Tarun >> >> I'm not sure, but it may be caused by the duplication of Datapath ID. >> Could you confirm the Datapath IDs of your switches are not duplicated? >> >> Thanks, >> Fujimoto >> >> On 2017年04月13日 07:59, Tarun Kumar Sarkar wrote: >>> Dear Team, >>> >>> Could anyone please suggest me how to solve the problem? >>> >>> BACKGROUND:: >>> >>> I am running a custom controller with wsgi option for accepting REST >>> call for adding and deleting switch forward entry. I am running around >>> 25 switch in my network and my application communicate to the >>> controller very frequently to modify the forwarding entries. After >>> running it for an hour or so I am geeting the belwo issue. >>> >>> ISSUE:: >>> I am seeing many socket are in state of CLOSE_WAIT. I observed socket >>> are starting to go in that state after getting a message like >>> "Multiple connections from 000004c718300007". >>> I tried the fix provided in the link >>> https://sourceforge.net/p/ryu/mailman/message/34320802/. >>> >>> @_deactivate >>> def _recv_loop(self): >>> buf = bytearray() >>> count = 0 >>> min_read_len = remaining_read_len = ofproto_common.OFP_HEADER_SIZE >>> >>> while self.state != DEAD_DISPATCHER: >>> try: >>> read_len = min_read_len >>> if (remaining_read_len > min_read_len): >>> read_len = remaining_read_len >>> ret = self.socket.recv(read_len) >>> if len(ret) == 0: >>> self.is_active = False >>> self.socket.close() >>> break >>> >>> But it does not work for me. >>> >>> LOG:: >>> Multiple connections from 000004c718300007 >>> EVENT ofp_event->switches EventOFPStateChange >>> EVENT ofp_event->switches EventOFPPacketIn >>> EVENT ofp_event->switches EventOFPPacketIn >>> EVENT ofp_event->switches EventOFPPacketIn >>> EVENT ofp_event->switches EventOFPPacketIn >>> EVENT ofp_event->switches EventOFPPacketIn >>> EVENT ofp_event->switches EventOFPPacketIn >>> EVENT ofp_event->switches EventOFPPacketIn >>> EVENT ofp_event->switches EventOFPPacketIn >>> EVENT ofp_event->switches EventOFPPacketIn >>> EVENT ofp_event->switches EventOFPPacketIn >>> EVENT ofp_event->switches EventOFPPacketIn >>> EVENT ofp_event->switches EventOFPPacketIn >>> EVENT ofp_event->switches EventOFPPacketIn >>> EVENT ofp_event->switches EventOFPPacketIn >>> EVENT ofp_event->switches EventOFPPacketIn >>> Datapath in process of terminating; send() to ('127.0.0.1', 59464) >>> discarded. >>> EVENT ofp_event->switches EventOFPPacketIn >>> EVENT ofp_event->switches EventOFPPacketIn >>> EVENT ofp_event->switches EventOFPPacketIn >>> EVENT ofp_event->switches EventOFPPacketIn >>> EVENT ofp_event->switches EventOFPPacketIn >>> Datapath in process of terminating; send() to ('127.0.0.1', 59464) >>> discarded. >>> Datapath in process of terminating; send() to ('127.0.0.1', 59464) >>> discarded. >>> connected socket:<eventlet.greenio.base.GreenSocket object at >>> 0x7fb92bf3b510> address:('127.0.0.1', 59566) >>> hello ev <ryu.controller.ofp_event.EventOFPHello object at 0x7fb92bffa790> >>> move onto config mode >>> EVENT ofp_event->FCPFControllerApplication EventOFPSwitchFeatures >>> switch features ev >>> version=0x4,msg_type=0x6,msg_len=0x20,xid=0x45883c60,OFPSwitchFeatures(auxiliary_id=0,capabilities=71,datapath_id=59307123015704,n_buffers=256,n_tables=254) >>> move onto main mode >>> EVENT ofp_event->switches EventOFPStateChange >>> EVENT ofp_event->switches EventOFPPacketIn >>> EVENT ofp_event->switches EventOFPPacketIn >>> Datapath in process of terminating; send() to ('127.0.0.1', 59464) >>> discarded. >>> EVENT ofp_event->switches EventOFPPacketIn >>> >>> ..... >>> ...... >>> ... >>> connected socket:<eventlet.greenio.base.GreenSocket object at >>> 0x7f14b4826f50> address:('127.0.0.1', 57490) >>> hello ev <ryu.controller.ofp_event.EventOFPHello object at 0x7f14b47da1d0> >>> move onto config mode >>> hub: uncaught exception: Traceback (most recent call last): >>> File "/usr/local/lib/python2.7/dist-packages/ryu/lib/hub.py", line >>> 56, in _launch >>> File >>> "/usr/local/lib/python2.7/dist-packages/ryu/controller/controller.py", >>> line 100, in __call__ >>> File >>> "/usr/local/lib/python2.7/dist-packages/ryu/controller/controller.py", >>> line 126, in server_loop >>> File "/usr/local/lib/python2.7/dist-packages/ryu/lib/hub.py", line >>> 136, in serve_forever >>> File >>> "/usr/local/lib/python2.7/dist-packages/eventlet/greenio/base.py", >>> line 214, in accept >>> File >>> "/usr/local/lib/python2.7/dist-packages/eventlet/greenio/base.py", >>> line 56, in socket_accept >>> File "/usr/lib/python2.7/socket.py", line 202, in accept >>> error: [Errno 24] Too many open files >>> >>> >>> netstat shows something like >>> python 7849 tarun 558u IPv4 103608559 0t0 TCP >>> localhost:6633->localhost:60844 (CLOSE_WAIT) >>> >>> >>> Regards, >>> Tarun >>> >>> >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Check out the vibrant tech community on one of the world's most >>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >>> _______________________________________________ >>> Ryu-devel mailing list >>> [email protected] >>> https://lists.sourceforge.net/lists/listinfo/ryu-devel ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Ryu-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ryu-devel
