Problem with Bridging ... and bge devices under FreeBSD 7.x?

Bakul Shah bakul at
Tue Oct 28 21:32:33 PDT 2008

On Wed, 29 Oct 2008 00:35:35 -0300 "Marc G. Fournier" <freebsd at>  wrote:
> netstat -nr on the 192 server shows the IP to be at:
> > netstat -nr | grep 168.1.100
>      52:54:00:12:34:56  UHLW        1        1   fxp0   1128
> which is very odd, as that MAC address is not found via ifconfig -a:
> > ifconfig -a | grep 52
> >
> while arp -a also shows the 52:54 MAC, although MACs for the ifconfig -a are,
> in fact:
> > ifconfig -a | grep ether
>         ether 00:02:b3:ee:da:3e
>         ether 5e:d1:e6:8b:55:50
>         ether 00:bd:25:18:6d:00

The setup you get with a tap device talking to qemu is this:


Each end has its own mac address. The VM's NIC (ed0 or rl0
or whatever) gets addresses like 52:54:00:12:34:56.  The host
will have an arp entry for it once the VM sends an arp
packet.  But tap0 will have an address assigned by the tap
driver, something like 00:bd:xx:xx:xx.

If you have two VMs running at the same time on two different
machines and they both have identical MAC addresses, that
could be part of your problem.

But your network topolgy is still not clear.  What would help
is something like this:

You have:
machine A (runs VM A1).
machine B (runs VM B1).
machine C (runs windows).

Can you ping from A to C?
Can you ping from B to C?
Can you ping from A to A1?
Can you ping from B to B1?
Can you ping from A1 to C?
Can you ping from B1 to C?
Can you ping from C to A1?
Can you ping from C to B1?

All of the above should work.  Next you can try tcpdump on
tap devices to see what is going on.  If you are still
stumped provide ifconfig -a output on A, B, C, A1 and B1.  On
windows machine you can do ipconfig/all to get at this
information (IIRC).

More information about the freebsd-stable mailing list