<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotfiles/etc/systemd/network/30-ethernet-bond0.network, branch master</title>
<subtitle>My linux config and rc files</subtitle>
<id>https://git.sommerfeld.dev/dotfiles/atom/etc/systemd/network/30-ethernet-bond0.network?h=master</id>
<link rel='self' href='https://git.sommerfeld.dev/dotfiles/atom/etc/systemd/network/30-ethernet-bond0.network?h=master'/>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/'/>
<updated>2026-05-22T13:28:17Z</updated>
<entry>
<title>fix(net): positive-match physical NICs into bond0</title>
<updated>2026-05-22T13:28:17Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-05-22T13:28:17Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=1dfee96401c03666aa3eeec7a40fbc42ff05e1b3'/>
<id>urn:sha1:1dfee96401c03666aa3eeec7a40fbc42ff05e1b3</id>
<content type='text'>
Name= negation list was failing in practice — veth/waydroid interfaces
were still being enslaved into bond0, taking down host networking.

Switch to positive matching: Path=pci-*|platform-* AND Name=en* AND
Type=ether. Virtual interfaces (veth, virbr, waydroid0, docker0, ...)
have no udev ID_PATH and never start with 'en', so they're cleanly
excluded by the AND of all three keys.
</content>
</entry>
<entry>
<title>fix(net): keep waydroid0 out of bond0, allow it through nftables</title>
<updated>2026-05-22T13:28:17Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-05-22T13:28:17Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=18277fc1ec921dfcfa61c0b2f0b40fb62cfa070f'/>
<id>urn:sha1:18277fc1ec921dfcfa61c0b2f0b40fb62cfa070f</id>
<content type='text'>
systemd-networkd's Type=ether matcher was enslaving waydroid0 into
bond0 the moment 'waydroid session start' ran, taking down the host's
default route. Mirror the libvirt/docker negation pattern.

Also mirror the existing virbr0 forward accepts for waydroid0 so the
Android container can actually reach the internet through MASQUERADE.
</content>
</entry>
<entry>
<title>fix(networkd): exclude virtual taps/bridges from bond0 enslavement</title>
<updated>2026-05-13T12:43:41Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-05-13T12:43:41Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=8567dd49e9e688f26dc0b266f211655974539299'/>
<id>urn:sha1:8567dd49e9e688f26dc0b266f211655974539299</id>
<content type='text'>
Type=ether matches ALL L2 ethernet interfaces, including libvirt-created
vnet* tap devices. Without Name= negations, when a VM starts its tap is
pulled into bond0 instead of staying with virbr0, killing DHCP/NAT for
the guest (Windows ends up with a 169.254.x APIPA address).

Add Name= negations to skip libvirt taps/bridges, generic taps, and
common container engine virtual interfaces.
</content>
</entry>
<entry>
<title>docs(etc/networkd): document Type= match breadth for bond0</title>
<updated>2026-04-21T00:24:31Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-04-21T00:24:31Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=d46aa13b408b5c3cac800742e33ac4cb0081c4b0'/>
<id>urn:sha1:d46aa13b408b5c3cac800742e33ac4cb0081c4b0</id>
<content type='text'>
Type=ether and Type=wlan match every interface of that class.
Add comments pointing out that future USB/Thunderbolt dongles
would get auto-enslaved into bond0, and how to narrow the match
if that becomes undesirable.
</content>
</entry>
<entry>
<title>feat(etc): track drifted host configs</title>
<updated>2026-04-21T00:23:55Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-04-21T00:23:55Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=c4b67e9fcc126c3e358462051b78b6a2cdec40de'/>
<id>urn:sha1:c4b67e9fcc126c3e358462051b78b6a2cdec40de</id>
<content type='text'>
Adopted via 'just etc-add' after 'just etc-drift' surfaced them:
locale.conf, locale.gen, mkinitcpio.conf, mkinitcpio.d/linux.preset,
pacman.conf, resolved.conf, systemd/network/30-bond*, and the shokz
udev blacklist rule.
</content>
</entry>
</feed>
