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

Michael Proto mike at
Tue Oct 28 19:35:33 PDT 2008

On Tue, Oct 28, 2008 at 7:56 PM, Marc G. Fournier <freebsd at> wrote:

> Hash: SHA1
> I'm trying to run a QEMU VM on top of a FreeBSD 7.x server ... I've tried
> the
> exact same setup on my desktop, using 192.168.1.x and an fxp device, and it
> all
> works perfectly, but as soon as I do this on another machine on a public
> IP,
> I'm not getting any routing, I can't even ping it from the same machine ...
> My first thought was  that there was an issue with IP aliases already on
> the
> bge device, but tried doing the following:
> ifconfig bridge0 destroy
> ifconfig tap0 destroy
> ifconfig fxp0 -alias
> ifconfig fxp0 alias netmask
> ifconfig bridge0 create
> ifconfig tap0 create
> ifconfig bridge0 addm fxp0 addm tap0 up
> on my desktop here and then starting up the qemu image, and all worked as
> expected, so having an alias on the interface, before or after, doesn't
> make a
> difference ... at least with the fxp device ...
> Using VNC to connect to the VM, I can look at the interface, and it says it
> is
> connected ... and the IP/Gateway are all set right for the network I'm on,
> netmask is set to, same as on the 'private network' ...
> Please note that when I say "it works" on my private network / desktop, I'm
> using it to connect to my work computer, across the Internet, via Windows
> RDP,
> and it works flawlessly ...
> Looking at /var/log/messages, you can see the bridge being setup:
> Oct 27 18:53:21 io kernel: bridge0: Ethernet address: ce:44:c7:1b:47:40
> as well as the tap device:
> Oct 27 18:53:25 io kernel: tap0: Ethernet address: 00:bd:96:ae:67:00
> Oct 27 18:53:41 io kernel: tap0: promiscuous mode enabled
> and the ethernet going promiscuous:
> Oct 26 20:53:56 ganymede kernel: fxp0: promiscuous mode enabled
> So, all I have left is that everything is being setup okay, but there is
> something I'm missing here ... something with bridge<->bge, maybe?  I've
> even
> tries to compare the output of 'ifconfig -a' as far as the bridge0 and tap0
> devices are concerned, and other then the mac address, they look identical
> also
> ...
> So, pointers to what I may be missing here?  a sysctl value that I need to
> set
> for this interface?
I'm having a little trouble understanding the setup you have. In your test
case, is the IP of your VM If so, then I don't think you want
that IP aliased on the physical interface of your bridge. The VM NIC will
answer for packets destined on your local segment, which the bridge would
forward to the physical interface. If you assign the VM's IP to that
physical interface, then your host would think that traffic is destined for
itself and not pass it to the bridge.

If I'm misunderstanding and the alias (or whatever the equiv
in your production setup) isn't being used by your VM then I would start
looking at the ARP traffic crossing both the tap0, lo0, and physical

What does an 'ifconfig -a' look like on both systems? netstat -rn? Any
packet filtering?


More information about the freebsd-stable mailing list