From patchwork Mon May 19 08:52:01 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonio Quartulli X-Patchwork-Id: 4009 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=178.209.62.157; helo=s3.neomailbox.net; envelope-from=antonio@meshcoding.com; receiver=b.a.t.m.a.n@lists.open-mesh.org Received: from s3.neomailbox.net (s3.neomailbox.net [178.209.62.157]) by open-mesh.org (Postfix) with ESMTPS id B7D516007EE for ; Mon, 19 May 2014 10:53:11 +0200 (CEST) From: Antonio Quartulli To: b.a.t.m.a.n@lists.open-mesh.org Date: Mon, 19 May 2014 10:52:01 +0200 Message-Id: <1400489521-22006-1-git-send-email-antonio@meshcoding.com> Cc: Antonio Quartulli Subject: [B.A.T.M.A.N.] [PATCH] openwrt-feed-batman-adv: enable batadv_vlan protocol X-BeenThere: b.a.t.m.a.n@lists.open-mesh.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: The list for a Better Approach To Mobile Ad-hoc Networking List-Id: The list for a Better Approach To Mobile Ad-hoc Networking List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 May 2014 08:53:12 -0000 From: Antonio Quartulli This protocol can be used to change VLAN-specific settings of a batman-adv soft-interface. At the moment only ap_isolation is available, but new ones can be easily added as soon as batman-adv get to support more. Interface configuration example: config interface 'bat0vlan1' option protocol 'batadv_vlan' option ifname 'bat0.1' option ap_isolation '1' Cc: Bastian Bittorf Signed-off-by: Antonio Quartulli --- **this patch has been tested only with the stable package in openwrt-routing** batman-adv-devel/Makefile | 1 + .../files/lib/netifd/proto/batadv_vlan.sh | 29 ++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 batman-adv-devel/files/lib/netifd/proto/batadv_vlan.sh diff --git a/batman-adv-devel/Makefile b/batman-adv-devel/Makefile index e8b0881..76f5861 100644 --- a/batman-adv-devel/Makefile +++ b/batman-adv-devel/Makefile @@ -78,6 +78,7 @@ define KernelPackage/batman-adv-devel/install $(INSTALL_DATA) ./files/lib/batman-adv/config.sh $(1)/lib/batman-adv $(INSTALL_BIN) ./files/etc/hotplug.d/net/99-batman-adv $(1)/etc/hotplug.d/net $(INSTALL_BIN) ./files/lib/netifd/proto/batadv.sh $(1)/lib/netifd/proto + $(INSTALL_BIN) ./files/lib/netifd/proto/batadv_vlan.sh $(1)/lib/netifd/proto endef $(eval $(call KernelPackage,batman-adv-devel)) diff --git a/batman-adv-devel/files/lib/netifd/proto/batadv_vlan.sh b/batman-adv-devel/files/lib/netifd/proto/batadv_vlan.sh new file mode 100644 index 0000000..85002c3 --- /dev/null +++ b/batman-adv-devel/files/lib/netifd/proto/batadv_vlan.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +. /lib/functions.sh +. ../netifd-proto.sh +init_proto "$@" + +proto_batadv_vlan_init_config() { + proto_config_add_string "ap_isolation" +} + +proto_batadv_vlan_setup() { + local config="$1" + local iface="$2" + + # VLAN specific variables + local device="${iface%.*}" + local vid="${iface#*.}" + + # batadv_vlan options + local ap_isolation + + json_get_vars ap_isolation + + echo "$ap_isolation" > "/sys/class/net/${device}/mesh/vlan${vid}/ap_isolation" + proto_init_update "$iface" 1 + proto_send_update "$config" +} + +add_protocol batadv_vlan