2. PPPoE Use Case description¶
The following diagram shows the architecture that has been deployed for the BNG PPPoE dual stack use case.

Clients 1 and 2 represent end users sitting behind their respective CPE, the latter initiating the PPPoE session towards the 6WIND BNG router. The AGG is a router or switch that aggregates multiple CPEs acting as the MSAN (Multi Service Access Node) that would route the PPPoE headers towards the BNG. Then the BNG would query the Radius server defined in the PPP server function to authenticate the user and apply any specific attributes such as QoS templates or limits.
The 6WIND BNG is configured with a PPP server function that supports the following Radius features which are key to our implementation and the establishment of the PPPoE session:
Authentication: Pointing to the RADIUS server for authenticating a given user.
Accounting: Sending user accounting information to gather how much time, packets, bytes, and other resources were consumed during the session to the Radius accounting server.
Change of authorization: The support of a change of authorization is restricted to some attributes, such as Traffic Limiting IPv4 and Reverse Path Filtering. Other attributes may be added in future versions.
IPv4 network information: PPP server accepts RADIUS IPv4 Framed-IP-Address and Framed-Route (RFC 2138).
Framed-Route: A static IPv4 route provided by Radius server to install in the Virtual Service Router routing table.
Framed-IP-Address: An IPv4 address provided by the Radius server to assign to the user’s PPP interface.
IPv6 network information: The PPP server accepts Radius IPv6 Framed-IPv6-Prefix, Framed-Interface-Id and Framed-IPv6-Route (RFC 3162):
Framed-Interface-Id: An IPv6 interface identifier to be configured on the user’s PPP interface.
Framed-IPv6-Prefix: An IPv6 prefix (and corresponding route) to be configured for the user. The prefix should have a 64-bit mask. For example 2001:db8:0:100::/64.
Framed-IPv6-Route: IPv6 routing information provided by Radius to be configured for the user in the Virtual Service Router routing table. It should be described as follows “PREFIX/MASK USER-IPv6-ADDRESS METRICS”. For example “2000:0:0:106::/64 2000::106:a00:20ff:fe99:a998 1”.
PREFIX/MASK is the destination prefix optionally followed by a mask.
USER-IPv6-ADDRESS is the gateway address, it should be the user’s IPv6 address. It can also be unspecified. For example, “2000:0:0:106::/64 :: 1”
Currently, the 6WIND PPP server supports IPv6 stateless autoconfiguration. Stateless means that there is no database used to keep track of what addresses have been assigned and what addresses are still available for assignment. PPP server sends a router advertisement message (as described in RFC 4861) with an IPv6 prefix and a non-zero router lifetime to the user so it can create a global unicast IPv6 address through stateless autoconfiguration. DNS information such as RDNS and DNS search list can also be included in the message.
The following 6WIND specific RADIUS attributes can be used:
6WIND-limit: to support basic QoS rate-limiting
6WIND-iface-rpf: to enable reverse path filtering
6WIND-qos-template-name: to apply a HTB template to a specific user
For simplicity, only the latter has been used in this implementation guide.