gre: Temporary workarounds for GRE on Xen.
authorJesse Gross <jesse@nicira.com>
Sun, 6 Dec 2009 02:49:37 +0000 (18:49 -0800)
committerJesse Gross <jesse@nicira.com>
Mon, 7 Dec 2009 20:48:08 +0000 (12:48 -0800)
Two issues exist that prevent GRE tunnels from working properly on
Xen: iptables rules and brcompatd.  The first issue is that GRE
traffic is not permitted by the default iptables rules.  The second
is that brcompatd removes ports from the configuration that it
believes do not exist, which causes GRE ports to be deleted before
they are created.

This commit avoids these issues though not in the most optimal way.
Better fixes will be forthcoming in the near future.

vswitchd/ovs-brcompatd.c
xenserver/etc_init.d_vswitch

index 99d08c5..7944b8b 100644 (file)
@@ -1103,13 +1103,13 @@ main(int argc, char *argv[])
          *   2) We periodically check all ports associated with bridges
          *      to see if they no longer exist.
          */
-        if (prune_timeout) {
+        /*if (prune_timeout) {
             rtnl_recv_update();
             prune_ports();
 
             nl_sock_wait(rtnl_sock, POLLIN);
             poll_timer_wait(prune_timeout);
-        }
+        }*/
 
         nl_sock_wait(brc_sock, POLLIN);
         unixctl_server_wait(unixctl);
index 7299430..1b250dd 100755 (executable)
@@ -261,6 +261,9 @@ function start {
     # ovs-vswitchd needs a few per bridge
     ulimit -n 4096
 
+    # Allow GRE traffic.
+    iptables -I INPUT -p gre -j ACCEPT
+
     if [ ! -e "$VSWITCHD_CONF" ]; then
         warning "$VSWITCHD_CONF does not exist"
         action "Creating empty $VSWITCHD_CONF" touch "$VSWITCHD_CONF"