[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#959075: Still not working on Debian testing



On Fri, 03 Jul 2020 10:42:26 +0800
Paul Wise <pabs@debian.org> wrote:

> > $ dpkg -l | grep ifenslave
> > ii  ifenslave                        2.10+nmu2
> > 
> > The lines "bond-slaves" and "bond-primary" still do not work:
> 
> Please retry your test with ifenslave 2.11.

Oops, sorry, I missed that one, I did not realize I'm on testing, not
sid :-(

Ok, two remaining cometic issues in 2.11 than :-)

# ifup bond0
/etc/network/if-pre-up.d/ifenslave: 39: echo: echo: I/O error
/etc/network/if-pre-up.d/ifenslave: 39: echo: echo: I/O error

You get this error when you try to set a /sys/ option that is not
allowed, but the script does not tell which option throws an error. See
diff attached. Example updelay and downdelay are apparently not allowed
using arp and this patch will tell you what went wrong:

iface bond0 inet static
        address 10.234.0.33
        netmask 255.255.255.0
        network 10.234.0.0
        broadcast 10.234.0.255
        bond-slaves eth2 eth3
        bond-mode active-backup
        bond-primary eth2
        bond-downdelay 200
        bond-updelay 200
        bond-arp_interval 2000
        bond-arp_ip_target 10.234.0.32, 10.234.0.34

# ifup bond0
[error] unable to set downdelay to 200
[error] unable to set updelay to 200


Another cosmetic issue:

# ifdown bond0
# modprobe -rv bonding
rmmod bonding
# ifup bond0
RTNETLINK answers: File exists
# 

But when loading the kernel module before ifup then the RTNETLINK
error disappears:

# ifdown bond0
# modprobe -rv bonding
rmmod bonding
# modprobe -v bonding
insmod /lib/modules/5.7.0-1-amd64/kernel/drivers/net/bonding/bonding.ko 
# ifup bond0
# 

For the rest is seems to be ok now, thnx! :)

Just my 2 cts,

R.

-- 
richard lucassen
https://contact.xaq.nl/
--- /etc/network/if-pre-up.d/ifenslave	2020-07-02 10:35:20.000000000 +0200
+++ /etc/network/if-pre-up.d/ifenslave.new	2020-07-03 11:03:15.807658451 +0200
@@ -36,8 +36,10 @@
 	# $1 = basename of the file in bonding/ to write to.
 	# $2 = value to write. Won't write if $2 is empty.
 	if [ -n "$2" ] ; then
-		echo "$2" > "/sys/class/net/$BOND_MASTER/bonding/$1"
-		return $?
+		echo "$2" > "/sys/class/net/$BOND_MASTER/bonding/$1" 2>/dev/null
+		EXITCODE=$?
+		[ ${EXITCODE} -ne 0 ] && echo "[error] unable to set $1 to $2"
+		return ${EXITCODE}
 	fi
 	return 0
 }

Reply to: