Cisco MLPPP with 2 ADSL connections

Aggregating 2 ADSL connections from Teksavvy in Calgary on Telus Copper

Yes! MLPPP works out west for Telsavvy customers, they don't officially support it but they were quite helpful through the setup phase.

I did this with a Cisco 2691  router, with two wic-1adsl line cards.

Since giving Shaw the boot, and because of the number of remote systems I have collecting mail off of my mail server, I needed a bit more bandwidth especially in the upload speed department.

What I used:

1 phone line, 1 dry DSL copper pair. We actually have 3 lines coming into the house, but our main phone line has an alarm system attached inline - The phone line goes through the alarm box before going to the distribution panel. Alarm systems are incompatible with ADSL (there are sites that show you how to do it if you must, but avoid it if you can)

1 Cisco 2691 series router, with an advanced enterprise IOS, and two wic-1adsl wan cards.

2 6/1 unlimited business adsl lines with a static IP, I also have a /29 subnet for my server.

 - NOTE - I first tried this with a 2611XM, bad idea, it does not even have enough CPU to run even 1 wic-1adsl card at full speed, never mind 2. Unlike the ethernet interfaces in the 2600 series, the wic cards are serial cards, and are extremely cpu intensive. On my 2611, a 5 Mbps download would pin the CPU at 100%. If you are using a 2600 series router, the smallest I think you could get away with is a 2651XM.

Once the DSL service is installed, the configuration is fairly straight forward, here are the relevant parts of mine:

A note about multiple Dialer interfaces, they are Not needed. I've seen postings with more than one dialer interface, I do not believe this necessary. My config works fine with one dialer interface.

1st adsl line card:

interface ATM0/0
 no ip address
 atm restart timer 300
 no atm ilmi-keepalive
 bundle-enable
 dsl operating-mode auto
 hold-queue 224 in
!
interface ATM0/0.1 point-to-point
 description ADSL Interface 0
 pvc 0/33
  pppoe-client dial-pool-number 1
 !

Second ADSL Line card:

interface ATM0/1
 no ip address
 atm restart timer 300
 no atm ilmi-keepalive
 bundle enable
 dsl operating-mode auto
 hold-queue 224 in
!
interface ATM0/1.1 point-to-point
 description ADSL Interface 1
 pvc 0/33
  pppoe-client dial-pool-number 1
 !
!

interface FastEthernet0/0
 description Inside Ethernet interface
 ip address 192.168.0.1 255.255.255.0
 ip access-group 101 in
 ip verify unicast reverse-path
 no ip redirects
 no ip unreachables
 no ip proxy-arp
 ip nat inside
 ip inspect fast_eth0_in in
 ip virtual-reassembly
 ip route-cache flow
 ip tcp adjust-mss 1430
 no ip mroute-cache
 duplex auto
 speed auto

and finally the Dialer interface:

interface Dialer1
 description Public Internet Interface
 mtu 1477
 ip address negotiated
 ip access-group 112 in
 ip verify unicast reverse-path
 no ip redirects
 no ip unreachables
 no ip proxy-arp
 ip nat outside
 ip inspect fast_eth0_in in
 ip virtual-reassembly
 encapsulation ppp
 ip tcp adjust-mss 1430
 no ip mroute-cache
 dialer pool 1
 dialer-group 1
 no cdp enable
 ppp authentication chap pap callin
 ppp chap hostname <username>@teksavvy.com
 ppp chap password 7 <secret_password>
 ppp pap sent-username <username>@teksavvy.com password 7 <secret_password>
 ppp ipcp dns request accept
 ppp ipcp route default
 ppp ipcp address accept
 ppp link reorders
 ppp multilink  

The remainder is fairly straight forward Cisco IOS firewall stuff with CBAC.

Some notes:

ppp multilink adds some more overhead to packets, so to ensure I don't get excessive fragmentation, I set the mtu on the dialer interface to 1477 and the tcp mss adjust to 1430.

tcp mss adjust monitors the packets between two hosts, and adjusts the mss (maximum segment size) they negotiate to this number.

Trouble shooting:

make sure both adsl cards are up:

show dsl interface

ATM0/0
Alcatel 20150 chipset information
                ATU-R (DS)                      ATU-C (US)
