How to bind a static ether address to bridge?

Jeremy Chadwick freebsd at
Fri Feb 25 07:32:44 UTC 2011

On Fri, Feb 25, 2011 at 12:56:55AM -0600, Zhihao Yuan wrote:
> My server is behind a DHCP-enabled router, and it has two network
> interfaces, wlan0 and bge0. I want to use them together, so I bind
> them, plus tap0 to bridge0. But bridge has a random MAC address for
> each time it was created, which makes me hard to reserve an IP for it
> (since I need to forward some ports to this server). So I set
>, which makes bridge0 to use bge0's MAC
> address, always. But this causes another problem: the packets sent to
> bridge0 is also sent to bge0, -- the packets are duplicated! The
> kernel have to drop half of them. So how can I bind a distinct MAC
> address to a bridge?

I'm not trying to divert you from what you're trying to solve, but can
you accomplish what you need without use of bridge(4)?

I ask this because I just set up a home NAT router of my own which has 3
interfaces on it: em0 (WAN/connects to cable modem), em1 (LAN), and
ath0/wlan0 (for wireless).  I *explicitly* chose not to use bridge(4)
because of the MAC address complications, and instead use two separate
private networks ( for em1 and for
wlan0).  This works without any hitches, no MAC issues, etc..

| Jeremy Chadwick                                   jdc at |
| Parodius Networking              |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.               PGP 4BD6C0CB |

More information about the freebsd-stable mailing list