aboutsummaryrefslogtreecommitdiff
path: root/init
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2019-11-26 11:58:13 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2019-11-26 11:58:13 +0200
commited9ef80480d01e6a3d14e68bac075d2efac25514 (patch)
treea07d7a8a9606367b14e7fbc0a1628033ea22e718 /init
parent828c2687cc2e5b6f11394f4497eb0396d2863723 (diff)
Add workaround for Debian bug #945466
Diffstat (limited to 'init')
-rwxr-xr-xinit7
1 files changed, 7 insertions, 0 deletions
diff --git a/init b/init
index bc1452c..e9b59f7 100755
--- a/init
+++ b/init
@@ -242,6 +242,10 @@ priv_netbase="$(sed -e 's/^\(.*\)\.0\.0$/\1/' <<<"$priv_network")"
# joins the bridge. Needless to say, constantly changing MAC will wreck
# all kinds of networking havoc.
#
+# While bridge_hw should be (and used to be) enough, something was broken (bug
+# #945466) and now we set it manually and also pass it to DHCP (which runs
+# before post-up).
+#
cat <<EOF >/etc/network/interfaces
auto lo
iface lo inet loopback
@@ -255,6 +259,8 @@ iface br0 inet dhcp
bridge_maxwait 0
bridge_fd 0
bridge_hw $gmac
+ hwaddress $gmac
+ post-up ip link set br0 address $gmac
post-up ip link set $eth txqueuelen 4000
post-up ip link set br0 txqueuelen 4000
@@ -269,6 +275,7 @@ iface br1 inet static
bridge_maxwait 0
bridge_fd 0
bridge_hw $lmac
+ post-up ip link set br1 address $lmac
post-up ip link set br1 txqueuelen 4000
post-up iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
post-up iptables -A FORWARD -i br0 -o br1 -m state --state RELATED,ESTABLISHED -j ACCEPT