Hi all, We're working on making the network stack (mainly below L3) and device drivers MP-safe. This RFC is one of the efforts, making bridge (but STP), vioif and wm MP-safe. Bridging (L2 forwarding) works in parallel.
The patch set can be found here: https://github.com/ozaki-r/netbsd-src/tree/experimental/mpsafe-bridge-wm-vioif Note that applying only this patch has less fun because all interrupts are delivered to CPU#0 so that bridge's softint runs on only the CPU. Please apply another patch set (*); it allows to change a destination CPU of an IRQ to a CPU but CPU#0. The following example changes the destination CPU of IRQ#22 to CPU#2: sysctl -w kern.cpu_affinity.irq="22:2" With the patch set you can fully try the above new feature. (*) https://github.com/knakahara/netbsd-src/commits/k-nakahara-POC-irq-affinity Any comments are appreciated. Thanks, ozaki-r
