Skip to content

Commit

Permalink
Add package gluon-radv-filterd
Browse files Browse the repository at this point in the history
This package drops all incoming router advertisements except for the
default router with the best metric according to B.A.T.M.A.N. advanced.

Note that advertisements originating from the node itself (for example
via gluon-radvd) are not affected.
  • Loading branch information
jplitza committed Jul 29, 2016
1 parent 3d3eb24 commit 2aca457
Show file tree
Hide file tree
Showing 6 changed files with 583 additions and 0 deletions.
41 changes: 41 additions & 0 deletions package/gluon-radv-filterd/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
include $(TOPDIR)/rules.mk

PKG_NAME:=gluon-radv-filterd
PKG_VERSION:=1
PKG_RELEASE:=1

PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)

include $(INCLUDE_DIR)/package.mk

define Package/gluon-radv-filterd
SECTION:=gluon
CATEGORY:=Gluon
TITLE:=Filter IPv6 router advertisements
DEPENDS:=+gluon-ebtables
endef

define Package/gluon-radv-filterd/description
Gluon community wifi mesh firmware framework: filter IPv6 router advertisements
endef

define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
$(CP) ./src/* $(PKG_BUILD_DIR)/
endef

define Build/Configure
endef

define Build/Compile
CFLAGS="$(TARGET_CFLAGS)" CPPFLAGS="$(TARGET_CPPFLAGS)" $(MAKE) -C $(PKG_BUILD_DIR) $(TARGET_CONFIGURE_OPTS)
endef

define Package/gluon-radv-filterd/install
$(CP) ./files/* $(1)/

$(INSTALL_DIR) $(1)/usr/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/gluon-radv-filterd $(1)/usr/sbin/
endef

$(eval $(call BuildPackage,gluon-radv-filterd))
7 changes: 7 additions & 0 deletions package/gluon-radv-filterd/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
gluon-radv-filterd
==================
This package drops all incoming router advertisements except for the
default router with the best metric according to B.A.T.M.A.N. advanced.

Note that advertisements originating from the node itself (for example
via gluon-radvd) are not affected.
17 changes: 17 additions & 0 deletions package/gluon-radv-filterd/files/etc/init.d/gluon-radv-filterd
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/bin/sh /etc/rc.common

START=50

SERVICE_WRITE_PID=1
SERVICE_DAEMONIZE=1

DAEMON=/usr/sbin/gluon-radv-filterd


start() {
service_start $DAEMON
}

stop() {
service_stop $DAEMON
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
chain('RADV_FILTER', 'DROP')
rule 'FORWARD -p IPv6 -i bat0 --ip6-protocol ipv6-icmp --ip6-icmp-type router-advertisement -j RADV_FILTER'
rule 'RADV_FILTER -j ACCEPT'
4 changes: 4 additions & 0 deletions package/gluon-radv-filterd/src/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
all: gluon-radv-filterd

gluon-radv-filterd: gluon-radv-filterd.c
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -Wall -o $@ $^ $(LDLIBS)
Loading

0 comments on commit 2aca457

Please sign in to comment.