how to make dhcp-server work with a bridge interface in linux?

Carlos Carvalho carlos at
Wed Sep 6 18:10:14 UTC 2006


We have several vlans in our net. In the servers they're joined
together in a single bridge interface like this:

ifconfig eth1 up
vconfig set_name_type DEV_PLUS_VID_NO_PAD
brctl addbr br0

for i in <range of vlan tags>; do
   vconfig add eth1 $i
   brctl addif br0 eth1.$i

for i in <range of vlan tags>; do
   ifconfig eth1.$i up

ifconfig br0 <internal-ip>

Note that eth1 doesn't get an IP.

The problem is that diskless clients do not manage to get an IP from
the server; the logs show a long series of DHCPDISCOVER/DHCPOFFER or
BOOTREQUEST/BOOTREPLY but the clients don't seem to get the answer.
There are also some (occasional) messages from the dhcp server like
"ip length 576 disagrees with bytes received 590" followed by
"accepting packet with data after udp payload". Windows clients seem
to work.

I'm using linux I've tried to set

route add -host dev br0

but it makes no difference. I also tried to compile the server
uncommenting USE_SOCKETS in includes/site.h, according to an old
suggestion from Ted Lemon
to no avail.

Any ideas?

More information about the dhcp-users mailing list