From 8a51242f3e02cd29123c7bf61e3b7fe23ab3c915 Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Sat, 28 Sep 2013 21:24:13 +0200
Subject: [PATCH] Some work on the next-node anycast address

---
 package/gluon-next-node/Makefile              | 36 +++++++++++++++++++
 .../generate/etc/init.d/gluon-next-node       | 25 +++++++++++++
 2 files changed, 61 insertions(+)
 create mode 100644 package/gluon-next-node/Makefile
 create mode 100644 package/gluon-next-node/generate/etc/init.d/gluon-next-node

diff --git a/package/gluon-next-node/Makefile b/package/gluon-next-node/Makefile
new file mode 100644
index 000000000..aa51c20f6
--- /dev/null
+++ b/package/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/package/gluon-next-node/generate/etc/init.d/gluon-next-node b/package/gluon-next-node/generate/etc/init.d/gluon-next-node
new file mode 100644
index 000000000..963a63c86
--- /dev/null
+++ b/package/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
+}
-- 
GitLab