From 9cdd8d51c10488883494adaef6876761e2530c69 Mon Sep 17 00:00:00 2001
From: Florian Maurer <f.maurer@outlook.de>
Date: Mon, 1 Jul 2024 23:22:03 +0200
Subject: [PATCH] mesh-vpn-wireguard: fix set incorrect MTU on the wireguard
 interface (#3258)

---
 .../luasrc/lib/gluon/upgrade/400-mesh-vpn-wireguard           | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/package/gluon-mesh-vpn-wireguard/luasrc/lib/gluon/upgrade/400-mesh-vpn-wireguard b/package/gluon-mesh-vpn-wireguard/luasrc/lib/gluon/upgrade/400-mesh-vpn-wireguard
index b58ceb910..420e04089 100755
--- a/package/gluon-mesh-vpn-wireguard/luasrc/lib/gluon/upgrade/400-mesh-vpn-wireguard
+++ b/package/gluon-mesh-vpn-wireguard/luasrc/lib/gluon/upgrade/400-mesh-vpn-wireguard
@@ -6,6 +6,8 @@ local util = require('gluon.util')
 local site = require 'gluon.site'
 local sp = util.subprocess
 local wait = require 'posix.sys.wait'
+local vpn_core = require('gluon.mesh-vpn')
+local _, active_vpn = vpn_core.get_active_provider()
 
 local wg_private_key = uci:get("network_gluon-old", 'wg_mesh', "private_key")
 
@@ -58,6 +60,8 @@ uci:section('network', 'interface', 'wg_mesh', {
 	proto = 'wireguard',
 	fwmark = 1,
 	private_key = wg_private_key,
+	-- Add 70 bytes for IPv6 VXLAN overhead
+	mtu = active_vpn.mtu() + 70,
 })
 
 uci:section('network', 'interface', 'mesh_wg_mesh', {
-- 
GitLab