]> git.ipfire.org Git - people/mfischer/ipfire-2.x.git/blobdiff - src/initscripts/networking/any
Merge branch 'master' into next
[people/mfischer/ipfire-2.x.git] / src / initscripts / networking / any
index 5609a9efe93271262fcd68561a2e94280a5c65bd..0facf23d890264850e87c434e1ef2684ffcf3990 100644 (file)
@@ -1,56 +1,54 @@
 #!/bin/sh
-########################################################################
-# Begin
-#
-# Description : ANY Device Script
-#
-# Authors     : Nathan Coulson - nathan@linuxfromscratch.org
-#               Kevin P. Fleming - kpfleming@linuxfromscratch.org
-#               Michael Tremer - mitch@ipfire.org
-#               Maniacikarus - maniacikarus@ipfire.org
-#
-# Version     : 01.00
-#
-# Notes       : 
-#
-########################################################################
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2022  IPFire Team  <info@ipfire.org>                     #
+#                                                                             #
+# 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/>.       #
+#                                                                             #
+###############################################################################
 
-. /etc/sysconfig/rc 
+. /etc/sysconfig/rc
 . ${rc_functions}
 eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
 
 if [ "$(basename $0)" == "green" ]; then
        DEVICE="${GREEN_DEV}"
        ADDRESS="${GREEN_ADDRESS}"
-       BROADCAST="${GREEN_BROADCAST}"
        NETADDRESS="${GREEN_NETADDRESS}"
        NETMASK="${GREEN_NETMASK}"
        DEVICE="${GREEN_DEV}"
+       MTU="${GREEN_MTU}"
 elif [ "$(basename $0)" == "blue" ]; then
        DEVICE="${BLUE_DEV}"
        ADDRESS="${BLUE_ADDRESS}"
-       BROADCAST="${BLUE_BROADCAST}"
        NETADDRESS="${BLUE_NETADDRESS}"
        NETMASK="${BLUE_NETMASK}"
        DEVICE="${BLUE_DEV}"
+       MTU="${BLUE_MTU}"
 elif [ "$(basename $0)" == "orange" ]; then
        DEVICE="${ORANGE_DEV}"
        ADDRESS="${ORANGE_ADDRESS}"
-       BROADCAST="${ORANGE_BROADCAST}"
        NETADDRESS="${ORANGE_NETADDRESS}"
        NETMASK="${ORANGE_NETMASK}"
        DEVICE="${ORANGE_DEV}"
+       MTU="${ORANGE_MTU}"
 fi
 
-if [ -z "${BROADCAST}" ]; then
-       boot_mesg "BROADCAST variable missing from input, cannot continue." ${FAILURE}
-       echo_failure
-       exit 1
-fi
-               
 if [ -n "${ADDRESS}" -a -n "${NETMASK}" ]; then
        PREFIX=`whatmask ${NETMASK} | grep -e ^CIDR | awk -F': ' '{ print $2 }' | cut -c 2-`
-       args="${args} ${ADDRESS}/${PREFIX} broadcast ${BROADCAST}"
+       args="${args} ${ADDRESS}/${PREFIX}"
 else
        boot_mesg "ADDRESS and/or NETMASK variable missing from input, cannot continue." ${FAILURE}
        echo_failure
@@ -62,7 +60,7 @@ case "${1}" in
        start)
                boot_mesg "Bringing up the ${DEVICE} interface..."
                boot_mesg_flush
-               
+
                # Check if an interface is there...
                if ip link show ${DEVICE} > /dev/null 2>&1; then
                        link_status=`ip link show ${DEVICE} 2> /dev/null`
@@ -77,9 +75,17 @@ case "${1}" in
                        exit 1
                fi
 
+               # Set the MTU
+               if [ -n "${MTU}" ]; then
+                       if ! ip link set dev "${DEVICE}" mtu "${MTU}" &>/dev/null; then
+                               boot_mesg "Could not set MTU of ${MTU} to ${DEVICE}..."
+                               echo_warning
+                       fi
+               fi
+
                # Create & Enable vnstat data collection
                /usr/bin/vnstat -u -i ${DEVICE} -r --enable --force > /dev/null 2>&1
-               
+
                if [ ! "${ADDRESS}" == "1.1.1.1" ]; then
                        boot_mesg "Adding IPv4 address ${ADDRESS} to the ${DEVICE} interface..."
                        ip addr add ${args} dev ${DEVICE}
@@ -99,4 +105,3 @@ case "${1}" in
                exit 0;
                ;;
 esac
-# End