freifunk_bridge_create
freifunk_bridge_attach "${BATMAN_INTERFACE}"
+ # Attach all other interfaces
+ freifunk_attach_all_interfaces
+
# Make sure that alfred is started
/etc/init.d/alfred start &>/dev/null
}
local device="${1}"
sysctl -w "net.ipv6.conf.${device}.disable_ipv6=0" >/dev/null
+
+ # Disable autoconf because we do not need and want IPFire
+ # to get a globally routed prefix.
+ sysctl -w "net.ipv6.conf.${device}.autoconf=0" >/dev/null
}
function freifunk_ipv6_disable() {
local device="${1}"
sysctl -w "net.ipv6.conf.${device}.disable_ipv6=1" >/dev/null
+ sysctl -w "net.ipv6.conf.${device}.autoconf=1" >/dev/null
+}
+
+function freifunk_attach_all_interfaces() {
+ local address
+ local interface
+ local mesh
+
+ for mesh in FREIFUNK1 FREIFUNK2 FREIFUNK3 FREIFUNK4; do
+ local interface_var="${mesh}_DEV"
+ interface="${!interface_var}"
+
+ [ -n "${interface}" ] || continue
+
+ # Continue if $interface does not exist
+ [ -d "/sys/class/net/${interface}" ] || continue
+
+ # Attach the device to the bridge
+ freifunk_bridge_attach "${interface}"
+ done
}