Hi,

Sorry for jumping in.

You don't need to try to reconnect by yourself.
Ryu always tries to reconnect automatically when the connection was lost.
And when the connection is re-established, Ryu notifies EventOFPHello and EventOFPSwitchFeatures, as same as the first connection.

So, you should wait until the re-establishment, and use the new datapath notified by the event for sending the message.

Thanks,
Fujimoto

On 2017年12月05日 17:18, shahid javed wrote:

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 <http://datapath.id>)
self.logger.info <http://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 <mailto: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
        <mailto:Ryu-devel@lists.sourceforge.net>
        https://lists.sourceforge.net/lists/listinfo/ryu-devel
        <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

------------------------------------------------------------------------------
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

Reply via email to