-
Notifications
You must be signed in to change notification settings - Fork 30
NOX Events
Murphy McCauley edited this page Mar 8, 2012
·
1 revision
In the abstract Components are really just a set of event handlers. Events are therefore what drive all execution in NOX. Many events roughly correlate to something which happens on the network that may be of interest to a NOX component. These section presents a high-level description of existing events. An up-to-date list is available through doxygen.
NOX contains a number of built-in events which map directly to OpenFlow messages received by controlled switches. These include:
- Datapath_join_event : Issued whenever a new switch is detected on the network.
- Datapath_leave_event : Issued whenever a switch has left the network.
- Packet_in_event : Called for each new packet received by NOX. The event includes the switch ID, the incoming port, and the packet buffer.
- Flow_mod_event : Issued when a flow has been added or modified by NOX.
- Flow_removed_event : Raised when a flow in the network expires or has been removed.
- Port_status_event : Indicates a change in port status. Contains the current port state including whether it is disabled, speed, and the port name.
- Port_stats_in : Raised when a Port_stats message is received by a controlled switch in response to a Port_stats_request message and includes the current counter values for a given port (such as rx,tx, and errors).
In addition, components themselves may define and throw higher level events which may be handled by any other events. The following events are thrown by existing NOX components.
- Host_event : Raised by the Authenticator whenever a new host has joined the network or a host leaves the network (generally due to timeout).
- Flow_in_event : Raised by the Authenticator whenever a Packet_in_event is received from the network. The Flow_in_event is then handled by the Routing application.
- Link_event : Raised by Discovery for each link discovery/change on the network. This can be used to reconstruct the network topology if the discovery application is being run.
For a guide to building your own Events, take a look at Developing in NOX