Tags: patch This regression is currently up for release in the next stable release of Debian this week! We think this is supposed to be fixed in #987842 but it is not.
In your case you could simply remove the stanzas for enp4s0f0 and enp4s0f1 which would leave you with just the stanza for bond1: iface bond1 inet static bond-slaves enp4s0f0 enp4s0f1 That should work but it is still a regression as it breaks configuration which worked before. Therefore and also for more complex scenarios where configuration specific for children (or s-word) interfaces is needed see the attached patch which kind of restores the old behaviour. It ensures that only already up interfaces with bonding configuration are skipped. That new / broken behaviour was introduced with the following commit which had multiple issues. Most of them are already fixed. commit 326c2b142943cc98798bab653ee96ade91ae58af Author: Guus Sliepen <g...@debian.org> Date: Tue May 8 21:02:30 2018 +0200 Make a clear distinction between configuring masters and slaves. In particular, don't configure a master interface from a slave stanza. Instead, require that a stanza for the master exists, and call ifup recursively on it if necessary.
diff --git a/debian/ifenslave.if-pre-up b/debian/ifenslave.if-pre-up index 7579d68..97a13e5 100755 --- a/debian/ifenslave.if-pre-up +++ b/debian/ifenslave.if-pre-up @@ -83,8 +83,8 @@ enslave_slaves() export IFENSLAVE_ENV_NAME="IFUPDOWN_$slave" IFUPDOWN_IFACE="$(printenv "$IFENSLAVE_ENV_NAME")" unset IFENSLAVE_ENV_NAME - if ifquery --state "$slave" 2>/dev/null || [ -n "$IFUPDOWN_IFACE" ] ; then - # Skipping interface that's already up or being configured + if ($(ifquery --state "$slave" >/dev/null 2>&1) && $(ifquery "$slave" | grep -q bond-master)) || [ -n "$IFUPDOWN_IFACE" ] ; then + # Skipping interface that's already up or being configured and has bonding configuration continue else # Ensure $slave is down.