aiccu: Add helper script that adds routing information to the database
authorStefan Schantl <stefan.schantl@ipfire.org>
Wed, 26 Aug 2015 21:00:37 +0000 (21:00 +0000)
committerStefan Schantl <stefan.schantl@ipfire.org>
Wed, 26 Aug 2015 21:00:37 +0000 (21:00 +0000)
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Makefile.am
src/functions/functions.aiccu
src/helpers/aiccu [new file with mode: 0644]

index 2f1c892..94dfc75 100644 (file)
@@ -163,6 +163,7 @@ dist_network_SCRIPTS = \
        src/ppp/pppoe-server
 
 dist_helpers_SCRIPTS = \
+       src/helpers/aiccu \
        src/helpers/aiccu-config-helper \
        src/helpers/bridge-stp \
        src/helpers/dhcpd-config-helper \
index a247503..1b5708f 100644 (file)
@@ -121,6 +121,7 @@ aiccu_write_config() {
                print
 
                print "ipv6_interface ${device}"
+               print "setupscript /usr/lib/network/helpers/aiccu"
                print
 
                print "# Security"
@@ -128,6 +129,7 @@ aiccu_write_config() {
                print
 
                # Misc.
+               print "defaultroute false"
                print "verbose true"
                print "daemonize false"
                print "automatic true"
diff --git a/src/helpers/aiccu b/src/helpers/aiccu
new file mode 100644 (file)
index 0000000..604e719
--- /dev/null
@@ -0,0 +1,56 @@
+#!/bin/bash
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2015  IPFire Network Development Team                         #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+. /usr/lib/network/functions
+
+# Read network settings
+network_settings_read
+
+assert isset ACTION
+assert isset INTERFACE
+
+case "${ACTION}" in
+       up)
+               db_set "${INTERFACE}/ipv6/local-ip-address" "${LOCAL_ADDRESS}"
+               db_set "${INTERFACE}/ipv6/remote-ip-address" "${REMOTE_ADDRESS}"
+               db_set "${INTERFACE}/ipv6/active" "1"
+               db_set "${INTERFACE}/ipv6/mtu" "${MTU}"
+
+               # Refresh routing
+               routing_update "${INTERFACE}" ipv6
+               routing_default_update
+               ;;
+
+       down)
+               db_delete "${INTERFACE}/ipv6"
+
+               # Refresh routing
+               routing_update "${INTERFACE}" ipv6
+               routing_default_update
+               ;;
+
+       *)
+               log ERROR "Unhandled action called: ${ACTION}"
+               exit ${EXIT_ERROR}
+               ;;
+esac
+
+exit ${EXIT_OK}