]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/net/geneve.c
vxlan, gre, geneve: Set a large MTU on ovs-created tunnel devices
[karo-tx-linux.git] / drivers / net / geneve.c
index 240620c5888a18538e2bb66d6b2bda6d0209fd1b..69e31e2a68fcc5782f8553eabbfe588158765d17 100644 (file)
@@ -1356,11 +1356,21 @@ struct net_device *geneve_dev_create_fb(struct net *net, const char *name,
 
        err = geneve_configure(net, dev, &geneve_remote_unspec,
                               0, 0, 0, htons(dst_port), true);
-       if (err) {
-               free_netdev(dev);
-               return ERR_PTR(err);
-       }
+       if (err)
+               goto err;
+
+       /* openvswitch users expect packet sizes to be unrestricted,
+        * so set the largest MTU we can.
+        */
+       err = geneve_change_mtu(dev, IP_MAX_MTU);
+       if (err)
+               goto err;
+
        return dev;
+
+ err:
+       free_netdev(dev);
+       return ERR_PTR(err);
 }
 EXPORT_SYMBOL_GPL(geneve_dev_create_fb);