The IP Control Protocol (IPCP) is responsible for configuring,
enabling, and disabling the IP protocol modules on both ends of the
point-to-point link. IPCP uses the same packet exchange machanism as
the Link Control Protocol (LCP). IPCP packets may not be exchanged
until PPP has reached the Network-Layer Protocol phase. IPCP packets
received before this phase is reached should be silently discarded.
The IP Control Protocol is exactly the same as the Link Control
Protocol  with the following exceptions:
Data Link Layer Protocol Field
Exactly one IPCP packet is encapsulated in the Information field
of PPP Data Link Layer frames where the Protocol field indicates
type hex 8021 (IP Control Protocol).
Only Codes 1 through 7 (Configure-Request, Configure-Ack,
Configure-Nak, Configure-Reject, Terminate-Request, Terminate-Ack
and Code-Reject) are used. Other Codes should be treated as
unrecognized and should result in Code-Rejects.
IPCP packets may not be exchanged until PPP has reached the
Network-Layer Protocol phase. An implementation should be
prepared to wait for Authentication and Link Quality Determination
to finish before timing out waiting for a Configure-Ack or other
response. It is suggested that an implementation give up only
after user intervention or a configurable amount of time.
Configuration Option Types
IPCP has a distinct set of Configuration Options, which are