Skip to content

Commit 85d33f3

Browse files
authored
fix: AlpineBonded ENI template bad bond options (#98)
When both bond-master and bond-slaves are present, bond-slaves is ignored. This leads to the bond-* options associated with the bond-slaves stanza to be ignored as well. We observed that this led to provisioned Alpine linux machines to have balance-rr (mode 3) bonding mode instead of 802.3ad (mode 4) bonding mode. This caused packets to be sent out-of-order, leading to TCP/IP congestion control due to packet loss. Removing the bond-master option from the ethX stanzas fixes this issue and ensures the bonding driver uses our declared bond-* options in the bond stanzas.
1 parent 36f9f3e commit 85d33f3

File tree

2 files changed

+0
-13
lines changed

2 files changed

+0
-13
lines changed

packetnetworking/distros/alpine/templates/bonded/etc_network_interfaces.j2

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ iface {{ iface.meta_name }} inet manual
88
{% if iface.meta_name != interfaces[0].meta_name %}
99
pre-up sleep 4
1010
{% endif %}
11-
bond-master {{ iface.bond }}
1211
{% endfor %}
1312

1413
{% for bond in bonds | sort %}

packetnetworking/distros/alpine/test_alpine_3_bonded.py

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,10 @@ def test_alpine_3_public_bonded_task_etc_network_interfaces(alpine_3_bonded_netw
2323
2424
auto eth0
2525
iface eth0 inet manual
26-
bond-master bond0
2726
2827
auto eth1
2928
iface eth1 inet manual
3029
pre-up sleep 4
31-
bond-master bond0
3230
3331
auto bond0
3432
iface bond0 inet static
@@ -85,12 +83,10 @@ def test_alpine_3_private_bonded_task_etc_network_interfaces(alpine_3_bonded_net
8583
8684
auto eth0
8785
iface eth0 inet manual
88-
bond-master bond0
8986
9087
auto eth1
9188
iface eth1 inet manual
9289
pre-up sleep 4
93-
bond-master bond0
9490
9591
auto bond0
9692
iface bond0 inet static
@@ -133,12 +129,10 @@ def test_alpine_3_public_bonded_task_etc_network_interfaces_with_custom_private_
133129
134130
auto eth0
135131
iface eth0 inet manual
136-
bond-master bond0
137132
138133
auto eth1
139134
iface eth1 inet manual
140135
pre-up sleep 4
141-
bond-master bond0
142136
143137
auto bond0
144138
iface bond0 inet static
@@ -200,12 +194,10 @@ def test_alpine_3_private_bonded_task_etc_network_interfaces_with_custom_private
200194
201195
auto eth0
202196
iface eth0 inet manual
203-
bond-master bond0
204197
205198
auto eth1
206199
iface eth1 inet manual
207200
pre-up sleep 4
208-
bond-master bond0
209201
210202
auto bond0
211203
iface bond0 inet static
@@ -258,22 +250,18 @@ def test_alpine_3_public_bonded_task_etc_network_interfaces_with_two_bonds(
258250
259251
auto eth0
260252
iface eth0 inet manual
261-
bond-master bond0
262253
263254
auto eth1
264255
iface eth1 inet manual
265256
pre-up sleep 4
266-
bond-master bond0
267257
268258
auto eth2
269259
iface eth2 inet manual
270260
pre-up sleep 4
271-
bond-master bond1
272261
273262
auto eth3
274263
iface eth3 inet manual
275264
pre-up sleep 4
276-
bond-master bond1
277265
278266
auto bond0
279267
iface bond0 inet static

0 commit comments

Comments
 (0)