From cd7c703b99b3d0759609a7f4348833aef626551b Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sat, 28 Sep 2013 21:24:13 +0200 Subject: [PATCH] Some work on the next-node anycast address --- gluon/gluon-next-node/Makefile | 36 +++++++++++++++++++ .../generate/etc/init.d/gluon-next-node | 25 +++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 gluon/gluon-next-node/Makefile create mode 100644 gluon/gluon-next-node/generate/etc/init.d/gluon-next-node diff --git a/gluon/gluon-next-node/Makefile b/gluon/gluon-next-node/Makefile new file mode 100644 index 0000000..aa51c20 --- /dev/null +++ b/gluon/gluon-next-node/Makefile @@ -0,0 +1,36 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=gluon-next-node +PKG_VERSION:=0.3.2.99 +PKG_RELEASE:=1 + +PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) + +include $(INCLUDE_DIR)/package.mk + +define Package/gluon-next-node + SECTION:=gluon + CATEGORY:=Gluon + TITLE:=Next-node anycast address + DEPENDS:=+gluon-core +gluon-mesh-batman-adv +iproute2 +kmod-macvlan +endef + +define Package/gluon-next-node/description + Gluon community wifi mesh firmware framework: next-node anycast address +endef + +define Build/Prepare + mkdir -p $(PKG_BUILD_DIR) +endef + +define Build/Configure +endef + +define Build/Compile +endef + +define Package/gluon-next-node/install + $(GLUON_GENERATE) ./generate/* $(1)/ +endef + +$(eval $(call BuildPackage,gluon-next-node)) diff --git a/gluon/gluon-next-node/generate/etc/init.d/gluon-next-node b/gluon/gluon-next-node/generate/etc/init.d/gluon-next-node new file mode 100644 index 0000000..963a63c --- /dev/null +++ b/gluon/gluon-next-node/generate/etc/init.d/gluon-next-node @@ -0,0 +1,25 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2013 Project Gluon + +START=95 + + +start() { + ip link add link br-mesh name local-node type macvlan + ip link set local-node address @next_node.mac@ + + ip address add @next_node.ip4@/32 dev local-node + ip route add @next_node.prefix4@ dev br-freifunk + + ip address add @next_node.ip6@/128 dev local-node + ip route add @next_node.prefix6@ dev br-freifunk + + ip link set local-node up +} + +stop() { + ip route del @next_node.prefix4@ dev br-freifunk + ip route del @next_node.prefix6@ dev br-freifunk + ip link set local-node down + ip link del local-node +}