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



Attachment: conf.db
Description: conf.db

_______________________________________________
discuss mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to