In my opinion, as the 2131 says, DHCP server will send ICMP to the ip before send it to client, and if that icmp is replied, server will send another ip. Thus I think，once there's a conflict(like someone manually set the same ip on another host in vlan while that ip was already gotten by dhcp client), server should be able to detect that conflict as soon as it first time received the REQUESE from client, and distribute a new ip to client. But in my case, server still ack that conflicting ip to dhcp client.
I had a hub connected with a dhcp server(debian 8) and hosts A . Then I had dhcp-server given hostA 192.168.2.170 automatically. Next I set the interface of a hostB with the same ip 192.168.2.170 manually, and up that interface to that hub, but not only hostB can ping the server(maybe 40% loss), but also A would still be able to renew that 192.168.2.170 from server successfully (I used wireshark and found that server already known that ip is duplicated, not by ICMP, but arp)
My question is, if my case happens, how does isc-dhcp-server do detection? Does isc-dhcp-server be able to handle this case, which one in vlan is set the same ip after which have already been given to a client?