diff --git a/package/gluon-core/files/lib/netifd/proto/gluon_wired.sh b/package/gluon-core/files/lib/netifd/proto/gluon_wired.sh index 708e9743eb69499f8dca251cc0d4dd3a0afa8fe0..5bc33d226b2050146b5d7b7bf9427c97d5ceaa75 100755 --- a/package/gluon-core/files/lib/netifd/proto/gluon_wired.sh +++ b/package/gluon-core/files/lib/netifd/proto/gluon_wired.sh @@ -7,6 +7,7 @@ init_proto "$@" proto_gluon_wired_init_config() { proto_config_add_boolean transitive proto_config_add_int index + proto_config_add_boolean vxlan } xor2() { @@ -28,15 +29,16 @@ proto_gluon_wired_setup() { local meshif="$config" - local vxlan="$(lua -e 'print(require("gluon.site").mesh.vxlan(true))')" + local transitive index vxlan + json_get_vars transitive index vxlan - local transitive index - json_get_vars transitive index + # default args + [ -z "$vxlan" ] && vxlan=1 proto_init_update "$ifname" 1 proto_send_update "$config" - if [ "$vxlan" = 'true' ]; then + if [ "$vxlan" -eq 1 ]; then meshif="vx_$config" json_init diff --git a/package/gluon-core/luasrc/lib/gluon/upgrade/210-interface-wan b/package/gluon-core/luasrc/lib/gluon/upgrade/210-interface-wan index 070b264ddcb35d6d93239a78a048c1b4e6051a97..051b213eaae826ae7e990c5ba9e1e881305c94e9 100755 --- a/package/gluon-core/luasrc/lib/gluon/upgrade/210-interface-wan +++ b/package/gluon-core/luasrc/lib/gluon/upgrade/210-interface-wan @@ -7,6 +7,7 @@ uci:section('network', 'interface', 'mesh_wan', { ifname = 'br-wan', proto = 'gluon_wired', index = 0, + vxlan = site.mesh.vxlan(true), }) local enable = site.mesh_on_wan(false) diff --git a/package/gluon-core/luasrc/lib/gluon/upgrade/220-interface-lan b/package/gluon-core/luasrc/lib/gluon/upgrade/220-interface-lan index e80cbf9fd3a5c0db2aaee3db54b9243d9830e651..19ccfb496b95f5c038b8a1bee62426fb8def8a1c 100755 --- a/package/gluon-core/luasrc/lib/gluon/upgrade/220-interface-lan +++ b/package/gluon-core/luasrc/lib/gluon/upgrade/220-interface-lan @@ -15,6 +15,7 @@ uci:section('network', 'interface', 'mesh_lan', { igmp_snooping = false, proto = 'gluon_wired', index = 4, + vxlan = site.mesh.vxlan(true), }) if sysconfig.lan_ifname:match(' ') then