Testing/Monitoring

Basic Testing

To test the setup, run the following basic tests:
  • Login to each of the switches and insure that the CPU utilization (using command # show cpu ) is less than 90%
  • On the controller PC, first check the switches are connected to the controller. You can check this by:
$ netstat -an | grep 6663
  • On each NEC switch, you can run the following command to see the flow table is actually installed:
# showswitch detail  <optional: id> 
# showflow detail
  • On other switches, you can use dpctl for obtaining the flow table information. Perform the following:
$ cd 
$ ./utilities/dpctl dump-flows tcp:<switch ip>:<listener port>
  • Verify that all users in the network are able to ping an external entity, and also be able to ping each other..
If all these work, then you are ready to start a more indepth analysis using the following tools.

Monitoring

We recommend periodic monitoring of your data channel and control channel. For data channel test, simple ping and iperf prove fairly effective. For control channel test, Stanford has developed the following tools to decipher the control channel messages and to stress the switch. Following is a brief summary.

oftrace

oftrace is an OpenFlow dump analyzer/tracing library. Any control channel traffic (typically sent over the port 6633 from switch to the FlowVisor) can be captured using tcpdump and then parsed using oftrace to understand the type of control messages. Steps:
  • Capture the control channel traffic using:
$ sudo tcpdump -i eth0 -s0 -w /tmp/dummy.pcap tcp port 6633
  • Download and compile latest code of oftrace while being in user mode:
$ git clone git://www.openflowswitch.org/oftrace.git 
$ cd oftrace
$ ./boot.sh
$ ./configure --with-openflow-src-dir=/path/to/openflow 
$ make
$ sudo make install
  • Once installed, you can pass the pcap to oftrace for parsing as follows:
$./ofdump dummy.pcap  [optional: port] 
This will print details of each OpenFlow message sent. Typically, this is used when there are routing issues and you are unsure if the controller is sending the right messages. For more details, see the oftrace manual

oflops

OFlops (OpenFLow Operations Per Second) is a standalone controller that benchmarks various aspects of an OpenFlow switch. Oflops implements a modular framework for adding and running implementation-agnostic tests to quantify an switch's performance.
  • Download and compile latest code of oftrace while being in user mode:
$ git clone git://www.openflowswitch.org/oflops.git 
$ cd oflops
$ ./boot.sh
$ ./configure --with-openflow-src-dir=/path/to/openflow 
$ make
$ sudo make install
  • This can be run as a guest controller and it performs benchmarking. The following is how you would execute oflops to learn about switch capabilities:
sudo ./oflops -p 8888 -c eth0 [optional: -d  -d ] ./example_modules/openflow_packet_in/.libs/libof_packet_in.so
This will start stressing the switch by sending many new flows into the ports eth2 and eth3, so as to generate packet-in events. Then it computes the rate, count and delay of setting up the flows. For more details, see the oflops manual

Topic revision: r3 - 09 Mar 2010 - 16:03:06 - SriniSeetharaman
 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback