# Match only real, physical ethernet via Path= (PCI + USB) and udev's # predictable name pattern. This is more robust than Type=ether + Name= negation: # negations on Name= matched virtual interfaces in practice, which enslaved # them into bond0 and broke container/VM networking. # # Path=pci-* covers built-in PCIe NICs (enpXsY, ethN). # Path=platform-* covers SoC-attached NICs (none on x86 laptops but harmless). # Name=enx* covers USB ethernet dongles, which have no stable PCI path. [Match] Path=pci-* platform-* Name=en* enx* Type=ether [Network] Bond=bond0 PrimarySlave=true