The bridge interface under Linux is quite dumb. In the end, it's just very inconvenient to use: you have to delete all IP configurations from the attached interfaces and somehow migrate the configuration to the bridge interface. I don't understand why (it doesn't make sense at all - normally, a bridge is not an endpoint for communication).
OpenBSD is much better; a bridge interface acts exactly like a physical switch. You create it, add the interfaces and you're done. Is it somehow possible to get similar behavior in Linux?