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

Reply via email to