MultiLink PPP (MLPPP)

November 21, 2025 - Reading time: 5 minutes

MultiLink PPP (MLPPP), also known as PPP Multilink or MLP, is a protocol that allows multiple physical WAN links to be logically bundled into a single virtual multilink interface. Functionally, you can think of MLPPP as “EtherChannel for router serial links”: it combines the bandwidth of several individual links into one logical pipe, provides load balancing across those links, and maintains packet sequencing to avoid data corruption. Because MLPPP is an IETF standard, it ensures interoperability between devices from different vendors. In this lab, you will build a two-link MLPPP bundle between two Cisco routers and verify its operation.

Lab Topology & Assumptions

We will use two Cisco routers running a standard IOS/IOS XE software image.

  • Router0 Serial1/0 <---> Router1 Serial1/0 (Primary Link)

  • Router0 Serial1/1 <---> Router1 Serial1/1 (Secondary Link)
    We assume the physical serial links are already installed, connected with a crossover serial cable or through a CSU/DSU, and are in an "up/down" (layer 1 up, layer 2 down) state before we begin configuration.


Step-by-Step Lab Configuration

We will configure the multilink interface and then assign the physical serial interfaces to the bundle.

1. Creating the Multilink Bundle Interface

We start by creating a virtual bundle interface. All layer 3 configuration (like an IP address) will be applied here.

On Router0:

text
Router0> enable
Router0# configure terminal
Router0(config)# interface Multilink1
Router0(config-if)# ip address 10.0.0.1 255.255.255.252
Router0(config-if)# ppp multilink
Router0(config-if)# ppp multilink group 1
Router0(config-if)# end

On Router1:

text
Router1> enable
Router1# configure terminal
Router1(config)# interface Multilink1
Router1(config-if)# ip address 10.0.0.2 255.255.255.252
Router1(config-if)# ppp multilink
Router1(config-if)# ppp multilink group 1
Router1(config-if)# end


The interface Multilink1 command creates the virtual bundle. The ip address command assigns a layer 3 address to the entire bundle. The ppp multilink command enables the MLPPP protocol on this interface. The ppp multilink group 1 command assigns this multilink interface to group 1. Any physical interface also assigned to group 1 will become a member of this bundle.

2. Assigning Physical Interfaces to the Bundle

Now we configure the physical serial interfaces to join the multilink group.

On Router0:

text
Router0# configure terminal
Router0(config)# interface Serial1/0
Router0(config-if)# encapsulation ppp
Router0(config-if)# ppp multilink
Router0(config-if)# ppp multilink group 1
Router0(config-if)# no shutdown
Router0(config-if)# interface Serial1/1
Router0(config-if)# encapsulation ppp
Router0(config-if)# ppp multilink
Router0(config-if)# ppp multilink group 1
Router0(config-if)# no shutdown
Router0(config-if)# end

On Router1:

text
Router1# configure terminal
Router1(config)# interface Serial1/0
Router1(config-if)# encapsulation ppp
Router1(config-if)# ppp multilink
Router1(config-if)# ppp multilink group 1
Router1(config-if)# no shutdown
Router1(config-if)# interface Serial1/1
Router1(config-if)# encapsulation ppp
Router1(config-if)# ppp multilink
Router1(config-if)# ppp multilink group 1
Router1(config-if)# no shutdown
Router1(config-if)# end


The encapsulation ppp command changes the layer 2 protocol from the default HDLC to PPP, which is a requirement for MLPPP. The ppp multilink group 1 command is the critical directive that places this physical interface into multilink group 1, binding it to the Multilink1 interface we configured earlier. The no shutdown command administratively enables the interface.


Verification Commands

Use these commands to confirm your MLPPP bundle is operating correctly.

1. show interfaces multilink 1
This is the primary command to verify the status of the multilink bundle itself.

What it proves: It shows that the multilink interface is up/up, its IP address is correct, and it has both member links active in the bundle.
On Router0:

text
Router0# show interfaces multilink 1
Multilink1 is up, line protocol is up
  Hardware is multilink group interface
  Internet address is 10.0.0.1/30
  MTU 1500 bytes, BW 3088 Kbit/sec, DLY 100000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation PPP, LCP Open, multilink Open
  Link is a member of Multilink bundle interface Multilink1
  Last input 00:00:05, output never, output hang never
  Last clearing of "show interface" counters never
  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: fifo
  Output queue: 0/40 (size/max)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     105 packets input, 12312 bytes, 0 no buffer
     105 packets output, 12312 bytes, 0 underruns
     0 output errors, 0 collisions, 0 interface resets
     0 unknown protocol drops
     0 output buffer failures, 0 output buffers swapped out

2. show ppp multilink
This command provides detailed information about the MLPPP bundle and its members.

What it proves: It confirms the bundle is active, lists the physical member links, and shows that load balancing is occurring with a "fragment" size assigned to each link.
On Router0:

text
Router0# show ppp multilink

Multilink1
Bundle name: Router0
Remote Endpoint Discriminator: [1] Router1
Local Endpoint Discriminator: [1] Router0
Bundle up for 00:05:43
0 lost fragments, 0 reordered, 0 unassigned
0 discarded, 0 lost received, 1/255 load
Member links: 2 active, 0 inactive (max not set, min not set)
Se1/0, since 00:05:43
Se1/1, since 00:05:41
No inactive multilink interfaces

3. show interface serial1/0
This verifies the status of the physical interface and shows it is bound to the multilink bundle.

What it proves: It shows the physical link is up and the line protocol is up. The key line is "MLP belonging to Multilink1", which confirms its membership.
On Router0:

text
Router0# show interface serial1/0
Serial1/0 is up, line protocol is up
  Hardware is M4T
  MTU 1500 bytes, BW 1544 Kbit/sec, DLY 20000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation PPP, LCP Open
  MLP belonging to Multilink1, link is up
  ... (output truncated for brevity) ...

Common Mistakes

1. Error: Missing encapsulation ppp on the physical interface.
The physical interface must use PPP encapsulation, not the default HDLC.

  • Symptom: The physical interface remains down/down or up/down (layer 2 down).

  • Erroneous Config & Error Message:

    text
    Router0(config)# interface s1/0
    Router0(config-if)# ppp multilink group 1
    %PPP: Not available on non-PPP encapsulation
  • Fix: Enter the interface and add PPP encapsulation.

    text
    Router0(config)# interface s1/0
    Router0(config-if)# encapsulation ppp

2. Error: Group number mismatch between the multilink interface and the physical interface.
The group number on the physical interface must match the group number on the multilink interface.

  • Symptom: The physical interface comes up, but does not join the bundle. The show ppp multilink command shows 0 active members.

  • Erroneous Config:

    text
    !On Multilink Interface
    Router0(config-if)# ppp multilink group 1
    
    !On Physical Interface (mistake)
    Router0(config-if)# ppp multilink group 2
  • Fix: Correct the group number on the physical interface to match the multilink interface (group 1).

    text
    Router0(config)# interface s1/0
    Router0(config-if)# ppp multilink group 1

MultiLink PPP (MLPPP) | PocketCLI

Download


>