Hi,

On 2015年06月22日 18:17, Haruka Oguchi wrote:
> Hi,
> 
> I am trying to combine a ryu app that detects topology with my python
> program that calculate Dijkstra.
> But I can’t pass correct value to my python program from ryu app
> because I don’t know exactly how
> @handler.set_ev_cls(event.EventLinkAdd) handler works.
> 
> ***My Ryu app that detects topology is following:***
> 
> from ryu.controller import handler
> from ryu.controller import dpset
> from ryu.controller import ofp_event
> from ryu.ofproto import ofproto_v1_3
> from ryu.ofproto import ofproto_v1_3_parser
> from ryu.base import app_manager
> from ryu.ofproto.ofproto_parser import MsgBase, msg_pack_into, msg_str_attr
> from ryu.topology import api
> from ryu.topology import event
> 
> class OF13(app_manager.RyuApp):
>      OFP_VERSIONS = [ofproto_v1_3.OFP_VERSION]
> 
>      _CONTEXTS = {
>          'dpset': dpset.DPSet,
>          }
> 
>      def __init__(self, *args, **kwargs):
>          super(OF13, self).__init__(*args, **kwargs)
>          self.dpset = kwargs['dpset']
> 
>      def _get_hwaddr(self, dpid, port_no):
>          return self.dpset.get_port(dpid, port_no).hw_addr
> 
>      @handler.set_ev_cls(event.EventLinkAdd)
>      def link_add(self, ev):
>          srcid, dstid = ev.link.src.dpid, ev.link.dst.dpid
> srcpt, dstpt = ev.link.src.port_no, ev.link.dst.port_no
> 
> print srcid, srcpt, dstid, dstpt
> #####I would like to pass these four values to my python program.
> 
> #####but this part below doesn’t work correctly.
> f = open(‘topology.txt’, ‘w’)
> print >> f, srcid, srcpt, dstid, dstpt
> f.close()
> 
> 
> ***The result output:***
> loading app /home/haruka/ryu/ryu/app/topo_detect.py
> loading app ryu.topology.switches
> loading app ryu.controller.ofp_handler
> instantiating app None of DPSet
> creating context dpset
> instantiating app ryu.topology.switches of Switches
> instantiating app /home/haruka/ryu/ryu/app/topo_detect.py of OF13
> instantiating app ryu.controller.ofp_handler of OFPHandler
> 4 3 3 3
> 2 2 3 2
> 1 2 3 1
> 2 3 4 2
> 1 3 4 1
> 4 1 1 3
> 2 1 1 1
> 4 2 2 3
> 1 1 2 1
> 3 3 4 3
> 3 1 1 2
> 3 2 2 2
> 
> 
> ***topology.txt:***
> 4 1 1 3
> #####This value changes every time I run the program above.
> 
> 
> I would like to ask the following questions:
> ●Why does “print srcid, srcpt, dstid, dstpt” part output multiple
> lines without the if statement nor the while statement?

Please specify 'a' for appending mode.
(https://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files)

> ●Where should I refer to see the contents of the event handler such as
> event.EventLinkAdd?

The event classes of topology.event are defined as follows.
(https://github.com/osrg/ryu/blob/master/ryu/topology/event.py)

> ●In the first place, can Ryu Apps transfer values to other python
> program inside Ryu?

Does 'other python program inside Ryu' means other RyuApp? or Other python 
process?
Ryu can do both.

> Better idea, Any suggestion will be helpful.
> 
> thanks,
> 
> ------------------------------------------------------------------------------
> Monitor 25 network devices or servers for free with OpManager!
> OpManager is web-based network management software that monitors 
> network devices and physical & virtual servers, alerts via email & sms 
> for fault. Monitor 25 devices for free with no restriction. Download now
> http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
> _______________________________________________
> Ryu-devel mailing list
> Ryu-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/ryu-devel
> 

------------------------------------------------------------------------------
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical & virtual servers, alerts via email & sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to