Starting bridge over openrc net scripts via iproute2 failed with message: '"up" is invalid lladdr.'. Looking into /lib*/rc/net/iproute2.sh I found: functions _up() & _down() use short syntax: 'ip link set "${IFACE}" up', but full syntax are: 'ip link set dev "${IFACE}" up' ("dev" required). "Short" syntax works with eth*, but failed with br*. Also you can see help: # ip link set help ... ip link set { dev DEVICE | group DEVGROUP } [ { up | down } ] ... Attaching patch. Also, I want to suggest one fix (may be not too bug): bridge.sh put bridged interface (eth0,...) into "promisc" mode, but at least working (may be "better", but IMHO more accurate) way to put bridge interface (br*) into "promisc" mode. Current way is widely, but unofficial documented, but "new" - just work for me and don't affect hardware interface if possible. Attaching second patch. Reproducible: Always
Created attachment 321192 [details, diff] iproute2-dev.patch
Created attachment 321194 [details, diff] bridge-promisc.patch
PS About second patch (promisc): it works for bridging eth0 with tap* (qemu). Even if in eth-2-eth it wrong (I don't test it) - IMHO better to prefer less aggressive user config.
@robbat2: Ping, were you going to apply these or should I go ahead and apply them? Thanks, William
committed.
PS Now I verify: problem was only for number-less interace ('br', not 'br0'). But all OK. This 'br' works good in other places and after patch.