Hi Iwase
Many thanks for the clarification, can you please guide me on how I can
reconnect and and get a new data path instance. I tried deleting the old
instance and getting a new one using the following code:
datapath = api.get_datapath(self, datapath.id)
self.logger.info('datapath=%s', datapath)
But I only get None as the output of the above code
Beat Regards
Fayaz
On Tuesday, December 5, 2017, Iwase Yusuke <iwase.yusu...@gmail.com> wrote:
> Hi,
>
> > " Datapath in process of terminating; send() to 10.0.0.100 discarded "
>
> This message shows Ryu could not send a message because the connection to
> your
> switch was already disconnected and "send_loop" thread was closed.
>
> Please confirm that the connection between controller-switch kept
> established.
> If keeping the connection is difficult, I guess you need to wait for the
> connection re-establishment before sending stats requests.
>
> Example:
>
> Your App Datapath Your SW
> | | disconnected |
> | |--------X-------|
> | send_msg() | |
> |------------------>| |
> | |(*) | (*) output message you reported
> | | reconnect |
> | SwitchFeatures ev |================|
> |<------------------| |
> | | |
> Restart
> stats loop here
>
> Please note when reconnecting to your switch, a new Datapath instance will
> be
> created, so the stored Datapath instance needs to be replaced by the new
> one.
>
> Thanks,
> Iwase
>
> On 2017年12月05日 00:27, shahid javed wrote:
>
>> Hi All,
>>
>> I am trying to get switch status updates under a link high load, I have
>> the following method which sends request to switches to reply with their
>> stats. The issue I am having is when a packet gets dropped due to high load
>> I am not able to resend the packet. I tried the --verbose to get the debug
>> log and I get the following:
>>
>> " Datapath in process of terminating; send() to 10.0.0.100 discarded "
>>
>> def send_stats_requests(self):
>>
>> for switchAddress in range(100,106):
>>
>> # I have stored all datapath objects in a dictionary with key
>> as address of switch
>> state = self.dp.get(switchAddress,9)[1]
>>
>> if state == 0:
>> datapath = self.dp.get(switchAddress)[0]
>> ofp = datapath.ofproto
>> ofp_parser = datapath.ofproto_parser
>> req = ofp_parser.OFPDescStatsRequest(datapath,0)
>>
>> datapath.send_msg(req)
>>
>> elif state == 1:
>> print str(switchAddress) + ' Status Recieved'
>>
>> self._timer = Timer(6, self.send_stats_requests)
>> self._timer.start()
>>
>>
>> ------------------------------------------------------------
>> ------------------
>> 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
>> Ryu-devel@lists.sourceforge.net
>> 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
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel