def __str__(self): return "EventHostRequest<src=%s, dpid=%s>" % (self.src, self.dpid) class EventHostReply(event.EventReplyBase): def __init__(self, dst, dpid, hosts): super(EventHostReply, self).__init__(dst) self.dpid = dpid self.hosts = hosts def __str__(self): return "EventHostReply<dst=%s, dpid=%s, hosts=%s>" % (self.dst, self.dpid, len(self.hosts)) class EventHostBase(event.EventBase): def __init__(self, host): super(EventHostBase, self).__init__() self.host = host def __str__(self): return "%s<%s>" % (self.__class__.__name__, self.host) class EventHostAdd(EventHostBase): def __init__(self, host): super(EventHostAdd, self).__init__(host) handler.register_service("ryu.topology.switches")
'DPSET: A port was modified.' + '(datapath id = %s, port number = %s)', dpid_to_str(datapath.id), port.port_no) self.port_state[datapath.id].modify(port.port_no, port) self.send_event_to_observers(EventPortModify(datapath, port)) def get_port(self, dpid, port_no): """ This method returns the ryu.controller.dpset.PortState instance for the given Datapath ID and the port number. Raises ryu_exc.PortNotFound if no such a datapath connected to this controller or no such a port exists. """ try: return self.port_state[dpid][port_no] except KeyError: raise ryu_exc.PortNotFound(dpid=dpid, port=port_no, network_id=None) def get_ports(self, dpid): """ This method returns a list of ryu.controller.dpset.PortState instances for the given Datapath ID. Raises KeyError if no such a datapath connected to this controller. """ return list(self.port_state[dpid].values()) handler.register_service('ryu.controller.dpset')
from ryu.controller import handler from ryu.controller import event class EventRequestSpectrumRemain(event.EventRequestBase): def __init__(self, dst): super(EventRequestSpectrumRemain, self).__init__() self.dst = dst def __str__(self): return 'EventRequestSpectrumRemain<src=%s, dpid=%s>' % \ (self.src, self.dpid) class EventReplySpectrumRemain(event.EventReplyBase): def __init__(self, dst, rsc): super(EventReplySpectrumRemain, self).__init__(dst) self.rsc = rsc def __str__(self): return 'EventLinkReply<spectrum_resouce_remained{}>'.format(self.rsc) handler.register_service('spec_resource')
self.priority = priority self.advertisement_interval = advertisement_interval self.preempt_mode = preempt_mode self.preempt_delay = preempt_delay self.accept_mode = accept_mode # Following classes are internally used by VRRP class EventVRRPReceived(event.EventBase): """ Event that port manager received valid VRRP packet. Usually handed by VRRP Router. """ def __init__(self, interface, packet): super(EventVRRPReceived, self).__init__() self.interface = interface self.packet = packet class EventVRRPTransmitRequest(event.EventRequestBase): """ Request from VRRP router to port manager to transmit VRRP packet. """ def __init__(self, data): super(EventVRRPTransmitRequest, self).__init__() self.data = data handler.register_service('ryu.services.protocols.vrrp.manager')
assert reason == ofproto.OFPPR_MODIFY LOG.debug('DPSET: A port was modified.' + '(datapath id = %s, port number = %s)', dpid_to_str(datapath.id), port.port_no) self.port_state[datapath.id].modify(port.port_no, port) self.send_event_to_observers(EventPortModify(datapath, port)) def get_port(self, dpid, port_no): """ This method returns the ryu.controller.dpset.PortState instance for the given Datapath ID and the port number. Raises ryu_exc.PortNotFound if no such a datapath connected to this controller or no such a port exists. """ try: return self.port_state[dpid][port_no] except KeyError: raise ryu_exc.PortNotFound(dpid=dpid, port=port_no, network_id=None) def get_ports(self, dpid): """ This method returns a list of ryu.controller.dpset.PortState instances for the given Datapath ID. Raises KeyError if no such a datapath connected to this controller. """ return self.port_state[dpid].values() handler.register_service('ryu.controller.dpset')
def __init__(self, ev): super(EventRowUpdatedBase, self).__init__(ev.system_id, ev.table, ev.old, ev.new) class EventPortInserted(EventRowInsertedBase): pass class EventPortDeleted(EventRowDeletedBase): pass class EventPortUpdated(EventRowUpdatedBase): pass class EventInterfaceInserted(EventRowInsertedBase): pass class EventInterfaceDeleted(EventRowDeletedBase): pass class EventInterfaceUpdated(EventRowUpdatedBase): pass handler.register_service('ryu.services.protocols.ovsdb.manager')
def __init__(self, dst, dpid, hosts): super(EventHostReply, self).__init__(dst) self.dpid = dpid self.hosts = hosts def __str__(self): return 'EventHostReply<dst=%s, dpid=%s, hosts=%s>' % \ (self.dst, self.dpid, len(self.hosts)) class EventHostBase(event.EventBase): def __init__(self, host): super(EventHostBase, self).__init__() self.host = host def __str__(self): return '%s<%s>' % (self.__class__.__name__, self.host) class EventHostAdd(EventHostBase): def __init__(self, host): super(EventHostAdd, self).__init__(host) class EventHostDelete(EventHostBase): def __init__(self, host): super(EventHostDelete, self).__init__(host) handler.register_service('ryu.topology.switches')
from ryu.controller import handler from ryu.base import app_manager LOG = logging.getLogger('MyEvTrigger') class EventGetRules(event.EventBase): def __init__(self, rps): super(EventGetRules, self).__init__() self.rps = rps class MyEvTrigger(app_manager.RyuApp): def __init__(self, *args, **kwargs): super(MyEvTrigger, self).__init__(*args, **kwargs) def build_event(self, reader): """ :rtype : EventGetRules """ ev = EventGetRules(reader.get_all_rules()) return ev def send(self, name, reader): ev = self.build_event(reader) self.send_event(name, ev) handler.register_service('MyEvTrigger')
LOG = logging.getLogger(__name__) class EventSwitchTrustChange(event.EventBase): """ Define a change in the trust level of the switch """ def __init__(self, dpid, sw_trust): super(EventSwitchTrustChange, self).__init__() self.dpid = dpid self.trust = sw_trust class EventLinkTrustChange(event.EventBase): """ Define a change on the trust level of a link between switches""" def __init__(self, link, link_trust): super(EventLinkTrustChange, self).__init__() self.link = link self.link_trust = link_trust def __str__(self): return '%s<%s>' % (self.__class__.__name__, self.trust) # register the app that raise the above events handler.register_service('trust_evaluator')
from ryu.controller import handler from ryu.base import app_manager LOG = logging.getLogger('MyEvTrigger') class EventGetRules(event.EventBase): def __init__(self, rps): super(EventGetRules, self).__init__() self.rps = rps class MyEvTrigger(app_manager.RyuApp): def __init__(self, *args, **kwargs): super(MyEvTrigger, self).__init__(*args, **kwargs) def build_event(self,reader): """ :rtype : EventGetRules """ ev = EventGetRules(reader.get_all_rules()) return ev def send(self,name,reader): ev = self.build_event(reader) self.send_event(name,ev) handler.register_service('MyEvTrigger')
def __str__(self): return 'EventHostRequest<src=%s, dpid=%s>' % \ (self.src, self.dpid) class EventHostReply(event.EventReplyBase): def __init__(self, dst, dpid, hosts): super(EventHostReply, self).__init__(dst) self.dpid = dpid self.hosts = hosts def __str__(self): return 'EventHostReply<dst=%s, dpid=%s, hosts=%s>' % \ (self.dst, self.dpid, len(self.hosts)) class EventHostBase(event.EventBase): def __init__(self, host): super(EventHostBase, self).__init__() self.host = host def __str__(self): return '%s<%s>' % (self.__class__.__name__, self.host) class EventHostAdd(EventHostBase): def __init__(self, host): super(EventHostAdd, self).__init__(host) handler.register_service('ryu.topology.switches')
from ryu.controller import event from ryu.controller import handler class EventAlert(event.EventBase): def __init__(self, alertmsg, timestamp, event, flow): super(EventAlert, self).__init__() self.alertmsg = alertmsg self.tv_sec = timestamp.tv_sec self.tv_usec = timestamp.tv_usec self.gid, self.sid, self.rev, self.classification, self.priority, self.cid = event self.proto, self.srcIP, self.srcPort, self.dstIP, self.dstPort = flow handler.register_service('snort_handler')
self.domain = domain class EventOXPVportStateChange(event.EventBase): def __init__(self, domain, vport_no, state): super(EventOXPVportStateChange, self).__init__() self.domain = domain self.vport_no = vport_no self.state = state class EventOXPHostStateChange(event.EventBase): def __init__(self, domain, hosts): super(EventOXPHostStateChange, self).__init__() self.domain = domain self.hosts = hosts class EventOXPLinkDiscovery(event.EventBase): def __init__(self, domain): super(EventOXPLinkDiscovery, self).__init__() self.domain = domain if CONF.oxp_role == 'super': handler.register_service('ryu.openexchange.super.oxp_server_handler') elif CONF.oxp_role == 'domain': handler.register_service('ryu.openexchange.domain.oxp_client_handler') else: pass
cls = type( name, (EventOFPMsgBase, ), dict(__init__=lambda self, msg: super(self.__class__, self).__init__( msg))) globals()[name] = cls _OFP_MSG_EVENTS[name] = cls def _create_ofp_msg_ev_from_module(ofp_praser): # print mod for _k, cls in inspect.getmembers(ofp_parser, inspect.isclass): if not hasattr(cls, 'cls_msg_type'): continue _create_ofp_msg_ev_class(cls) for ofp_mods in ofproto.get_ofp_modules().values(): ofp_parser = ofp_mods[1] # print 'loading module %s' % ofp_parser _create_ofp_msg_ev_from_module(ofp_parser) class EventOFPStateChange(event.EventBase): def __init__(self, dp): super(EventOFPStateChange, self).__init__() self.datapath = dp handler.register_service('ryu.controller.ofp_handler')
self.domain = domain class EventOXPVportStateChange(event.EventBase): def __init__(self, domain, vport_no, state): super(EventOXPVportStateChange, self).__init__() self.domain = domain self.vport_no = vport_no self.state = state class EventOXPHostStateChange(event.EventBase): def __init__(self, domain, hosts): super(EventOXPHostStateChange, self).__init__() self.domain = domain self.hosts = hosts class EventOXPLinkDiscovery(event.EventBase): def __init__(self, domain): super(EventOXPLinkDiscovery, self).__init__() self.domain = domain if CONF.oxp_role == 'super': handler.register_service('ryu.openexchange.super.oxp_server_handler') elif CONF.oxp_role == 'domain': handler.register_service('ryu.openexchange.domain.oxp_client_handler') else: pass
def __init__(self, dp): super(EventOFPStateChange, self).__init__() self.datapath = dp class EventOFPPortStateChange(event.EventBase): """ An event class to notify the port state changes of Dtatapath instance. This event performs like EventOFPPortStatus, but Ryu will send this event after updating ``ports`` dict of Datapath instances. An instance has at least the following attributes. ========= ================================================================= Attribute Description ========= ================================================================= datapath ryu.controller.controller.Datapath instance of the switch reason one of OFPPR_* port_no Port number which state was changed ========= ================================================================= """ def __init__(self, dp, reason, port_no): super(EventOFPPortStateChange, self).__init__() self.datapath = dp self.reason = reason self.port_no = port_no handler.register_service('ryu.controller.ofp_handler')
if name in _OXP_MSG_EVENTS: return cls = type(name, (EventOXPMsgBase,), dict(__init__=lambda self, msg: super(self.__class__, self).__init__(msg))) globals()[name] = cls _OXP_MSG_EVENTS[name] = cls def _create_oxp_msg_ev_from_module(oxp_parser): # print mod for _k, cls in inspect.getmembers(oxp_parser, inspect.isclass): if not hasattr(cls, 'cls_msg_type'): continue _create_oxp_msg_ev_class(cls) for oxp_mods in openexchange.get_oxp_modules().values(): oxp_parser = oxp_mods[1] print 'loading module %s' % oxp_parser _create_oxp_msg_ev_from_module(oxp_parser) class EventOXPStateChange(event.EventBase): def __init__(self, domain): super(EventOXPStateChange, self).__init__() self.domain_network = domain handler.register_service('ryu.openexchange.oxp_handler')