Have questions? Stuck? Please check our FAQ for some common questions and answers.

Description

Flow_mod is one of the most important business packets. The controller send various flows to openflow switches by flow_mod, and the switch determines how to process the received service packets based on these flows.

This test will create a switch connected to a controller, through the switch, we send different rates of packet_in message to the controller, and the controller will feedback with flow_mod.

There's two content should measure:

      1、The maximum flow_mod rate

      2、The latency of flow_mod

We configure one hundred thousand packet_in packets on the IxNetwork and send them to the controller through different rates to analyze the flow_mod rate and latency.

The rate is in accordance with the sequence 1000、2000、3000、4000 ... ...

Suggestions

  1. The transmission frequency of packet_in
    We suggest the packet_in interval is 50ms, that is 20 copies of packet_in messages are send in one second, every copy contains numbers of packet_in packets, and this can be configured in IxNetwork.
  2. Environment
    This test result depends on the test environment, the results measured in different environments will be very different, in the VM environment and the physical environment the results of the test difference of nearly 10 times.

Preparation

  • Features install

    onos> feature:install onos-drivers
    onos> feature:install onos-openflow
    onos> feature:install onos-openflow-base
    onos> feature:install onos-app-fwd
    onos> feature:install onos-host-provider

Test steps

      1. Config IxNetwork with one switch and two hosts. Set the packet_in messages of the switch, the interval is 50ms, total 100000 packets, using ICMP packets.

      2. Start the controller with the features install.

      3. Start the OF protocol of the switch.

      4. Wait until the channel is established and Echo message interaction started.

      5. Start the capture of IxNetwork.

      6. Enable packet_in, wait until all of the packet_in messages are sent and  no flow_mod messages receive.

      7. Stop the capture, analyse the messages captured. First verify the number of flow_mod message N, N should be equal to 100000, if N is less than 1 million, restart this test with smaller packet_in rate. Second, calculate the time difference between the first flow_mod message and the last flow_mod message T, the flow_mod rate can be calculated by N/T. Third, calculate the time delay of each packet_in-flow_mod pair as t1、t2、t3 ... ... , of course this can be caculate by decentralized way(select ten sets of pairs), at last calculate the latency by t1+t2+t3 ... ... /N.

      8. Clean the configuration of controllers and IxNetwork.

      9. Repeat test step 1-9 for five times.

      10. Restart the test with another packet_in rate.

Test Results

  • Flow_mod rate and latency

    Packet_in rate(p/s)Flow_mode rate(p/s)Latency(ms)
    1000100589.6
    20001998241.5
    30002997683.1
    40003126612.2
    50003254673.3
    600033611233
    700035561421
  • Histogram of Flow_mod rate


  • Histogram of Flow_mod latency



As the results shown, the maximum rate of flow_mod is 3000-4000 p/s, and the latency increase with the rase of packet_out.

 

 

 

 

 

 

 

  • No labels