[nox-dev] list of events and their handlers
Is there any way to get a list of events provided by default in NOX, along with a list of which components raise and handle them? Thank you. ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] list of events and their handlers
Here are a few I found while browsing the code. I don;t think there is a direct way to find out( I would like to know if there is one..). If you pretty much grep on the event handler name you can find out who posts them and how they are handled. -Ramesh Datapath_join_event : Issued whenever a new switch is detected on the network. * Datapath_leave_event : Issued whenever a switch has left the network. * Error_event : Issued when an error happens. The error type and code are returned. * Flow_expired_event : Flow expired events are thrown for each openflow expiration message received by the controller. Expiration messages are sent by the switches on flow timeout * Flow_mod_event : Flow modification event are thrown when the flow is modified on the switches for the controller to take some actions. * Packet_in_event : Called for each new packet received by NOX. The event includes the switch ID, the incoming port, and the packet buffer. * Port_status_event : Indicates a change in port status. Contains the current port state including whether it is disabled, speed, and the port name. * Shutdown_event : Thrown by NOX prior to system Shutdown * Bootstrap_complete_event : Thrown by NOX once the boot step is done and NOX is up and running to receive packets and handle events. * Flow_stats_in_event : Thrown by NOX in response to Flow stats Request message. The event contains information on table id of the flow, priority, number of packets and bytes in the flow and other flow parameters. * Table_stats_in_event : Thrown by NOX in response to Table Stats Request Message. The event contains information on the max number of entries in the table, active entries, number of packets looked up in the table and the number that matched etc. * Port_stats_in_event : Sent in response to a Port_stats_request message and includes the current counter values for a given port (such as rx,tx, and errors). * Aggregate_stats_in_event : Thrown by NOX in response to Aggregate Stats Request message. The event contains information on the total flows and the number of packets and bytes in aggregate. * Desc_stats_in_event : Thrown by NOX in response to Flow Description request message. The event contains information on manufacturer's description, hardware description, software description and serial number fields. * Switch_mgr_join_event : Issued when a new Switch manager is registered. * Switch_mgr_leave_event : Issued when the switch manager leaves From: nox-dev-boun...@noxrepo.org [mailto:nox-dev-boun...@noxrepo.org] On Behalf Of Ashish Agarwal Sent: Tuesday, February 23, 2010 5:21 PM To: nox-dev@noxrepo.org Subject: [nox-dev] list of events and their handlers Is there any way to get a list of events provided by default in NOX, along with a list of which components raise and handle them? Thank you. ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] list of events and their handlers
Hi Ashish, What do you mean by base components? The components can be listed from all the meta.xml. Yes, ugly. nox-draw-dependencies already does that to draw the dependency-graph though. Regards KK On 23 February 2010 19:28, Ashish Agarwal agarwal1...@gmail.com wrote: Thanks for the replies! This is very helpful. Similarly, is there a list of the base components available? On Tue, Feb 23, 2010 at 9:20 PM, kk yap yap...@stanford.edu wrote: Hi, The doxygen is unfortunately not complete AFAIK. For the record, cd doc/doxygen make html will do what Kyriakos says automatically. A quick list of events would be from event-dispatcher-component.cc. // Register the system events register_eventDatapath_join_event(); register_eventDatapath_leave_event(); register_eventError_event(); register_eventFlow_removed_event(); register_eventFlow_mod_event(); register_eventPacket_in_event(); register_eventPort_status_event(); register_eventShutdown_event(); register_eventBootstrap_complete_event(); register_eventFlow_stats_in_event(); register_eventQueue_stats_in_event(); register_eventQueue_config_in_event(); register_eventTable_stats_in_event(); register_eventOfmp_config_update_event(); register_eventOfmp_config_update_ack_event(); register_eventOfmp_resources_update_event(); register_eventPort_stats_in_event(); register_eventAggregate_stats_in_event(); register_eventDesc_stats_in_event(); register_eventSwitch_mgr_join_event(); register_eventSwitch_mgr_leave_event(); register_eventBarrier_reply_event(); register_eventOpenflow_msg_event(); Regards KK On 23 February 2010 18:15, Kyriakos Zarifis kyr.zari...@gmail.com wrote: Hi Asish, this is actually being worked on right now, but for now you can generate the doxygen documentation which gives an overview of class hierarchies. To do so, edit nox/build/doc/doxygen/doxygen.conf and change the line GENERATE_HTML = NO to GENERATE_HTML = YES Then, in the same folder run 'doxygen doxygen.conf' and check the index.html in the newly created 'html' folder It will be a bit hard to decipher some of the relations between components and events for now, but check back at the and of the week. On Tue, Feb 23, 2010 at 5:20 PM, Ashish Agarwal agarwal1...@gmail.com wrote: Is there any way to get a list of events provided by default in NOX, along with a list of which components raise and handle them? Thank you. ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] list of events and their handlers
I meant the components provided with the NOX distribution. I just got the doxygen documentation working and see it provides a list of components and events. What is nox-draw-dependencies? -Ashish On Tue, Feb 23, 2010 at 10:32 PM, kk yap yap...@stanford.edu wrote: Hi Ashish, What do you mean by base components? The components can be listed from all the meta.xml. Yes, ugly. nox-draw-dependencies already does that to draw the dependency-graph though. Regards KK On 23 February 2010 19:28, Ashish Agarwal agarwal1...@gmail.com wrote: Thanks for the replies! This is very helpful. Similarly, is there a list of the base components available? On Tue, Feb 23, 2010 at 9:20 PM, kk yap yap...@stanford.edu wrote: Hi, The doxygen is unfortunately not complete AFAIK. For the record, cd doc/doxygen make html will do what Kyriakos says automatically. A quick list of events would be from event-dispatcher-component.cc. // Register the system events register_eventDatapath_join_event(); register_eventDatapath_leave_event(); register_eventError_event(); register_eventFlow_removed_event(); register_eventFlow_mod_event(); register_eventPacket_in_event(); register_eventPort_status_event(); register_eventShutdown_event(); register_eventBootstrap_complete_event(); register_eventFlow_stats_in_event(); register_eventQueue_stats_in_event(); register_eventQueue_config_in_event(); register_eventTable_stats_in_event(); register_eventOfmp_config_update_event(); register_eventOfmp_config_update_ack_event(); register_eventOfmp_resources_update_event(); register_eventPort_stats_in_event(); register_eventAggregate_stats_in_event(); register_eventDesc_stats_in_event(); register_eventSwitch_mgr_join_event(); register_eventSwitch_mgr_leave_event(); register_eventBarrier_reply_event(); register_eventOpenflow_msg_event(); Regards KK On 23 February 2010 18:15, Kyriakos Zarifis kyr.zari...@gmail.com wrote: Hi Asish, this is actually being worked on right now, but for now you can generate the doxygen documentation which gives an overview of class hierarchies. To do so, edit nox/build/doc/doxygen/doxygen.conf and change the line GENERATE_HTML = NO to GENERATE_HTML = YES Then, in the same folder run 'doxygen doxygen.conf' and check the index.html in the newly created 'html' folder It will be a bit hard to decipher some of the relations between components and events for now, but check back at the and of the week. On Tue, Feb 23, 2010 at 5:20 PM, Ashish Agarwal agarwal1...@gmail.com wrote: Is there any way to get a list of events provided by default in NOX, along with a list of which components raise and handle them? Thank you. ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
[nox-dev] Routing with NOX0.6
I notice that the routing module is behaving differently with NOX0.6 causing each switch en route to generate independent packet_ins, while NOX0.4 generates only 1 packet_in. This behavior incurs higher flow setup time. I have a topology of client - hpsw3 - hpsw1 - server . I performed a wget operation from client to server. Following is the control traffic sent/received by the controller (Timestamp was what my tcpdump captured): 1266984715.446715 PACKET_IN hpsw3 1266984715.446895 FLOW_MODhpsw3 1266984715.446936 PACKET_OUT hpsw3 1266984715.452756 PACKET_IN hpsw1 1266984715.452913 FLOW_MODhpsw1 1266984715.452937 PACKET_OUT hpsw1 Ideally, I would've expected to see the controller to push out the second FLOW_MOD soon enough (and not 6 ms after the PACKET_OUT). When I use NOX0.4, the action sequence is: 1266987591.116579PACKET_INhpsw3 1266987591.116725FLOW_MOD hpsw3 1266987591.116755FLOW_MOD hpsw1 1266987591.116787PACKET_OUT hpsw3 Any idea if there is a code change? Thanks Srini. ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org