Hi Iwase

Thank you for the really prompt reply. I will test your patch out with my 
project.

Will this patch make it into the main Ryu distribution at some stage?


Thanks,


Matt.

________________________________
From: Iwase Yusuke <iwase.yusu...@gmail.com>
Sent: Tuesday, 11 July 2017 12:31 a.m.
To: matthew_john_ha...@hotmail.com
Cc: ryu-devel@lists.sourceforge.net
Subject: Re: [Ryu-devel] Event receive timestamps

Hi Matt,

Ryu handles the low level messages receiving at ryu/controller/controller.py, I 
guess we need to
get the timestamp here.
   https://github.com/osrg/ryu/blob/master/ryu/controller/controller.py#L233


Then, how about the following?
I added the "timestamp" into "EventOFP***" events.

$ git diff
diff --git a/ryu/controller/controller.py b/ryu/controller/controller.py
index 62bca5f..4c7259c 100644
--- a/ryu/controller/controller.py
+++ b/ryu/controller/controller.py
@@ -22,6 +22,7 @@ The main component of OpenFlow controller.

  """

+import time
  import contextlib
  from ryu import cfg
  import logging
@@ -266,11 +267,13 @@ class Datapath(ofproto_protocol.ProtocolDesc):
                      remaining_read_len = (msg_len - buf_len)
                      break

+                _received_time = time.time()
                  msg = ofproto_parser.msg(
                      self, version, msg_type, msg_len, xid, buf[:msg_len])
                  # LOG.debug('queue msg %s cls %s', msg, msg.__class__)
                  if msg:
                      ev = ofp_event.ofp_msg_to_ev(msg)
+                    ev.timestamp = _received_time
                      self.ofp_brick.send_event_to_observers(ev, self.state)

                      dispatchers = lambda x: 
x.callers[ev.__class__].dispatchers


Thanks,
Iwase


On 2017年07月10日 19:34, Matthew Hayes wrote:
> Hi all,
>
> Can Ryu present timestamps to applications detailing when it received 
> particular OpenFlow events
> (example: timestamp for when a Packet-In event was received by Ryu)?
>
> I have a reactive SDN project built on Ryu (see: https://nmeta.readthedocs.io 
> ), and telemetry built
> into the app records processing time for OpenFlow events, such as Packet-In.
>
> I want to be able to access to the timestamp of when the OpenFlow event is 
> received by the
> controller, to enable tracking of the delay in the application receiving the 
> event, which will vary
> under load. This feature would also help with accuracy of algorithms that 
> analyse packet arrival times.
>
> Please advise if this data is available in Ryu, and if not, whether it would 
> be possible to develop it?
>
> Thanks,
>
> Matt.
>
>
>
> ------------------------------------------------------------------------------
> 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