Modem Status:    Showtime (DMTDSL_SHOWTIME)
DSL Mode:        ITU G.992.1 (G.DMT) Annex A
ITU STD NUM:     0x01                            0x1
Vendor ID:       'ALCB'                          'BDCM'
Vendor Specific: 0x0000                          0xA10C
Vendor Country:  0x00                            0xB5
Capacity Used:   60%                             94%
Noise Margin:    13.5 dB                          6.0 dB
Output Power:     9.0 dBm                        12.0 dBm
Attenuation:     15.0 dB                          9.5 dB
Defect Status:   None                            None
Last Fail Code:  None
Selftest Result: 0x00
Subfunction:     0x15
Interrupts:      3989 (0 spurious)
PHY Access Err:  0
Activations:     3
LED Status:      ON
LED On Time:     100
LED Off Time:    100
Init FW:         embedded
Operation FW:    embedded
SW Version:      3.8131
FW Version:      0x1A04

                 Interleave             Fast    Interleave              Fast
Speed (kbps):          6144                0           960                 0
Cells:             74327163                0    1703360009                 0
Reed-Solomon EC:          0                0             0                 0
CRC Errors:               0                0            13                 0
Header Errors:            0                0             3                 0
Bit Errors:               0                0
BER Valid sec:            0                0
BER Invalid sec:          0                0

LOM Monitoring : Disabled

<snip>

DSL: Training log buffer capability is not enabled
ATM0/1
Alcatel 20150 chipset information
                ATU-R (DS)                      ATU-C (US)
Modem Status:    Showtime (DMTDSL_SHOWTIME)
DSL Mode:        ITU G.992.1 (G.DMT) Annex A
ITU STD NUM:     0x01                            0x1
Vendor ID:       'ALCB'                          'BDCM'
Vendor Specific: 0x0000                          0xA10C
Vendor Country:  0x00                            0xB5
Capacity Used:   62%                             93%
Noise Margin:    13.0 dB                          7.0 dB
Output Power:    10.0 dBm                        12.0 dBm
Attenuation:     14.5 dB                          9.5 dB
Defect Status:   None                            None
Last Fail Code:  None
Selftest Result: 0x00
Subfunction:     0x15
Interrupts:      3990 (0 spurious)
PHY Access Err:  0
Activations:     3
LED Status:      ON
LED On Time:     100
LED Off Time:    100
Init FW:         embedded
Operation FW:    embedded
SW Version:      3.8131
FW Version:      0x1A04

                 Interleave             Fast    Interleave              Fast
Speed (kbps):          6144                0           960                 0
Cells:             74381670                0    1703304507                 0
Reed-Solomon EC:          0                0             0                 0
CRC Errors:               0                0             1                 0
Header Errors:            0                0             0                 0
Bit Errors:               0                0
BER Valid sec:            0                0
BER Invalid sec:          0                0

LOM Monitoring : Disabled

Watch Noise margin and attenuation, for what the numbers mean, look at the bottom of this page: http://teksavvy.com/en/support.asp

and have a look to see if the multilink has come up:

show ppp multilink

Virtual-Access2, bundle name is 343630383332303032320000000000
  Endpoint discriminator is 343630383332303032320000000000
  Bundle up for 1w1d, total bandwidth 1952, load 1/255
  Receive buffer limit 24384 bytes, frag timeout 1000 ms
  Using relaxed lost fragment detection algorithm.
  Dialer interface is Dialer1
    0/0 fragments/bytes in reassembly list
    4907 lost fragments, 1313946 reordered
    3701/5276490 discarded fragments/bytes, 3701 lost received
    0x76569A received sequence, 0xAE320E sent sequence
  Member links: 2 (max not set, min not set)
    Vi3, since 1w1d, unsequenced
    Vi1, since 1w1d, unsequenced
No inactive multilink interfaces

DSL: Training log buffer capability is not enabled

You can see from the output, the interface Virtual-Access2 is made up of Virtual interfaces Vi3 and Vi1

Speed test results:

speed test result

I typically see about 1 to 1.2 KBytes per second downloads, particularly from Microsoft..

Rob Sunday 06 February 2011 - 10:42 am | | Tech Stuff

three comments

raz

Nice blog on mlp configuration. My question is regarding bandwidth reported for the bundle in the “show multilink ppp” command;

Bundle up for 1w1d, total bandwidth 1952, load 1/255

Why is the total bandwidth sum of upload bandwidth for both DSL lines?

Thanks

raz, - 15-09-’11 06:54
Robert

Raz,

The reported bandwith in the output of the show commands does not reflect the actual speed the interface is running at, it is a default value in IOS for the link type. So in this case it is 2 X the default value for a DSL connection. You can change what that shows by using the bandwidth command on any interface, and change it to anything you want, but it does not change the actual speed the interface runs at.

Robert, - 09-01-’12 15:52

One or more comments are waiting for approval by an editor.

(optional field)
(optional field)
To prevent automated comment spam, I require you to answer this silly question

Comment moderation is enabled on this site. This means that your comment will not be visible until it has been approved by an editor.

Remember personal info?
Small print: All html tags except <b> and <i> will be removed from your comment. You can make links by just typing the url or mail-address.