# Link Control Protocol

In computer networking, the Link Control Protocol (LCP) forms part of the Point-to-Point Protocol (PPP), within the family of Internet protocols. In setting up PPP communications, both the sending and receiving devices send out LCP packets to determine the standards of the ensuing data transmission.
The protocol:
* checks the identity of the linked device and either accepts or rejects the device
* determines the acceptable packet size for transmission
* searches for errors in configuration
* can terminate the link if requirements exceed the parameters
LCP packets are sent during the Link Establishment Phase of PPP, after the physical layer has been made ready from the Link Dead state. No transmission of network-layer protocols such as IP may be transmitted across PPP until after the Link Establishment or Authentication phases are complete. When a connection is requested by a peer to be terminated (or if Authentication fails), the Link Termination Phase is performed, and PPP returns to the Link Dead state.

## Structure

| Offsets | Octet | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
| Octet | Bit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
| Point-to-Point Protocol ||||||||||||||||||||||||||||||||||
| 0 | 0 | Flag (0x7E) | Flag (0x7E) | Flag (0x7E) | Flag (0x7E) | Flag (0x7E) | Flag (0x7E) | Flag (0x7E) | Flag (0x7E) | Address (0xFF) | Address (0xFF) | Address (0xFF) | Address (0xFF) | Address (0xFF) | Address (0xFF) | Address (0xFF) | Address (0xFF) | Control (0x03) | Control (0x03) | Control (0x03) | Control (0x03) | Control (0x03) | Control (0x03) | Control (0x03) | Control (0x03) | Protocol (0xC0) | Protocol (0xC0) | Protocol (0xC0) | Protocol (0xC0) | Protocol (0xC0) | Protocol (0xC0) | Protocol (0xC0) | Protocol (0xC0) |
| 4 | 32 | Protocol, cont. (0x21) | Protocol, cont. (0x21) | Protocol, cont. (0x21) | Protocol, cont. (0x21) | Protocol, cont. (0x21) | Protocol, cont. (0x21) | Protocol, cont. (0x21) | Protocol, cont. (0x21) | | | | | | | | | | | | | | | | | | | | | | | | |
| Link Control Protocol ||||||||||||||||||||||||||||||||||
| 0 | 0 | Code | Code | Code | Code | Code | Code | Code | Code | Identifier | Identifier | Identifier | Identifier | Identifier | Identifier | Identifier | Identifier | Length | Length | Length | Length | Length | Length | Length | Length | Length | Length | Length | Length | Length | Length | Length | Length |
| | | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration | Link Configuration |
| | | Code | Code | 1 | Name | Name | Configure-Request | Configure-Request | Configure-Request | Configure-Request | Configure-Request | Description | Description | Description | Description | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. |
| | | Code | Code | 2 | Name | Name | Configure-Ack | Configure-Ack | Configure-Ack | Configure-Ack | Configure-Ack | Description | Description | Description | Description | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. | Peer requesting connection with the specified options over link defaults. |
| | | Code | Code | 3 | Name | Name | Configure-Nak | Configure-Nak | Configure-Nak | Configure-Nak | Configure-Nak | Description | Description | Description | Description | Peer recognizes given options, but some are not acceptable. | Peer recognizes given options, but some are not acceptable. | Peer recognizes given options, but some are not acceptable. | Peer recognizes given options, but some are not acceptable. | Peer recognizes given options, but some are not acceptable. | Peer recognizes given options, but some are not acceptable. | Peer recognizes given options, but some are not acceptable. | Peer recognizes given options, but some are not acceptable. | Peer recognizes given options, but some are not acceptable. | Peer recognizes given options, but some are not acceptable. | Peer recognizes given options, but some are not acceptable. | Peer recognizes given options, but some are not acceptable. | Peer recognizes given options, but some are not acceptable. | Peer recognizes given options, but some are not acceptable. | Peer recognizes given options, but some are not acceptable. | Peer recognizes given options, but some are not acceptable. | Peer recognizes given options, but some are not acceptable. | Peer recognizes given options, but some are not acceptable. |
| | | Code | Code | 4 | Name | Name | Configure-Reject | Configure-Reject | Configure-Reject | Configure-Reject | Configure-Reject | Description | Description | Description | Description | Peer does not recognize or is prohibited from accepting some given options. | Peer does not recognize or is prohibited from accepting some given options. | Peer does not recognize or is prohibited from accepting some given options. | Peer does not recognize or is prohibited from accepting some given options. | Peer does not recognize or is prohibited from accepting some given options. | Peer does not recognize or is prohibited from accepting some given options. | Peer does not recognize or is prohibited from accepting some given options. | Peer does not recognize or is prohibited from accepting some given options. | Peer does not recognize or is prohibited from accepting some given options. | Peer does not recognize or is prohibited from accepting some given options. | Peer does not recognize or is prohibited from accepting some given options. | Peer does not recognize or is prohibited from accepting some given options. | Peer does not recognize or is prohibited from accepting some given options. | Peer does not recognize or is prohibited from accepting some given options. | Peer does not recognize or is prohibited from accepting some given options. | Peer does not recognize or is prohibited from accepting some given options. | Peer does not recognize or is prohibited from accepting some given options. | Peer does not recognize or is prohibited from accepting some given options. |
| 4 | 32 | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable | List of option data, size variable |
| | | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination | Link Termination |
| | | Code | Code | 5 | Name | Name | Terminate-Request | Terminate-Request | Terminate-Request | Terminate-Request | Terminate-Request | Description | Description | Description | Description | Peer requesting to close the connection. | Peer requesting to close the connection. | Peer requesting to close the connection. | Peer requesting to close the connection. | Peer requesting to close the connection. | Peer requesting to close the connection. | Peer requesting to close the connection. | Peer requesting to close the connection. | Peer requesting to close the connection. | Peer requesting to close the connection. | Peer requesting to close the connection. | Peer requesting to close the connection. | Peer requesting to close the connection. | Peer requesting to close the connection. | Peer requesting to close the connection. | Peer requesting to close the connection. | Peer requesting to close the connection. | Peer requesting to close the connection. |
| | | Code | Code | 6 | Name | Name | Terminate-Ack | Terminate-Ack | Terminate-Ack | Terminate-Ack | Terminate-Ack | Description | Description | Description | Description | Peer accepts connection closure, or requires re-negotiation. | Peer accepts connection closure, or requires re-negotiation. | Peer accepts connection closure, or requires re-negotiation. | Peer accepts connection closure, or requires re-negotiation. | Peer accepts connection closure, or requires re-negotiation. | Peer accepts connection closure, or requires re-negotiation. | Peer accepts connection closure, or requires re-negotiation. | Peer accepts connection closure, or requires re-negotiation. | Peer accepts connection closure, or requires re-negotiation. | Peer accepts connection closure, or requires re-negotiation. | Peer accepts connection closure, or requires re-negotiation. | Peer accepts connection closure, or requires re-negotiation. | Peer accepts connection closure, or requires re-negotiation. | Peer accepts connection closure, or requires re-negotiation. | Peer accepts connection closure, or requires re-negotiation. | Peer accepts connection closure, or requires re-negotiation. | Peer accepts connection closure, or requires re-negotiation. | Peer accepts connection closure, or requires re-negotiation. |
| 4 | 32 | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable |
| | | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance | Link Maintenance |
| | | Code | Code | 7 | Name | Code-Reject | Code-Reject | Code-Reject | Code-Reject | Code-Reject | Description | Description | Peer does not recognize a provided LCP code. | Peer does not recognize a provided LCP code. | Peer does not recognize a provided LCP code. | Peer does not recognize a provided LCP code. | Peer does not recognize a provided LCP code. | Peer does not recognize a provided LCP code. | Peer does not recognize a provided LCP code. | Peer does not recognize a provided LCP code. | Peer does not recognize a provided LCP code. | Peer does not recognize a provided LCP code. | Peer does not recognize a provided LCP code. | Peer does not recognize a provided LCP code. | Peer does not recognize a provided LCP code. | Peer does not recognize a provided LCP code. | Peer does not recognize a provided LCP code. | Peer does not recognize a provided LCP code. | Peer does not recognize a provided LCP code. | Peer does not recognize a provided LCP code. | Peer does not recognize a provided LCP code. | Peer does not recognize a provided LCP code. | Peer does not recognize a provided LCP code. |
| 4 | 32 | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable | Faulting LCP Packet, size variable |
| | | | | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes | LCP-Specific Codes |
| | | Code | Code | 8 | Name | Protocol-Reject | Protocol-Reject | Protocol-Reject | Protocol-Reject | Protocol-Reject | Description | Description | Peer does not recognize a protocol used within the LCP Opened state. | Peer does not recognize a protocol used within the LCP Opened state. | Peer does not recognize a protocol used within the LCP Opened state. | Peer does not recognize a protocol used within the LCP Opened state. | Peer does not recognize a protocol used within the LCP Opened state. | Peer does not recognize a protocol used within the LCP Opened state. | Peer does not recognize a protocol used within the LCP Opened state. | Peer does not recognize a protocol used within the LCP Opened state. | Peer does not recognize a protocol used within the LCP Opened state. | Peer does not recognize a protocol used within the LCP Opened state. | Peer does not recognize a protocol used within the LCP Opened state. | Peer does not recognize a protocol used within the LCP Opened state. | Peer does not recognize a protocol used within the LCP Opened state. | Peer does not recognize a protocol used within the LCP Opened state. | Peer does not recognize a protocol used within the LCP Opened state. | Peer does not recognize a protocol used within the LCP Opened state. | Peer does not recognize a protocol used within the LCP Opened state. | Peer does not recognize a protocol used within the LCP Opened state. | Peer does not recognize a protocol used within the LCP Opened state. | Peer does not recognize a protocol used within the LCP Opened state. | Peer does not recognize a protocol used within the LCP Opened state. |
| 4 | 32 | Rejected PPP Protocol | Rejected PPP Protocol | Rejected PPP Protocol | Rejected PPP Protocol | Rejected PPP Protocol | Rejected PPP Protocol | Rejected PPP Protocol | Rejected PPP Protocol | Rejected PPP Protocol | Rejected PPP Protocol | Rejected PPP Protocol | Rejected PPP Protocol | Rejected PPP Protocol | Rejected PPP Protocol | Rejected PPP Protocol | Rejected PPP Protocol | Faulting Packet, size variable | Faulting Packet, size variable | Faulting Packet, size variable | Faulting Packet, size variable | Faulting Packet, size variable | Faulting Packet, size variable | Faulting Packet, size variable | Faulting Packet, size variable | Faulting Packet, size variable | Faulting Packet, size variable | Faulting Packet, size variable | Faulting Packet, size variable | Faulting Packet, size variable | Faulting Packet, size variable | Faulting Packet, size variable | Faulting Packet, size variable |
| | | Code | Code | 9 | Name | Echo-Request | Echo-Request | Echo-Request | Echo-Request | Echo-Request | Description | Description | Description | Peer is requesting an Echo-Reply. | Peer is requesting an Echo-Reply. | Peer is requesting an Echo-Reply. | Peer is requesting an Echo-Reply. | Peer is requesting an Echo-Reply. | Peer is requesting an Echo-Reply. | Peer is requesting an Echo-Reply. | Peer is requesting an Echo-Reply. | Peer is requesting an Echo-Reply. | Peer is requesting an Echo-Reply. | Peer is requesting an Echo-Reply. | Peer is requesting an Echo-Reply. | Peer is requesting an Echo-Reply. | Peer is requesting an Echo-Reply. | Peer is requesting an Echo-Reply. | Peer is requesting an Echo-Reply. | Peer is requesting an Echo-Reply. | Peer is requesting an Echo-Reply. | Peer is requesting an Echo-Reply. | Peer is requesting an Echo-Reply. |
| | | Code | Code | 10 | Name | Echo-Reply | Echo-Reply | Echo-Reply | Echo-Reply | Echo-Reply | Description | Description | Description | Peer is responding to an Echo-Request (only acceptable when in LCP Opened.) | Peer is responding to an Echo-Request (only acceptable when in LCP Opened.) | Peer is responding to an Echo-Request (only acceptable when in LCP Opened.) | Peer is responding to an Echo-Request (only acceptable when in LCP Opened.) | Peer is responding to an Echo-Request (only acceptable when in LCP Opened.) | Peer is responding to an Echo-Request (only acceptable when in LCP Opened.) | Peer is responding to an Echo-Request (only acceptable when in LCP Opened.) | Peer is responding to an Echo-Request (only acceptable when in LCP Opened.) | Peer is responding to an Echo-Request (only acceptable when in LCP Opened.) | Peer is responding to an Echo-Request (only acceptable when in LCP Opened.) | Peer is responding to an Echo-Request (only acceptable when in LCP Opened.) | Peer is responding to an Echo-Request (only acceptable when in LCP Opened.) | Peer is responding to an Echo-Request (only acceptable when in LCP Opened.) | Peer is responding to an Echo-Request (only acceptable when in LCP Opened.) | Peer is responding to an Echo-Request (only acceptable when in LCP Opened.) | Peer is responding to an Echo-Request (only acceptable when in LCP Opened.) | Peer is responding to an Echo-Request (only acceptable when in LCP Opened.) | Peer is responding to an Echo-Request (only acceptable when in LCP Opened.) | Peer is responding to an Echo-Request (only acceptable when in LCP Opened.) | Peer is responding to an Echo-Request (only acceptable when in LCP Opened.) |
| | | Code | Code | 11 | Name | Discard-Request | Discard-Request | Discard-Request | Discard-Request | Discard-Request | Description | Description | Description | Peer is sending data to be discarded ("sinked") by the remote peer. | Peer is sending data to be discarded ("sinked") by the remote peer. | Peer is sending data to be discarded ("sinked") by the remote peer. | Peer is sending data to be discarded ("sinked") by the remote peer. | Peer is sending data to be discarded ("sinked") by the remote peer. | Peer is sending data to be discarded ("sinked") by the remote peer. | Peer is sending data to be discarded ("sinked") by the remote peer. | Peer is sending data to be discarded ("sinked") by the remote peer. | Peer is sending data to be discarded ("sinked") by the remote peer. | Peer is sending data to be discarded ("sinked") by the remote peer. | Peer is sending data to be discarded ("sinked") by the remote peer. | Peer is sending data to be discarded ("sinked") by the remote peer. | Peer is sending data to be discarded ("sinked") by the remote peer. | Peer is sending data to be discarded ("sinked") by the remote peer. | Peer is sending data to be discarded ("sinked") by the remote peer. | Peer is sending data to be discarded ("sinked") by the remote peer. | Peer is sending data to be discarded ("sinked") by the remote peer. | Peer is sending data to be discarded ("sinked") by the remote peer. | Peer is sending data to be discarded ("sinked") by the remote peer. | Peer is sending data to be discarded ("sinked") by the remote peer. |
| 4 | 32 | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) | Magic Number (0, if Configure-Request / Configure-Ack have not established one yet) |
| 8 | 64 | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable | Uninterpreted data by the sender, size variable |

