Configuring Multilink PPP (Dynamips)
UPDATE: Added a video demo at the bottom of the post (22-Mar-2008).
This is just a quick lab I whipped up to demonstrate how to configure multilink PPP between a pair of routers. According to Cisco:
“Multilink PPP (also referred to as MP, MPPP, MLP, or Multilink) provides a method for spreading traffic across multiple physical WAN links while providing packet fragmentation and reassembly, proper sequencing, multivendor interoperability, and load balancing on inbound and outbound traffic.”
In other words, we can combine multiple physical connections into a single logical connection to provide increased bandwidth and/or load balancing.
Here’s what our topology looks like:

Pretty simple setup: two routers, R1 and R2, with two serial connections between their serial 0/0 and serial 0/1 interfaces. Let’s get right into it:
R1’s configuration
R1# configure terminal Enter configuration commands, one per line. End with CNTL/Z. R1(config)# interface multilink 1 R1(config-if)# *Mar 1 00:04:09.975: %LINEPROTO-5-UPDOWN: Line protocol on Interface Multilink1, changed state to down R1(config-if)# ip address 192.168.42.1 255.255.255.252 R1(config-if)# ppp multilink R1(config-if)# ppp multilink group 1 R1(config-if)# interface serial 0/0 R1(config-if)# encapsulation ppp R1(config-if)# ppp multilink R1(config-if)# ppp multilink group 1 R1(config-if)# no shutdown R1(config-if)# *Mar 1 00:05:07.467: %LINK-3-UPDOWN: Interface Serial0/0, changed state to up R1(config-if)# interface serial 0/1 R1(config-if)# encapsulation ppp R1(config-if)# ppp multilink R1(config-if)# ppp multilink group 1 R1(config-if)# no shutdown R1(config-if)# end R1# *Mar 1 00:05:33.679: %SYS-5-CONFIG_I: Configured from console by console R1# *Mar 1 00:05:35.019: %LINK-3-UPDOWN: Interface Serial0/1, changed state to up R1#
R2’s configuration
Before starting to configure the other end of the link, I’ve started a debug so that we can see what is happening in the background:
R2# debug ppp multilink events Multilink events debugging is on R2#
R2# configure terminal Enter configuration commands, one per line. End with CNTL/Z. R2(config)# interface multilink 1 *Mar 1 00:08:23.703: %LINEPROTO-5-UPDOWN: Line protocol on Interface Multilink1, changed state to down R2(config-if)# ip address 192.168.42.2 255.255.255.252 R2(config-if)# ppp multilink R2(config-if)# ppp multilink group 1 R2(config-if)# interface serial 0/0 R2(config-if)# encapsulation ppp R2(config-if)# ppp multilink R2(config-if)# ppp multilink group 1 *Mar 1 00:08:45.711: Se0/0 MLP: Added interface to multilink group Mu1 R2(config-if)# no shutdown *Mar 1 00:08:52.231: %LINK-3-UPDOWN: Interface Serial0/0, changed state to up *Mar 1 00:08:52.343: Se0/0 MLP: Request add link to bundle *Mar 1 00:08:52.343: Se0/0 MLP: Adding link to bundle *Mar 1 00:08:52.355: Mu1 MLP: Added first link Se0/0 to bundle R1 R2(config-if)# *Mar 1 00:08:52.363: %LINK-3-UPDOWN: Interface Multilink1, changed state to up *Mar 1 00:08:53.339: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0, changed state to up *Mar 1 00:08:53.367: %LINEPROTO-5-UPDOWN: Line protocol on Interface Multilink1, changed state to up R2(config-if)#
At this point, our multilink PPP session is up, although with only one link. It is completely usable and operational. Let’s go ahead and bring up the other serial link:
R2(config-if)# interface serial 0/1 R2(config-if)# encapsulation ppp R2(config-if)# ppp multilink R2(config-if)# ppp multilink group 1 R2(config-if)# *Mar 1 00:12:22.647: Se0/1 MLP: Added interface to multilink group Mu1 R2(config-if)# no shutdown R2(config-if)# end R2# *Mar 1 00:12:32.195: %SYS-5-CONFIG_I: Configured from console by console *Mar 1 00:12:32.399: %LINK-3-UPDOWN: Interface Serial0/1, changed state to up R2# *Mar 1 00:12:32.447: Se0/1 MLP: Request add link to bundle *Mar 1 00:12:32.447: Se0/1 MLP: Adding link to bundle *Mar 1 00:12:32.459: Mu1 MLP: Added link Se0/1 to bundle R1 *Mar 1 00:12:33.447: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/1, changed state to up R2#
We see that the other serial link has came up and been automatically added to the “bundle”, just as the first one was.
Verifying Multilink PPP
We can verify the proper operation of our multilink PPP configuration easily:
R1# show ppp multilink
Multilink1, bundle name is R2
Endpoint discriminator is R2
Bundle up for 00:06:17, total bandwidth 3088, load 1/255
Receive buffer limit 24000 bytes, frag timeout 1000 ms
0/0 fragments/bytes in reassembly list
0 lost fragments, 0 reordered
0/0 discarded fragments/bytes, 0 lost received
0x6 received sequence, 0x6 sent sequence
Member links: 2 active, 0 inactive (max not set, min not set)
Se0/0, since 00:06:17
Se0/1, since 00:02:37
No inactive multilink interfaces
R1#
From the output above, we see that our “bundle”, R2, has two links (serial 0/0 and serial 0/1), both of which are active. We also see that there are no inactive links. In addition, note that the bandwidth of this link is 3088 Kbps — twice the bandwidth of a normal T-1. Let’s ping the remote end to verify connectivity:
R1# ping 192.168.42.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.42.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 8/17/36 ms R1#
Success! It works just as expected!
Related Posts:






evilrouters.net » Blog Archive » Configuring Basic BGP:
[...] routers to be BGP neighbors. I’m using dynamips and the same topology from yesterday’s multilink PPP lab (for [...]
November 29, 2008, 4:50 amLenny:
Great lab Jeremy! Great for GNS3-Labs as well
November 29, 2008, 11:21 amGNS3-Topology: EvilRouters - Multilink-PPP Lab | GNS3 Labs :: Cisco Router Simulator Network Topologies:
[...] The lab below is a lab taken from a series of labs (which I will be posting) This is the initial lab “EvilRouters-Multilnk PPP Lab” [...]
December 21, 2008, 10:38 amEvilRouters- BGP Over Multilink PPP Lab | GNS3 Labs :: Cisco Router Simulator Network Topologies:
[...] a continuation from Jeremy’s Configuring Multilink PPP lab over at EvilRouters, and my GNS3 verison of it: EvilRouters-Multilnk PPP Lab - Here is part 2 [...]
January 11, 2009, 5:40 pm