From: Arkadiusz Miśkiewicz Date: Mon, 4 Mar 2019 09:32:13 +0000 (+0100) Subject: Create bondX interfaces when ifcfg-bondX is called with ifup and interface doesn... X-Git-Tag: 0.4.19~5 X-Git-Url: http://git.pld-linux.org/gitweb.cgi?a=commitdiff_plain;h=3cbe2a740d8dacf8414eabe8b0120f7d225ca710;p=projects%2Frc-scripts.git Create bondX interfaces when ifcfg-bondX is called with ifup and interface doesn't exist, yet. --- diff --git a/lib/Makefile.am b/lib/Makefile.am index 4b19bc77..e90f21e4 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -16,6 +16,7 @@ scripts_SCRIPTS = \ ifdown-sl \ ifdown-vlan \ ifup-aliases \ + ifup-bond \ ifup-br \ ifup-ipx \ ifup-irda \ diff --git a/lib/functions.network b/lib/functions.network index d151b04e..86bc978a 100644 --- a/lib/functions.network +++ b/lib/functions.network @@ -226,7 +226,7 @@ setup_ip_param () # set handling for bridge case "$DEVICETYPE" in - br|atm|lec|irda|vlan) + bond|br|atm|lec|irda|vlan) HANDLING=1 ;; esac diff --git a/lib/ifup-bond b/lib/ifup-bond new file mode 100755 index 00000000..a72da255 --- /dev/null +++ b/lib/ifup-bond @@ -0,0 +1,42 @@ +#!/bin/sh +# +# ifup-bond - Bonding configuration script +# Copyright (C) 2019 Arkadiusz Miśkiewicz +# +# 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 2 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, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# +PATH=/sbin:/usr/sbin:/bin:/usr/bin + +cd /lib/rc-scripts +. /etc/sysconfig/network +. /etc/rc.d/init.d/functions +. /lib/rc-scripts/functions.network + +CONFIG=$1 +source_config + +if [ "foo$2" = "fooboot" ] && is_no "${ONBOOT}"; then + exit +fi + +. /etc/sysconfig/network + +# set all major variables +setup_ip_param + +if [ ! -d "/sys/class/net/${DEVICE}" ]; then + ip link add "${DEVICE}" type bond +fi