Quality of Service for PPPoE Session in PTP 650/700

In Quality of Service for PPPoE Discovery in PTP 650/700 we looked at how PTP 650 and PTP 700 classify PPPoE Discovery frames as a Layer 2 Control Protocol to provide enhanced quality of service for the setup of PPPoE sessions. PPPoE sessions can carry a variety of different protocols but in most networks the payload is going to be IPv4.

An operator might also want to provide a certain QoS level for the IPv4 packets transmitted as part of a PPPoE Session.

PTP 650 and PTP 700 achieve this by locating the DSCP field in the IPv4 header of packets encapsulated in Ethernet/PPPoE and PPP. The frame looks like this:

We skipped the Ethernet DA and SA to make the rest relatively legible. Starting at byte 12, the Ethertype 0x8864 indicates the PPPoE Session stage. At byte 20 of the Ethernet frame, the PPP protocol field is set to 0x0021, which indcates that the payload is IPv4. Byte 23 (byte 1 of the IP header) contains the Differentiated Services Code Point (DSCP) field of the IP header. This is the field that determines the QoS classification and thus the transmission queue for the packet at the PTP wireless interface.

There is no separate configuration for QoS in the PPPoE Session stage; the standard PTP 650/700 QoS configuration for the IP/MPLS scheme drives the same classification whether or not the IP frame is in a PPPoE encapsulation.

We haven't shown it here, but the classifier can cope with one or two layers of VLAN tags.

Also, the classifier can handle DSCP in IPv6 packets. It would be very interesting to know if any Cambium customers are using PPPoE with IPv6.

1 Like

In the post above, we describe how PTP 670 provides an option to classify IP datagrams in the PPPoE session phase based on the DSCP field of the IP header. That works as you'd expect, but there is one more detail needed to ensure that the PPPoE session phase can be maintained when the system is congested.

The PPPoE client and server devices exchange Link Control messages in the session phase. These messages do not contain IP datagrams and are not prioritised by the existing QoS mechanism described above. However, they are not in the discovery phase and are not prioritised by the existing QoS mechanism in Quality of Service for PPPoE Discovery in PTP 650/700.


System Release 670-02-60 provides a further capability to classify frames from the PPPoE Link Control Protocol (LCP) in the session phase. LCP messages are any frame in the Session Phase that does not contain IPv4 or IPv6, as shown below:

In 670-02-60, the combined PPPoE Discovery LCP control determines the priority queue for both PPPoE discovery, and for PPPoE LCP.

To summarise, PPPoE QoS is configured as follows:

  • PPPoE Discovery Phase: PPPoE Discovery LCP attribute
  • IP datagrams in the PPPoE Session Phase: DSCP attributes
  • Link Control messages in the PPPoE Session Phase: PPPoE Discovery LCP attribute