From RFC2131:
DHCP supports three mechanisms for IP address allocation. In
"automatic allocation", DHCP assigns a permanent IP address to a
client. In "dynamic allocation", DHCP assigns an IP address to a
client for a limited period of time (or until the client explicitly
relinquishes the address). In "manual allocation", a client's IP
address is assigned by the network administrator, and DHCP is used
simply to convey the assigned address to the client. A particular
network will use one or more of these mechanisms, depending on the
policies of the network administrator.
Assuming your interpretation of the quoted passage from man dhcpcd
is correct (and it certainly sounds like the correct interpretation to me), this means that the client never initiates the DHCP sequence, and so the DHCP server would (or certainly could) remain ignorant of that (static) IP address assignment. If the DHCP server has no knowledge that a particular IP address in its "pool" has been used, then it could allocate it to another client. And so, I believe the answer to your first question is, "Yes, it's true."
BEGIN EDIT:
Note that in the case you have asked about (absence of the DHCP sequence-initiating broadcast by the client) the DHCP server may remain ignorant of an address conflict despite the ping-check
facility used in some servers. This can happen under several scenarios:
the host with the static-configured IP address is offline when the ping-check
is issued by the DHCP server, then subsequently re-started,
network or client latencies preclude a response from the static-configured host within the (default) 1 second time limit,
the static-configured client host is configured not to respond to a ping
(e.g. using iptables
for security reasons)
ping-check
is not implemented in the DHCP server that's being used (as in older "router appliances" sold or distributed by vendors and ISPs)
ping-check
was disabled by the network administrator, or simply failed due to a "bug" (for example)
Again, the answer to your question is, "Yes"; a static-assigned IP address that is in the DHCP server's address pool could be assigned to another client and break communications. The answer is "Yes" even if the DHCP server has the ping-check
facility available to it, and the answer is "Yes" again in some cases (ref above), even when ping-check
is actively employed.
Hopefully, it is now clear that ping-check
is not a panacea for IP address conflicts, and that they can occur in spite of it.
END EDIT:
And so, under these conditions, it is the responsibility of the client to ensure that its IP address is not included in the "pool" of IP addresses used by DHCP server.
Note also the final sentence in the above excerpt from RFC 2131 that there are three mechanisms available to a DHCP server in general. Also note that either the "manual allocation" or "automatic allocation" mechanisms would seem to provide a method appropriate to the question you've referenced. But that will only work IF the network admin has configured the server to use that (manual/automatic allocation) mechanism, AND the client uses DHCP.
If you are not sure what packets get sent, you can check with an application like wireshark.
– SeaS Jul 31 '18 at 07:46