From c14b4c0b4be7ec265b54be6e881e9a7e11ac628a Mon Sep 17 00:00:00 2001 From: lemoer <git@irrelefant.net> Date: Thu, 18 Mar 2021 23:12:55 +0100 Subject: [PATCH] gluon-core: add vxlan option to gluon_wired proto Before this commit the decision whether a vxlan layer will be introduced between the lower interface before the interface is added to batman was inside the proto. Now the decision is moved to the user of the proto. --- .../gluon-core/files/lib/netifd/proto/gluon_wired.sh | 10 ++++++---- .../luasrc/lib/gluon/upgrade/210-interface-wan | 1 + .../luasrc/lib/gluon/upgrade/220-interface-lan | 1 + 3 files changed, 8 insertions(+), 4 deletions(-) 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 708e9743e..5bc33d226 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 070b264dd..051b213ea 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 e80cbf9fd..19ccfb496 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 -- GitLab