### Link Configuration Option

| Offsets | Octet | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
| Octet | Bit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
| 0 | 0 | Type | Type | Type | Type | Type | Type | Type | Type | Length | Length | Length | Length | Length | Length | Length | Length | | | | | | | | | | | | | | | | |
| | | Type | Type | 0 | Name | Name | Vendor Specific | Vendor Specific | Vendor Specific | Vendor Specific | Vendor Specific | Description | Description | Description | Vendor specific data not defined by the PPP specification. | Vendor specific data not defined by the PPP specification. | Vendor specific data not defined by the PPP specification. | Vendor specific data not defined by the PPP specification. | Vendor specific data not defined by the PPP specification. | Vendor specific data not defined by the PPP specification. | Vendor specific data not defined by the PPP specification. | Vendor specific data not defined by the PPP specification. | Vendor specific data not defined by the PPP specification. | Vendor specific data not defined by the PPP specification. | Vendor specific data not defined by the PPP specification. | Vendor specific data not defined by the PPP specification. | Vendor specific data not defined by the PPP specification. | Vendor specific data not defined by the PPP specification. | Vendor specific data not defined by the PPP specification. | Vendor specific data not defined by the PPP specification. | Vendor specific data not defined by the PPP specification. | Vendor specific data not defined by the PPP specification. | Vendor specific data not defined by the PPP specification. |
| 2 | 16 | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Vendor's Organizationally Unique Identifier | Kind (OUI Subtype) | Kind (OUI Subtype) | Kind (OUI Subtype) | Kind (OUI Subtype) | Kind (OUI Subtype) | Kind (OUI Subtype) | Kind (OUI Subtype) | Kind (OUI Subtype) |
| 6 | 48 | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable | Vendor defined data, size variable |
| | | Type | Type | 1 | Name | Name | Maximum-Receive-Unit | Maximum-Receive-Unit | Maximum-Receive-Unit | Maximum-Receive-Unit | Maximum-Receive-Unit | Description | Description | Description | Defines a peer's MRU, overriding the default of 1,500 octets. | Defines a peer's MRU, overriding the default of 1,500 octets. | Defines a peer's MRU, overriding the default of 1,500 octets. | Defines a peer's MRU, overriding the default of 1,500 octets. | Defines a peer's MRU, overriding the default of 1,500 octets. | Defines a peer's MRU, overriding the default of 1,500 octets. | Defines a peer's MRU, overriding the default of 1,500 octets. | Defines a peer's MRU, overriding the default of 1,500 octets. | Defines a peer's MRU, overriding the default of 1,500 octets. | Defines a peer's MRU, overriding the default of 1,500 octets. | Defines a peer's MRU, overriding the default of 1,500 octets. | Defines a peer's MRU, overriding the default of 1,500 octets. | Defines a peer's MRU, overriding the default of 1,500 octets. | Defines a peer's MRU, overriding the default of 1,500 octets. | Defines a peer's MRU, overriding the default of 1,500 octets. | Defines a peer's MRU, overriding the default of 1,500 octets. | Defines a peer's MRU, overriding the default of 1,500 octets. | Defines a peer's MRU, overriding the default of 1,500 octets. | Defines a peer's MRU, overriding the default of 1,500 octets. |
| 2 | 16 | The maximum-receive-unit for this peer's implementation | The maximum-receive-unit for this peer's implementation | The maximum-receive-unit for this peer's implementation | The maximum-receive-unit for this peer's implementation | The maximum-receive-unit for this peer's implementation | The maximum-receive-unit for this peer's implementation | The maximum-receive-unit for this peer's implementation | The maximum-receive-unit for this peer's implementation | The maximum-receive-unit for this peer's implementation | The maximum-receive-unit for this peer's implementation | The maximum-receive-unit for this peer's implementation | The maximum-receive-unit for this peer's implementation | The maximum-receive-unit for this peer's implementation | The maximum-receive-unit for this peer's implementation | The maximum-receive-unit for this peer's implementation | The maximum-receive-unit for this peer's implementation | | | | | | | | | | | | | | | | |
| | | Type | Type | 3 | Name | Name | Authentication-Protocol | Authentication-Protocol | Authentication-Protocol | Authentication-Protocol | Authentication-Protocol | Description | Description | Description | Defines an authentication protocol for a remote peer to authenticate with before transitioning phases. | Defines an authentication protocol for a remote peer to authenticate with before transitioning phases. | Defines an authentication protocol for a remote peer to authenticate with before transitioning phases. | Defines an authentication protocol for a remote peer to authenticate with before transitioning phases. | Defines an authentication protocol for a remote peer to authenticate with before transitioning phases. | Defines an authentication protocol for a remote peer to authenticate with before transitioning phases. | Defines an authentication protocol for a remote peer to authenticate with before transitioning phases. | Defines an authentication protocol for a remote peer to authenticate with before transitioning phases. | Defines an authentication protocol for a remote peer to authenticate with before transitioning phases. | Defines an authentication protocol for a remote peer to authenticate with before transitioning phases. | Defines an authentication protocol for a remote peer to authenticate with before transitioning phases. | Defines an authentication protocol for a remote peer to authenticate with before transitioning phases. | Defines an authentication protocol for a remote peer to authenticate with before transitioning phases. | Defines an authentication protocol for a remote peer to authenticate with before transitioning phases. | Defines an authentication protocol for a remote peer to authenticate with before transitioning phases. | Defines an authentication protocol for a remote peer to authenticate with before transitioning phases. | Defines an authentication protocol for a remote peer to authenticate with before transitioning phases. | Defines an authentication protocol for a remote peer to authenticate with before transitioning phases. | Defines an authentication protocol for a remote peer to authenticate with before transitioning phases. |
| 2 | 16 | The requested authentication protocol, assigned by IANA | The requested authentication protocol, assigned by IANA | The requested authentication protocol, assigned by IANA | The requested authentication protocol, assigned by IANA | The requested authentication protocol, assigned by IANA | The requested authentication protocol, assigned by IANA | The requested authentication protocol, assigned by IANA | The requested authentication protocol, assigned by IANA | The requested authentication protocol, assigned by IANA | The requested authentication protocol, assigned by IANA | The requested authentication protocol, assigned by IANA | The requested authentication protocol, assigned by IANA | The requested authentication protocol, assigned by IANA | The requested authentication protocol, assigned by IANA | The requested authentication protocol, assigned by IANA | The requested authentication protocol, assigned by IANA | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable |
| | | Type | Type | 4 | Name | Name | Quality-Protocol | Quality-Protocol | Quality-Protocol | Quality-Protocol | Quality-Protocol | Description | Description | Description | Defines a quality protocol for link quality monitoring. | Defines a quality protocol for link quality monitoring. | Defines a quality protocol for link quality monitoring. | Defines a quality protocol for link quality monitoring. | Defines a quality protocol for link quality monitoring. | Defines a quality protocol for link quality monitoring. | Defines a quality protocol for link quality monitoring. | Defines a quality protocol for link quality monitoring. | Defines a quality protocol for link quality monitoring. | Defines a quality protocol for link quality monitoring. | Defines a quality protocol for link quality monitoring. | Defines a quality protocol for link quality monitoring. | Defines a quality protocol for link quality monitoring. | Defines a quality protocol for link quality monitoring. | Defines a quality protocol for link quality monitoring. | Defines a quality protocol for link quality monitoring. | Defines a quality protocol for link quality monitoring. | Defines a quality protocol for link quality monitoring. | Defines a quality protocol for link quality monitoring. |
| 2 | 16 | The requested quality protocol | The requested quality protocol | The requested quality protocol | The requested quality protocol | The requested quality protocol | The requested quality protocol | The requested quality protocol | The requested quality protocol | The requested quality protocol | The requested quality protocol | The requested quality protocol | The requested quality protocol | The requested quality protocol | The requested quality protocol | The requested quality protocol | The requested quality protocol | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable | Additional data for this protocol, size variable |
| | | Type | Type | 5 | Name | Name | Magic-Number | Magic-Number | Magic-Number | Magic-Number | Magic-Number | Description | Description | Description | Defines a unique identifier for a peer. | Defines a unique identifier for a peer. | Defines a unique identifier for a peer. | Defines a unique identifier for a peer. | Defines a unique identifier for a peer. | Defines a unique identifier for a peer. | Defines a unique identifier for a peer. | Defines a unique identifier for a peer. | Defines a unique identifier for a peer. | Defines a unique identifier for a peer. | Defines a unique identifier for a peer. | Defines a unique identifier for a peer. | Defines a unique identifier for a peer. | Defines a unique identifier for a peer. | Defines a unique identifier for a peer. | Defines a unique identifier for a peer. | Defines a unique identifier for a peer. | Defines a unique identifier for a peer. | Defines a unique identifier for a peer. |
| 2 | 16 | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number | Magic number |
| | | Type | Type | 7 | Name | Name | Protocol-Field-Compression | Protocol-Field-Compression | Protocol-Field-Compression | Protocol-Field-Compression | Protocol-Field-Compression | Protocol-Field-Compression | Description | Description | Description | No data. Refer to RFC 1661 Section 6.5 for details. | No data. Refer to RFC 1661 Section 6.5 for details. | No data. Refer to RFC 1661 Section 6.5 for details. | No data. Refer to RFC 1661 Section 6.5 for details. | No data. Refer to RFC 1661 Section 6.5 for details. | No data. Refer to RFC 1661 Section 6.5 for details. | No data. Refer to RFC 1661 Section 6.5 for details. | No data. Refer to RFC 1661 Section 6.5 for details. | No data. Refer to RFC 1661 Section 6.5 for details. | No data. Refer to RFC 1661 Section 6.5 for details. | No data. Refer to RFC 1661 Section 6.5 for details. | No data. Refer to RFC 1661 Section 6.5 for details. | No data. Refer to RFC 1661 Section 6.5 for details. | No data. Refer to RFC 1661 Section 6.5 for details. | No data. Refer to RFC 1661 Section 6.5 for details. | No data. Refer to RFC 1661 Section 6.5 for details. | No data. Refer to RFC 1661 Section 6.5 for details. | No data. Refer to RFC 1661 Section 6.5 for details. |
| | | Type | Type | 8 | Name | Name | Address-and-Control-Field-Compression | Address-and-Control-Field-Compression | Address-and-Control-Field-Compression | Address-and-Control-Field-Compression | Address-and-Control-Field-Compression | Address-and-Control-Field-Compression | Address-and-Control-Field-Compression | Address-and-Control-Field-Compression | Description | Description | Description | No data. Refer to RFC 1661 Section 6.6 for details. | No data. Refer to RFC 1661 Section 6.6 for details. | No data. Refer to RFC 1661 Section 6.6 for details. | No data. Refer to RFC 1661 Section 6.6 for details. | No data. Refer to RFC 1661 Section 6.6 for details. | No data. Refer to RFC 1661 Section 6.6 for details. | No data. Refer to RFC 1661 Section 6.6 for details. | No data. Refer to RFC 1661 Section 6.6 for details. | No data. Refer to RFC 1661 Section 6.6 for details. | No data. Refer to RFC 1661 Section 6.6 for details. | No data. Refer to RFC 1661 Section 6.6 for details. | No data. Refer to RFC 1661 Section 6.6 for details. | No data. Refer to RFC 1661 Section 6.6 for details. | No data. Refer to RFC 1661 Section 6.6 for details. | No data. Refer to RFC 1661 Section 6.6 for details. | No data. Refer to RFC 1661 Section 6.6 for details. |