An unexpected behaviour occurred while creating GRE tunnels with Open vSwitch. In a nutshell, GRE tunnels appear to be not working when the name of the tunnel interface exceeded 13 characters. The tunnel is stored in the database, but it does not show up on the datapath. This behaviour occurred on OVS 1.0.99 and 1.2.0, but not on OVS 1.0.2.
I'm not sure whether this actually is a bug or the effect of some
misconfiguration. The configuration db from the Ubuntu system is attached.
Reproducing the issue
----------------------------------
1) add an OVS bridge
2) add a port to the bridge and set the interface plugged in it to gre type.
Make sure the name for the port/interface exceeds 13 characters.
e.g.: ovs-vsctl add-port test_br abcdef01234567 -- set interface
abcdef01234567 type=gre options:key=999 options:remote_ip=192.168.1.1
3) verify the port is attached to the bridge with ovs-vsctl list-port test_br,
but not to the datapath with ovs-dpctl show test_br.
-> In this case interfaces attached to test_br are not able to communicate
with interfaces attached to the remote bridge running on 192.168.1.1
4) add another gre interface, whose name this time is shorter than or exactly
13 characters.
e.g.: ovs-vsctl add-port test_br abcdef0123456 -- set interface
abcdef0123456 type=gre options:key=999 options:remote_ip=192.168.1.1
5) verify the port is correctly attached to bridge and shows up in the datapath
-> in this case interfaces attached to test_br are able to communicate with
interfaces attached to the remote bridge running on 192.168.1.1
NOTE: A symmetric OVS bridge, with a gre interface with the same key, is
configured on 192.168.1.1
Details
----------------------------------
Found on the following systems:
1) XenServer 6.0 kernel 2.6.32.12-0.7.1.xs6.0.0.529.170661#xen
Open vSwitch 1.0.99 as shipped with XenServer
2) Ubuntu Oneiric Ocelot kernel 3.0.0-12-generic-pae
Open vSwitch 1.2.0 as installed from apt
ovs-vsctl output for Ubuntu system:
salvatore@cuba-ubuntu:~$ sudo ovs-vsctl list-ports test
abcdef0123456789
ciccio
ovs-dpctl output for Ubuntu system:
salvatore@cuba-ubuntu:~$ sudo ovs-dpctl show test
system@test:
lookups: frags:0, hit:0, missed:0, lost:0
port 0: test (internal)
port 1: ciccio (gre: key=111, remote_ip=192.168.1.1)
Workaround
---------------------------------
Use less than 14 characters for gre interface names.
Regards,
Salvatore
conf.db
Description: conf.db
_______________________________________________ discuss mailing list [email protected] http://openvswitch.org/mailman/listinfo/discuss
