From b4aecddd6c30d88186f1f3e37776c160dd34e72b Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 30 Aug 2016 00:19:14 +0200 Subject: [PATCH] gluon-core: add gluon_mesh netifd proto This new protocol will allow configuring mesh interfaces independently of the used mesh protocol. --- .../files/lib/gluon/core/mesh/setup.d/.keep | 0 .../lib/gluon/core/mesh/teardown.d/.keep | 0 .../files/lib/netifd/proto/gluon_mesh.sh | 39 +++++++++++++++++++ 3 files changed, 39 insertions(+) create mode 100644 package/gluon-core/files/lib/gluon/core/mesh/setup.d/.keep create mode 100644 package/gluon-core/files/lib/gluon/core/mesh/teardown.d/.keep create mode 100755 package/gluon-core/files/lib/netifd/proto/gluon_mesh.sh diff --git a/package/gluon-core/files/lib/gluon/core/mesh/setup.d/.keep b/package/gluon-core/files/lib/gluon/core/mesh/setup.d/.keep new file mode 100644 index 00000000..e69de29b diff --git a/package/gluon-core/files/lib/gluon/core/mesh/teardown.d/.keep b/package/gluon-core/files/lib/gluon/core/mesh/teardown.d/.keep new file mode 100644 index 00000000..e69de29b diff --git a/package/gluon-core/files/lib/netifd/proto/gluon_mesh.sh b/package/gluon-core/files/lib/netifd/proto/gluon_mesh.sh new file mode 100755 index 00000000..aaa24c84 --- /dev/null +++ b/package/gluon-core/files/lib/netifd/proto/gluon_mesh.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +. /lib/functions.sh +. ../netifd-proto.sh +init_proto "$@" + +proto_gluon_mesh_init_config() { + proto_config_add_boolean fixed_mtu + proto_config_add_boolean transitive +} + +proto_gluon_mesh_setup() { + export CONFIG="$1" + export IFNAME="$2" + + local fixed_mtu transitive + json_get_vars fixed_mtu transitive + + export FIXED_MTU="$fixed_mtu" + export TRANSITIVE="$transitive" + + for script in /lib/gluon/core/mesh/setup.d/*; do + [ ! -x "$script" ] || "$script" + done + + proto_init_update "$IFNAME" 1 + proto_send_update "$CONFIG" +} + +proto_gluon_mesh_teardown() { + export CONFIG="$1" + export IFNAME="$2" + + for script in /lib/gluon/core/mesh/teardown.d/*; do + [ ! -x "$script" ] || "$script" + done +} + +add_protocol gluon_mesh