Bridging twice eth and gre interfaces ?


I've got a question about the GRE tunnels and the bridging capabilities.
I have 2 private networks, separated y internet, and 2 linux gw.

lanA ---------|gwA|------www--------|gwB|----lanB

between gwA and gwB, I've set up a GRE tunnel, so the lanA can seen the
lanB with its private addresses and lanB can see lanA in the same way.

My question is about the broadcasts. On each lan, I've got users PC
(with microsoft) and I'd like to make these PC to see each other in the
workgroups. But, I do not know how to make the broadcast from lanA go
through the GRE tunnel to reach lanB PCs.

Do I have to set up a brige upon the ethA and greA interfaces, and
another bridge upon ethB and greB interfaces to make it possible ?

Do I have to use L2TP between gwA and gwB ?
What would be the best choice ?

Note : datas are not sensitives ones, so GRE is sufficient. Replacing it
by IPsec could be done, but, that's not my deal at the moment ;)