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.
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:
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:
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:
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:
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.
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:
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:
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:
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) ...
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:
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.
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:
!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).
Router0(config)# interface s1/0 Router0(config-if)# ppp multilink group 1