#!/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
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`
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}
exit 0;
;;
esac
-# End