| Lower layer | Selector | Value |
ethernet2 | ethertype | 34916 (0x8864) |
| Field | Type | Default | Auto | Description |
version | uint(4) | 1 | | PPPoE protocol version (1). |
type | uint(4) | 1 | | PPPoE type (1). |
code | uint(8) | 0 | | PPPoE code (PADI / PADO / PADR / PADS / PADT, 0 = session data). |
session_id | uint(16) | 1 | | PPPoE session identifier. |
length | uint(16) | | Length of the payload in octets | Length of the PPPoE payload, in octets (Auto). |
The next layer is selected by session_id; when the field is Auto the builder writes the value of the protocol stacked above.
| Value | Protocol | Note |
| (any other value) | ppp | |