[nox-dev] list of events and their handlers

2010-02-23 Thread Ashish Agarwal
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

2010-02-23 Thread Ramesh Mishra
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

2010-02-23 Thread kk yap
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

2010-02-23 Thread Ashish Agarwal
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

2010-02-23 Thread Srini Seetharaman
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