This is a follow on from a previous question (Switch sending DHCP packets to wrong VLAN) but the problem turns out that it's not with the switch, but more so in the NIC hardware I believe.
Basically, I'm seeing broadcast traffic leak across VLAN's on a HP N40L with the Intel 82574L NIC.
First, DHCPDISCOVER
appears in both VLAN's (the untagged 1 and tagged 10)
Jul 23 06:51:50 gateway dhcpd: DHCPDISCOVER from 90:84:0d:9c:13:df via eth0.10
Jul 23 06:51:50 gateway dhcpd: DHCPDISCOVER from 90:84:0d:9c:13:df via eth0: network 192.168.100.0/25: no free leases
DHCPOFFER
is sent back to VLAN10 only because VLAN1 has no free leases
Jul 23 06:51:51 gateway dhcpd: DHCPOFFER on 192.168.100.207 to 90:84:0d:9c:13:df (iPhone) via eth0.10
DHCPREQUEST
for the same address appears in both VLAN's again:
Jul 23 06:51:52 gateway dhcpd: DHCPREQUEST for 192.168.100.207 (192.168.100.200) from 90:84:0d:9c:13:df (iPhone) via eth0.10
Jul 23 06:51:52 gateway dhcpd: DHCPACK on 192.168.100.207 to 90:84:0d:9c:13:df (iPhone) via eth0.10
Jul 23 06:51:52 gateway dhcpd: DHCPREQUEST for 192.168.100.207 (192.168.100.200) from 90:84:0d:9c:13:df (iPhone) via eth0: wrong network.
Jul 23 06:51:52 gateway dhcpd: DHCPNAK on 192.168.100.207 to 90:84:0d:9c:13:df via eth0
The switch has been replaced since my original question where I thought it was the switch. It was a Cisco switch, I've replaced it with a HP. I have dozens of HP switches that I configure and manage, and I've triple checked the config and 100% sure it's correct. The relevant config (where 25 is the N40L, 26 is the WAP):
vlan 1
name "LAN"
untagged 1-25
ip address 192.168.100.99 255.255.255.128
no untagged 26
exit
vlan 10
name "WLS"
untagged 26
no ip address
tagged 25
exit
And the config on the server (CentOS 6)
gateway ~ # ip a s eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether a0:b3:cc:e7:58:2e brd ff:ff:ff:ff:ff:ff
inet 192.168.100.100/25 brd 192.168.100.127 scope global eth0
gateway ~ # ip a s eth0.10
4: eth0.10@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether a0:b3:cc:e7:58:2e brd ff:ff:ff:ff:ff:ff
inet 192.168.100.200/25 brd 192.168.100.255 scope global eth0.10
My questions are: 1) Has anyone else seen similar behaviour from this hardware? Google doesn't return any info. 2) What else can I do to confirm that this is a NIC issue? 3) Any magic solution? ;)
EDIT: VLAN 10 is tagged on the port to the N40L, and untagged on only 1 other port which definitely goes to the WAP (otherwise we wouldn't be seeing iPhone's requesting leases) so the VLAN's can't be accidentally cross-patched:
hp-switch# sho vlan 10
Status and Counters - VLAN Information - Ports - VLAN 10
802.1Q VLAN ID : 10
Name : WLS
Status : Port-based
Port Information Mode Unknown VLAN Status
---------------- -------- ------------ ----------
25 Tagged Learn Up
26 Untagged Learn Up
Here is the full running config for the switch; it's quite a simple configuration: http://pastebin.com/5Zt76nAF