CPqD / ofsoftswitch13

OpenFlow 1.3 switch.
http://cpqd.github.com/ofsoftswitch13
304 stars 192 forks source link

iperf does not work #302

Closed shizhenzhao closed 4 years ago

shizhenzhao commented 4 years ago

I am new to ofsoftswitch13.

I created a simple topology as follows: h1 h1-eth0:s1-eth1 h2 h2-eth0:s1-eth2 s1 lo: s1-eth1:h1-eth0 s1-eth2:h2-eth0 c0

pingall works perfect. However, iperf gets stuck.

I checked previous similar issues, and turned off gro, tso and gso offloading using the following commands:

sudo ethtool -K s1-eth1 gro off tso off gso off sudo ethtool -K s1-eth2 gro off tso off gso off xterm h1 sudo ethtool -K h1-eth0 gro off tso off gso off xterm h2 sudo ethtool -K h2-eth0 gro off tso off gso off

Unfortunately, iperf still does not work.

Anyone can help? Thanks!

ederlf commented 4 years ago

Hi, can you check if the switch is still running after you perform the iperf?

ps aux | grep ofd

Also, which application are you running?

shizhenzhao commented 4 years ago

Thanks for your response!

I tried "ps aux | grep off". I think ofsoftswitch is still running. Here is the result: root 2227 0.3 1.9 110184 30424 pts/20 S+ 09:29 0:00 ofdatapath -i s1-eth1 s1-eth2 s1-eth3 punix:/tmp/s1 -d 000000000001

I use Ryu as the controller. The controller app is attached below.

qos_simple_switch_13.txt (Change the filename to qos_simple_switch_13.py, and then run "ryu-manager qos_simple_switch_13.py")

I tested in both ubuntu16.04 and ubuntu18.04, and had the same issue.

ederlf commented 4 years ago

Hi, the issue is with TCP checksum offloading.

Try: ethtool -K <interface> tx off

shizhenzhao commented 4 years ago

It works! Thanks for your help!