Qemu bridged private network

Hi All

I have two qemu instances that I want to link then together via bridging. The
problem is as follows:

I create a new bridge like so: brctl addbr br1

then I create two tap devices tap0 and tap1
tunctl -u whoami -t tap0
tunctl -u whoami -t tap1

after that I add the interfaces to the bridge:
brctl addif br1 tap0
brctl addif br1 tap1

then in set the device’s ip:
ifconfig tap0 0.0.0.0 promisc
ifconfig tap1 0.0.0.0 promisc

then I bring up the bridge:
ifconfig br1 up

Once all this is done I start the qemu instances using the tap devices as
network interface. I add the following to the one qemu cmd line:
-net nic,macaddr=<mac address> -net tap,ifname=tap0,script=no
and
-net nic,macaddr=<mac address> -net tap,ifname=tap1,script=no
to the other

The mac addresses of the two machines are dynamically generated.
The problem is that the machines cant ping each other. Each ping states
network unreachable. When I show the status of the bridge I get:

bridge name bridge id STP enabled interfaces
br1 8000.a2dc2a58467a no tap0
tap1

When I run brctl showmacs br1 I get the following:

port no mac addr is local? ageing timer
1 1a:29:2b:3f:07:30 no 131.80
2 a2:dc:2a:58:46:7a yes 0.00
1 c6:6a:26:f4:17:e5 yes 0.00

As I understand it, the bridge should transparently forward any packets
between the two machines. And their mac addresses should appear in the
showmacs command. The only macs that appear are the two tap interfaces and
what appears to be the mac of the first machine to get its network stack up
and running. That machines mac gets cleared out eventually. My firewall is
deactivated and the default netfilter policy on the FORWARD chain is ACCEPT.

This is the output from ifconfig:

br1 Link encap:Ethernet HWaddr A2:DC:2A:58:46:7A
inet6 addr: fe80::a0dc:2aff:fe58:467a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1968 (1.9 Kb) TX bytes:368 (368.0 b)

eth0 Link encap:Ethernet HWaddr 00:1C:C0:55:E6:7E
inet addr:192.168.3.6 Bcast:192.168.3.255 Mask:255.255.255.0
inet6 addr: fe80::21c:c0ff:fe55:e67e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:179929 errors:0 dropped:0 overruns:0 frame:0
TX packets:129353 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:224043807 (213.6 Mb) TX bytes:27248628 (25.9 Mb)
Interrupt:220 Base address:0x8000

eth0:test Link encap:Ethernet HWaddr 00:1C:C0:55:E6:7E
inet addr:172.16.1.6 Bcast:172.16.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:220 Base address:0x8000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:13774 errors:0 dropped:0 overruns:0 frame:0
TX packets:13774 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:18327242 (17.4 Mb) TX bytes:18327242 (17.4 Mb)

tap0 Link encap:Ethernet HWaddr C6:6A:26:F4:17:E5
inet6 addr: fe80::c46a:26ff:fef4:17e5/64 Scope:Link
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:4 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:2052 (2.0 Kb) TX bytes:0 (0.0 b)

tap1 Link encap:Ethernet HWaddr A2:DC:2A:58:46:7A
inet6 addr: fe80::a0dc:2aff:fe58:467a/64 Scope:Link
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:713 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:4 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:44472 (43.4 Kb) TX bytes:2052 (2.0 Kb)

This is an opensuse 11.1 installation.

Can anyone help with this?

Thx
Julian