What is the difference between TUN driver and TAP driver?
TUN works with IP frames. TAP works with Ethernet frames.
Does TAP driver support kernel Ethernet bridging?
Yes. Linux and FreeBSD drivers support Ethernet bridging.
So you can't put a tun device in a bridge, but you can put a tap device in a bridge. Sorry if this doesn't answer your question directly but I assume it's a way to derive an answer to it.
# ip tuntap add mode tap tap0
# cat /sys/class/net/tap0/tap_flags
cat: /sys/class/net/tap0/tap_flags: No such file or directory
# cat /sys/class/net/tap0/tun_flags
0x1802
# ip link del tap0
# ip tuntap add mode tun tap0
# cat /sys/class/net/tap0/tap_flags
cat: /sys/class/net/tap0/tap_flags: No such file or directory
# cat /sys/class/net/tap0/tun_flags
0x1801
Looks like it's tun_flags even when specifying a tap device