Same MAC address on two VLANs & subnets

Gerald Vogt vogt at spamcop.net
Fri Feb 17 18:44:23 UTC 2012


On 17.02.12 18:02, Simon Hobson wrote:
> Can you post your config and log entries for this host ?

The complete config is quite long. But the problem comes down to a
simple config like this:

# VLAN 10 subnet
subnet 10.10.10.0 netmask 255.255.255.0 {
  option routers 10.10.10.254;

  range 10.10.10.1 10.10.10.100;
}

# VLAN 20 subnet
subnet 10.20.20.0 netmask 255.255.255.0 {
  option routers 10.20.20.254;

  range 10.20.20.1 10.20.20.100;
}

A client with a VLAN/802.1q capable NIC connects into both VLANs and
tries to get an IP address with DHCP from both subnets.

The standard logs won't show much. I have a debug log with more
information but no access to it at the moment. But what I have learned
from the logs and the source code is this:

The while loop in dhcp.c:3409 goes through all leases for the given
client identifier. If it finds a lease with binding state active but in
a different subnet (line 3435) it jumps to line 3451 where the lease is
released in line 3456.

For example, if the client first gets the IP address 10.10.10.5 on VLAN
10 and then does a DHCPDISCOVER on VLAN 20 I see this in the debug log:

trying next lease matching client id: 10.10.10.5
wrong network segment: 10.10.10.5

followed by the message that lease 10.10.10.5 goes from active to free.

Looking at that while loop I am pretty sure that any given client
identifier can only have a single active lease at any time...

Gerald


More information about the dhcp-users mailing list