[packages/rc-scripts] - rel 5; fix bonding start when bondX is not automatically created

arekm arekm at pld-linux.org
Mon Mar 4 10:56:16 CET 2019


commit 549f68300fefa6c6488f07198610a55b4472ccb1
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Mon Mar 4 10:56:10 2019 +0100

    - rel 5; fix bonding start when bondX is not automatically created

 rc-scripts-bond.patch | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 99 insertions(+)
---
diff --git a/rc-scripts-bond.patch b/rc-scripts-bond.patch
new file mode 100644
index 0000000..c178258
--- /dev/null
+++ b/rc-scripts-bond.patch
@@ -0,0 +1,99 @@
+commit 83014f96551132c825ff52d94330e366148f20cb
+Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
+Date:   Mon Mar 4 10:19:27 2019 +0100
+
+    Create bond master interface if it doesn't exist when slave interface is being ifuped.
+
+diff --git a/lib/ifup b/lib/ifup
+index dee4e58..38780bf 100755
+--- a/lib/ifup
++++ b/lib/ifup
+@@ -125,6 +125,9 @@ if [ -n "$ETHTOOL_OPTS" ] ; then
+ fi
+ 
+ if is_yes "$SLAVE" && [ -n "$MASTER" ] ; then
++    # create master if it doesn't exist yet
++    [ ! -d "/sys/class/net/${MASTER}" ] && ip link add "${MASTER}" type bond
++
+     nls "Enslaving %s to %s" "$DEVICE" "$MASTER"
+     ip link set "$DEVICE" master "$MASTER"
+     ip link set "$DEVICE" up
+commit d67c5d59733955d1e6def78a6fc6f5917e214247
+Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
+Date:   Mon Mar 4 10:32:13 2019 +0100
+
+    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 4b19bc7..e90f21e 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 d151b04..86bc978 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 0000000..b0bc0c9
+--- /dev/null
++++ b/lib/ifup-bond
+@@ -0,0 +1,42 @@
++#!/bin/sh
++#
++#    ifup-bond - Bonding configuration script
++#    Copyright (C) 2019 Arkadiusz Miśkiewicz <misiek at pld-linux.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 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
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/rc-scripts.git/commitdiff/549f68300fefa6c6488f07198610a55b4472ccb1



More information about the pld-cvs-commit mailing list