Hello,

I’m using 2 Ubuntu Xenial 16.04 LTS with the following:
- kernel:  4.4.0-28-generic
- OVS version:  2.5.0  (installed from ubuntu packages: openvswitch-common & 
openvswitch-switch)

I’m configuring a GRE tunnel between OVS bridges running on each of the 
machines with:

ovs-vsctl add-port br0 tun0 -- set Interface tun0 type=gre 
options:remote_ip=x.x.x.x

and I achieve connectivity between VMs, as desired, via the GRE tunnel.


Problem:  iperf test show really low performance (734 bits/sec !!) considering 
a baseline that shows  almost 1G over the direct link.

Troubleshooting performed:
1. increased MTU of the physical link on both sides: `ip link set dev enp0s8 
mtu 2000`  => same poor perf
2. increased MTU of the br0 on both OVS bridges: `ip link set dev br0 mtu 1700` 
 => same poor perf

[FYI:   I performed the same operations on an older version of Ubuntu = Trusty 
14.04 LTS, kernel 3.13.0-86, and after adjusting the MTU as above, the GRE 
performance was satisfactory ~ 414 Mbps !! ]

I continued troubleshooting my Ubuntu Xenial 16.04 (kernel 4.4.0-28):
3. I noticed that this system has these interfaces gre0@NONE, gretap0@NONE, 
gre_sys@NONE  (which did not appear on Ubuntu Trusty 14.04, kernel 3.13.0-86) 
and realized that Ubuntu Xenial 16.04 uses the linux kernel module ip_gre 
instead of the one provided by Open vSwitch:

SNAPSHOT from Ubuntu Xenial 16.04 (kernel 4.4.0-28):
```
root@xenial ~$ lsmod | grep gre
vport_gre              16384  1
ip_gre                 20480  1 vport_gre
ip_tunnel              28672  1 ip_gre
gre                    16384  1 ip_gre
openvswitch            98304  3 vport_gre

root@xenial ~$ dmesg | grep gre
..
[  379.947836] gre: GRE over IPv4 demultiplexor driver
[  379.955295] ip_gre: GRE over IPv4 tunneling driver
[  379.960352] device gre_sys entered promiscuous mode
```

SNAPSHOT from Ubuntu Trusty (kernel 3.13.0-86):
```
root@trusty ~$ lsmod | grep gre
gre                    13796  1 openvswitch

root@trusty ~$ dmesg | grep gre
[    9.270743] gre: GRE over IPv4 demultiplexor driver
root@box-0 ~$
```

3. It seems that latest OVS version uses vport_gre kernel module for GRE and 
this one depends on Linux GRE module (ip_gre):

```
root@xenial ~$ modinfo vport_gre
filename:       
/lib/modules/4.4.0-28-generic/kernel/net/openvswitch/vport-gre.ko
alias:          vport-type-3
license:        GPL
description:    OVS: GRE switching port
srcversion:     A4455AB407AE7569E81E791
depends:        openvswitch,ip_gre
intree:         Y
vermagic:       4.4.0-28-generic SMP mod_unload modversions
```



Questions:
1.  is this intended - that the latest versions of OVS uses the linux GRE 
module (instead of its own, as it seem it was the case in the past)?
2. I tried stopping OVS and unloading the Linux GRE module - but that was 
unsuccessful.  How should I fix my problem in order to achieve satisfactory 
level of performance over GRE ?


Thank you,


DC
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to