Hi
I think you just need to spawn another thread when your application started.
To spawn a thread, you can use spawn function from ryu.lib.hub
-Yi
2017-03-30 13:24 GMT-07:00 Mathews Phillipp Santos de Lima <
mathews.phill...@gmail.com>:
> Hi,
>
> I'm trying to create an application to monitor a topology SDN with Ryu
> controller, like as topology discovery application in
> https://sdn-lab.com/2014/12/31/topology-discovery-with-ryu/. But, the
> application that I need updates in a periodic time (3 seconds) to print
> the information of hosts. How can i implement that code in controller?
>
> Below its the code:
>
> from ryu.base import app_manager
> from ryu.controller import ofp_event
> from ryu.controller.handler import CONFIG_DISPATCHER, MAIN_DISPATCHER
> from ryu.controller.handler import set_ev_cls
> from ryu.controller import ofp_handler
> from ryu.ofproto import ofproto_v1_3
> from ryu.lib.packet import packet
> from ryu.lib.packet import ethernet
> from ryu.lib.packet import ether_types
>
> from pprint import pprint
> from ryu.topology.api import get_link, get_switch, get_host, get_all_host
> from ryu.topology import event, switches
> import struct
> import threading
> from scapy import *
> import os
> import time
> from ryu.app import simple_switch_13
> from ryu.lib import hub
>
> class SimpleMonitor13(simple_switch_13.SimpleSwitch13):
>
> def __init__(self, *args, **kwargs):
> super(SimpleMonitor13, self).__init__(*args, **kwargs)
> self.datapaths = {}
> self.monitor_thread = hub.spawn(self.get_topology_data)
> self.mac_to_port = {}
>
>
> @set_ev_cls(event.EventHostAdd)
> def get_topology_data(self, ev):
> switch_list = get_switch(self, None) #.topology_api_app
> switches=[switch.dp.id for switch in switch_list]
> print "switches: ", switches
> hosts = get_host(self, None)
>
> for host in hosts:
> if host.port.name[0] != 's' and 'eth' not in host.port.name:
> print host.mac #Prints host mac
> print host.port.dpid #The switch(or AP)
> print host.port.name #Interface Name
>
>
> ------------------------------------------------------------
> ------------------
> 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
>
>
--
Yi Tseng (a.k.a Takeshi)
Taiwan National Chiao Tung University
Department of Computer Science
W2CNLab
https://takeshi.tw
------------------------------------------------------------------------------
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