Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Example: Configuring Dynamic PPPoE MLPPP Subscribers

This example shows how to configure dynamic Point-to-Point Protocol over Ethernet (PPPoE) multilink (MLPPP) subscribers.

Requirements

This example uses the following hardware and software components:

  • MX Series with MPC2s installed

  • Junos OS Release 13.3 or later

Before you configure dynamic PPPoE MLPPP subscribers, be sure you have:

Overview

An MLPPP subscriber consists of two IFLs (logical interfaces), a member link, and a bundle. For dynamic PPPoE MLPPP subscribers, you configure the dynamic pp0 member link IFLs using dynamic profiles. The pp0 member link dynamic profile includes the family mlppp statement containing the dynamic profile name and the service interface (si), or a pool of service interfaces. This information is then used to create the dynamic bundle IFL.

Each dynamic bundle accepts only one dynamic member link. If more than one dynamic member link attempts to join the same dynamic bundle, the system fails the new member session.

Figure 1 shows how the different types of traffic traverse through a network where the MX Series terminates PPPoE sessions.

Topology

Figure 1: PPP and MLPPP Traffic Terminated at MX SeriesPPP and MLPPP Traffic Terminated at MX Series

The following two domains are shown terminating traffic at the MX Series:

  • PPP domain—Contains data and voice traffic

  • MLPPP domain—Contains data traffic only

Configuration

To configure dynamic PPPoE MLPPP subscribers, perform these tasks:

CLI Quick Configuration

To quickly configure this example, copy the following commands, paste them into a text file, remove any line breaks, change any details necessary to match your network configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy level.

Configuring a Dynamic Profile for Dynamic pp0 Member Link IFL Without Mixed Mode Support

Step-by-Step Procedure

The following example requires that you navigate various levels in the configuration hierarchy.

You configure the dynamic pp0 member link IFLs by using dynamic profiles and including the family mlppp statement. The family mlppp statement contains the dynamic-profile name, and either the service-interface or the service-device-pool used to create the dynamic bundle IFL. If you configure a service-device-pool, an inline services (si) interface is selected from the pool to create the dynamic bundle IFL using a round-robin method.

You must also configure the family inet statement in the tunneled pp0 member link dynamic profile. The family inet statement enables the L2TP long route to be installed and supported for the lookup engine to steer control packets to the Routing Engine.

Note:

Optionally, you can configure the dynamic profile to support mixed mode to enable PPP subscribers to successfully log in using the dynamic profile. See Configuring a Dynamic Profile for Dynamic pp0 Member Link IFL With Mixed Mode Support for the additional configuration commands required.

The following example shows how to configure dynamic pp0 member link IFLs over flexible VLAN to support PPPoE MLPPP subscribers.

  1. Create the Gigabit Ethernet underlying interface for the dynamic profile, ge-1/0/0 and enable flexible VLAN tagging.

    [edit interfaces]user@host# set ge-1/0/0 flexible vlan-tagging

  2. For the ge-1/0/0 interface, configure PPP over Ethernet encapsulation for VLAN 600.

    [edit interfaces ge-1/0/0]user@host# set unit 600 encapsulation ppp-over-ether vlan-id 600

  3. Configure the PPPoE underlying interface and set its dynamic profile.

    [edit interfaces ge-1/0/0 unit 600]user@host# set pppoe-underlying-options dynamic-profile ml-pp0-member-prof

  4. Specify the dynamic profile that you previously set as the PPPoE underlying interface dynamic profile.

    [edit dynamic-profiles]user@host# set ml-pp0-member-prof

  5. Configure the interface for the dynamic profile by setting the predefined dynamic interface variable $junos-interface-ifd-name, and the logical interface unit by setting the predefined unit number variable $junos-interface-unit. The interface and unit number variables are dynamically replaced with the interface and unit number that the subscriber accesses when connecting to the MX Series.

    Note:

    The interface setting for a dynamic profile for PPPoE sessions can use either of the following code formats:

    • set interfaces pp0

      or

    • set interfaces “$junos-interface-ifd-name”

    This example uses set interfaces “$junos-interface-ifd-name”.

    [edit dynamic-profiles ml-pp0-member-prof]user@host# set interfaces “$junos-interface-ifd-name” unit “$junos-interface-unit”

  6. For the $junos-interface-ifd-name interface, configure the underlying interface for the PPPoE options and PPPoE server mode for a dynamic PPPoE logical interface in a dynamic profile.

    [edit dynamic-profiles ml-pp0-member-prof interfaces “$junos-interface-ifd-name” unit “$junos-interface-unit”]user@host# set pppoe-options underlying-interface "$junos-underlying-interface" server

  7. Configure PPP-specific interface properties in a dynamic profile: pap, chap, and set the lcp-restart-timer to 5000.

    [edit dynamic-profiles ml-pp0-member-prof interfaces “$junos-interface-ifd-name” unit “$junos-interface-unit”]user@host# set ppp-options pap chap lcp-restart-timer 5000

  8. Enable MLPPP support for dynamic PPPoE MLPPP subscribers and configure the dynamic bundle interface (IFL) by setting the predefined dynamic bundle interface variable $junos-bundle-interface-name.

    Note:

    The family mlppp statement determines whether MLPPP is supported for subscribers coming in from the subscriber interface.

    [edit dynamic-profiles ml-pp0-member-prof interfaces “$junos-interface-ifd-name” unit “$junos-interface-unit”]user@host# set family mlppp bundle “$junos-bundle-interface-name”

  9. Specify the service interface for the dynamic PPPoE MLPPP subscribers.

    [edit dynamic-profiles ml-pp0-member-prof interfaces “$junos-interface-ifd-name” unit “$junos-interface-unit” family mlppp]user@host# set service-interface si-5/1/0

  10. Specify the dynamic profile name for the bundle.

    [edit dynamic-profiles ml-pp0-member-prof interfaces “$junos-interface-ifd-name” unit “$junos-interface-unit” family mlppp]user@host# set dynamic-profile ml-bundle-prof

  11. Enable support for PPPoE tunneled subscribers and the LAC long route.

    [edit dynamic-profiles ml-lns-member-prof interfaces “$junos-interface-ifd-name” unit “$junos-interface-unit”]user@host# set family inet

  12. If you are done configuring the device, commit the configuration.

Configuring a Dynamic Profile for Dynamic pp0 Member Link IFL With Mixed Mode Support

Step-by-Step Procedure

The following example requires that you navigate various levels in the configuration hierarchy.

Optionally, you can configure the dynamic profile to support mixed mode to enable PPP subscribers to successfully log in using the dynamic profile.

The following example shows the additional configurations required to support mixed mode for dynamic profiles.

Note:

The following configuration commands are not included in the CLI Quick Configuration section.

  1. Configure dynamic pp0 member link IFLs over flexible VLAN to support PPPoE MLPPP subscribers. See Configuring a Dynamic Profile for Dynamic pp0 Member Link IFL Without Mixed Mode Support, steps 1 through 4.

  2. Specify the dynamic profile that you used to create the dynamic PPPoE MLPPP member link.

    [edit dynamic-profiles]user@host# set ml-pp0-member-prof

  3. When the customer premises equipment (CPE) is for a dynamic virtual routing and forwarding (VRF) PPP subscriber, you must configure the routing instance and its interface.

    [edit dynamic-profiles ml-pp0-member-prof]user@host# set routing-instances "$junos-routing-instance" interface "$junos-interface-name"

  4. Configure the access route for the routing options.

    [edit dynamic-profiles ml-pp0-member-prof routing-instances "$junos-routing-instance" interface "$junos-interface-name"]user@host# set routing-options access route $junos-framed-route-ip-address-prefix

  5. Configure the next-hop, metric, and preference for the router.

    [edit dynamic-profiles ml-pp0-member-prof routing-instances "$junos-routing-instance" interface "$junos-interface-name" routing-options access route $junos-framed-route-ip-address-prefix]user@host# set next-hop $junos-framed-route-nexthopuser@host# set metric $junos-framed-route-costuser@host# set preference $junos-framed-route-distance

  6. Configure the internal access route for the routing options.

    [edit dynamic-profiles ml-pp0-member-prof routing-instances "$junos-routing-instance" interface "$junos-interface-name"]user@host# set routing-options access-internal route $junos-subscriber-ip-address

  7. Configure the qualified next-hop for the internal route.

    [edit dynamic-profiles ml-pp0-member-prof routing-instances "$junos-routing-instance" interface "$junos-interface-name" routing-options access-internal route $junos-subscriber-ip-address ]user@host# set qualified-next-hop $junos-interface-name

  8. Configure the basic settings for the dynamic profile. See Configuring a Dynamic Profile for Dynamic pp0 Member Link IFL Without Mixed Mode Support, steps 5 through 11.

    Note:

    To enable mixed mode support, when the CPE is a PPP subscriber, you must also add an unnumbered address, and input and output filters to the family inet statement.

    [edit dynamic-profiles ml-pp0-member-prof interfaces “$junos-interface-ifd-name” unit “$junos-interface-unit”]user@host# set family inet unnumbered-address $junos-loopback-interfaceuser@host# set family inet filter input "$junos-input-filter" output "$junos-output-filter”

  9. When the CPE is a PPP subscriber, you must also configure class of service and define the traffic control profile.

    [edit dynamic-profiles ml-pp0-member-prof class-of-serviceuser@host# set traffic-control-profiles tc-profile

  10. For the traffic-control profile, define the following settings: scheduler map, shaping rate, overhead accounting, guaranteed rate, and delay buffer rate.

    [edit dynamic-profiles ml-pp0-member-prof class-of-service traffic-control-profiles tc-profileuser@host# set scheduler-map "$junos-cos-scheduler-map"user@host# set shaping-rate "$junos-cos-shaping-rate"user@host# set overhead-accounting "$junos-cos-shaping-mode" bytes "$junos-cos-byte-adjust"user@host# set guaranteed-rate "$junos-cos-guaranteed-rate"user@host# set delay-buffer-rate "$junos-cos-delay-buffer-rate"

  11. Configure the interface for the dynamic profile by setting the predefined dynamic interface variable $junos-interface-ifd-name, and the logical interface unit by setting the predefined unit number variable $junos-interface-unit.

    [edit dynamic-profiles ml-pp0-member-prof class-of-service]user@host# set interfaces “$junos-interface-ifd-name” unit “$junos-interface-unit”

  12. For the dynamic profile interface, define the following settings: output traffic control profile, classifiers, and rewrite rules.

    [edit dynamic-profiles ml-pp0-member-prof class-of-service interfaces “$junos-interface-ifd-name” unit “$junos-interface-unit”]user@host# set output-traffic-control-profile tc-profileuser@host# set classifiers dscp GEN-CLASSIFIER-INuser@host# set rewrite-rules dscp GEN-RW-OUT-DSCP

  13. If you are done configuring the device, commit the configuration.

Configuring a Dynamic Profile for the Dynamic Bundle IFL

Step-by-Step Procedure

The following example requires that you navigate various levels in the configuration hierarchy.

To configure the dynamic profile for the dynamic bundle IFL, you specify the encapsulation multilink-ppp statement within the dynamic profile. The dynamic profile for the dynamic bundle IFL is referenced from the dynamic profile for dynamic PPPoE and LNS member link IFLs.

You must configure the fragmentation-maps statement statically using class-of-service and assign them in the bundle dynamic profile. You can also set these optional MLPPP parameters: MRRU, short sequence, and fragment-threshold. The following example shows how to configure the dynamic profile for the dynamic bundle IFL:

  1. Specify the dynamic profile name for the bundle.

    [edit dynamic-profiles}user@host# set ml-bundle-prof

  2. Although MLPPP member links process authentication and routing-instance assignments, if a non-default routing-instance is assigned, you must configure the bundle IFL under the assigned routing-instance. As a result, you must also configure routing-instances in the bundle dynamic-profile.

    [edit dynamic-profiles ml-bundle-prof]user@host# set routing-instances "$junos-routing-instance" interface "$junos-interface-name"

  3. Configure the access route for the routing options.

    [edit dynamic-profiles ml-bundle-prof routing-instances "$junos-routing-instance" interface "$junos-interface-name"]user@host# set routing-options access route $junos-framed-route-ip-address-prefix

  4. Configure the next-hop, metric, and preference for the router.

    [edit dynamic-profiles ml-bundle-prof routing-instances "$junos-routing-instance" interface "$junos-interface-name" routing-options access route $junos-framed-route-ip-address-prefix]user@host# set next-hop $junos-framed-route-nexthopuser@host# set metric $junos-framed-route-costuser@host# set preference $junos-framed-route-distance

  5. Configure the internal access route for the routing options.

    [edit dynamic-profiles ml-bundle-prof routing-instances "$junos-routing-instance" interface "$junos-interface-name"]user@host# set routing-options access-internal route $junos-subscriber-ip-address

  6. Configure the qualified next-hop for the internal route.

    [edit dynamic-profiles ml-bundle-prof routing-instances "$junos-routing-instance" interface "$junos-interface-name" routing-options access-internal route $junos-subscriber-ip-address]user@host# set qualified-next-hop $junos-interface-name

  7. Configure the interface for the dynamic profile by setting the predefined dynamic interface variable $junos-interface-ifd-name, and the logical interface unit by setting the predefined unit number variable $junos-interface-unit. The interface and unit number variables are dynamically replaced with the interface and unit number that the subscriber accesses when connecting to the MX Series.

    [edit dynamic-profiles ml-bundle-prof]user@host# set interfaces “$junos-interface-ifd-name” unit “$junos-interface-unit”

  8. Configure the encapsulation multilink-ppp statement to enable MLPPP bundling for the dynamic profile.

    [edit dynamic-profiles ml-bundle-prof interfaces “$junos-interface-ifd-name” unit “$junos-interface-unit”]user@host# set encapsulation multilink-ppp

  9. Configure the following MLPPP options for this example:

    • mrru—Specifies the maximum received reconstructed unit value ranging from 1500 through 4500 bytes.

    • fragment-threshold—Applies to all packets and forwarding classes, ranging from 128 through 16,320 bytes.

    • short-sequence—Determines the header format for the MLPPP. Default is long-sequence.

    [edit dynamic-profiles ml-bundle-prof interfaces “$junos-interface-ifd-name” unit “$junos-interface-unit”]user@host# set mrru 1500user@host# set fragment-threshold 320user@host# set short-sequence

  10. Enable support for MLPP subscribers.

    [edit dynamic-profiles ml-bundle-prof interfaces “$junos-interface-ifd-name” unit “$junos-interface-unit”]user@host# set family inet

  11. To enable fragmentation-maps support, you must configure class of service and define the traffic control profile.

    [edit dynamic-profiles ml-bundle-prof class-of-service]user@host# set traffic-control-profiles tcp2

  12. For the traffic-control profile, define the following settings: scheduler map, shaping rate, guaranteed rate, and delay buffer rate.

    [edit dynamic-profiles ml-bundle-prof class-of-service traffic-control-profiles tcp2]user@host# set scheduler-map "$junos-cos-scheduler-map"user@host# set shaping-rate "$junos-cos-shaping-rate"user@host# set guaranteed-rate "$junos-cos-guaranteed-rate"user@host# set delay-buffer-rate "$junos-cos-delay-buffer-rate"

  13. Configure the underlying interface for the dynamic profile by setting the predefined dynamic interface variable $junos-interface-ifd-name, and the underlying logical interface unit by setting the predefined unit number variable $junos-interface-unit. The interface and unit number variables are dynamically replaced with the interface and unit number that the subscriber accesses when connecting to the MX Series.

    [edit dynamic-profiles ml-bundle-prof class-of-service]user@host# set interfaces “$junos-interface-ifd-name” unit "$junos-interface-unit"

  14. For the dynamic profile interface, define the output traffic control profile.

    [edit dynamic-profiles ml-bundle-prof class-of-service interfaces “$junos-interface-ifd-name” unit "$junos-interface-unit"]user@host# set output-traffic-control-profile tcp2

  15. Define the fragmentation-map required for dynamic profile bundles and used to enable link fragmentation and interleaving (LFI).

    [edit dynamic-profiles ml-bundle-prof class-of-service interfaces “$junos-interface-ifd-name” unit "$junos-interface-unit"]user@host# set fragmentation-map fragmap-2

  16. If you are done configuring the device, commit the configuration.

Results

From configuration mode, confirm your configuration by entering the show dynamic-profiles command with the sub-hierarchy levels interfaces. If the output does not display the intended configuration, repeat the instructions in this example to correct the configuration.

Dynamic profile for dynamic PPPoE member link IFL without mixed mode:

Dynamic profile for dynamic PPPoE member link IFL with mixed mode:

Verification

Confirm that the configuration is working properly.

Verifying the Subscriber Information

Purpose

Verify that the subscriber information for dynamic MLPPP over PPPoE is correct.

Action

Meaning

When a PPPoE MLPPP session is tunneled, the bundle and member link binding is maintained. The PPP State setting for both bundle and member link is set to Tunneled. Although there is no NCP negotiation over the bundle, the bundle session remains active.

Verifying Mixed Mode Support with a Dynamic MLPPP-Capable Subscriber

Purpose

Verify that mixed-mode interfaces negotiated correctly for the single link PPP using a dynamic MLPPP-capable subscriber.

Action

Meaning

When a dynamic MLPPP-capable subscriber negotiates a single link PPP, the results are the same as a non-MLPPP subscriber; no bundle IFL or SDB session is created.

Verifying Tunneled PPPoE MLPPP Interfaces

Purpose

Verify that the PPPoE MLPPP member link IFL is correct.

Action

Meaning

When a PPPoE MLPPP session is tunneled, the bundle and member link binding remains. Although the bundle IFL does not participate in the control and forwarding path, it remains in the user interface.