Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Mlppp hack for pfsense 2.0

    Scheduled Pinned Locked Moved 2.0-RC Snapshot Feedback and Problems - RETIRED
    48 Posts 8 Posters 33.2k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      rsingh
      last edited by

      I posted this thread in my ISP's forum on dslreports: http://www.dslreports.com/forum/r23826167-working-mlppp-in-pfsense-20

      in this case, multi-link ppp is bringing up two adsl connections at the same time and bonding them together. mpd5 splits the packets, my isp joins them. same thing happens in reverse. this seems to be working well for me in pfsense 2.0.

      could anyone with good knowledge of pfsense review this and let me know of any negative impacts i should look out for, or help with the limitations of this?

      1 Reply Last reply Reply Quote 0
      • C
        cmb
        last edited by

        Very cool, nice work. I don't have a need for, or the free time to extensively mess with MLPPP at the moment. I hope it is something we can properly support in the future, it won't happen for 2.0 though and that's our focus at the moment.

        While a hack, it seems it will work properly. That bootup stuff can be done in a shell script, put into the config in <shellcmd>or <earlyshellcmd>tags.</earlyshellcmd></shellcmd>

        1 Reply Last reply Reply Quote 0
        • jimpJ
          jimp Rebel Alliance Developer Netgate
          last edited by

          @rsingh:

          could anyone with good knowledge of pfsense review this and let me know of any negative impacts i should look out for, or help with the limitations of this?

          It is very cool, I have one customer site that could use this eventually, but unfortunately I don't have any locations I can test with that have two ADSL lines.

          The only thing you'd need to worry about is a method of keeping these changes intact during a firmware update, really.

          MLPPP, when supported on both sides, is very nice. I haven't run it over ADSL but I've used it for T1 bundles for customers and it works very well. You get the combined bandwidth of both pipes without having to worry about load balancing, and no per-connection limits. You can also lose a line and still keep going seamlessly. You just have to be connected up to an ISP which supports it on their end.

          There are some other, unrelated, PPPoE issues on 2.0 now, mainly with automatic connection/reconnection that I'm wondering if mpd5 might solve or improve. Have you seen any issues in your setup with links not reconnecting when they are disconnected?

          Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

          Need help fast? Netgate Global Support!

          Do not Chat/PM for help!

          1 Reply Last reply Reply Quote 0
          • E
            eri--
            last edited by

            Actually i always wanted to add this to pfSense but never came close to it.
            Probably add a efature request on redmine.pfsense.org and as soon as possible i will implement this, upgrade to mpd5, etc…
            BTW, for your interface name problem you have take a look at this patch for mpd5 http://redmine.pfsense.org/issues/show/252 it would help you overall to comply what is used in present code in pfSense.

            I could do it earlier still if you do a patch to convert current config used for mpd4 to mpd5 in pfSense only the client pppoe/pptp/l2tp ones.
            The server can still leave at mpd4 for now.

            1 Reply Last reply Reply Quote 0
            • R
              rsingh
              last edited by

              Jimp:

              There are some other, unrelated, PPPoE issues on 2.0 now, mainly with automatic connection/reconnection that I'm wondering if mpd5 might solve or improve. Have you seen any issues in your setup with links not reconnecting when they are disconnected?

              Due to limitations in pfsense 2.0 (voip problems, ipsec problems), I ran it for a total of 72 hours (some reboots involved). During that time, mpd5 maintained the connection. I don't know if disconnections occurred or not, just that the connection was always working. the status_interfaces.php page's disconnect button doesn't work with my hack.

              ermal:
              i'll look at adding the patch to the 5.3 source for interface naming.

              overall i'm looking at making this work in 1.2.3-RC1 where NAT-T is supported and everything works well except DNS during failover - that is a nice feature in 2.0.

              1 Reply Last reply Reply Quote 0
              • R
                rsingh
                last edited by

                i patched and recompiled mpd 5.3 but the iface option doesn't work.

                mpd-5.3 compile on freebsd
                patch < patch (patch is from http://sourceforge.net/tracker/?func=detail&aid=2831674&group_id=14145&atid=314145)

                
                [root@mlppp /usr/ports/net/mpd5/src]# patch < patch
                Hmm...  Looks like a unified diff to me...
                The text leading up to this was:
                --------------------------
                |--- src/bund.c.orig    2009-08-03 21:25:30.000000000 +0200
                |+++ src/bund.c 2009-08-03 21:44:10.000000000 +0200
                --------------------------
                Patching file bund.c using Plan A...
                Hunk #1 succeeded at 1676.
                Hunk #2 succeeded at 1726.
                Hmm...  The next patch looks like a unified diff to me...
                The text leading up to this was:
                --------------------------
                |--- src/iface.c.orig   2009-08-03 20:09:32.000000000 +0200
                |+++ src/iface.c        2009-08-03 21:33:50.000000000 +0200
                --------------------------
                Patching file iface.c using Plan A...
                Hunk #1 succeeded at 84.
                Hunk #2 succeeded at 157.
                Hunk #3 succeeded at 1347.
                Hunk #4 succeeded at 1961.
                Hunk #5 succeeded at 2050.
                Hunk #6 succeeded at 2081.
                Hunk #7 succeeded at 2113.
                Hmm...  The next patch looks like a unified diff to me...
                The text leading up to this was:
                --------------------------
                |--- src/iface.h.orig   2009-08-03 21:23:42.000000000 +0200
                |+++ src/iface.h        2009-08-03 21:24:28.000000000 +0200
                --------------------------
                Patching file iface.h using Plan A...
                Hunk #1 succeeded at 97.
                done
                [root@mlppp /usr/ports/net/mpd5/src]#
                
                make depend all install to rebuild the binary.
                
                

                the compile was good. i'm using the binary it made but no iface option or purhaps the mpd config is wrong:

                new mpd.conf:
                startup:
                default:
                        load pppoeclient
                pppoeclient:
                      set iface name pppoe0
                      new -i pppoe0 pppoeclient pppoeclient
                      create bundle static B1
                      set iface route default
                ….. the rest is the same.

                mpd5 still works perfectly but i'm still left having to rename the interface. if i run mpd5 in the foreground so it outputs to console, it says set iface name isn't a command.

                1 Reply Last reply Reply Quote 0
                • jimpJ
                  jimp Rebel Alliance Developer Netgate
                  last edited by

                  There are some patches in mpd4 for that, in the tools repo.

                  http://redmine.pfsense.org/repositories/browse/pfsense-tools/pfPorts/mpd4/files

                  Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                  Need help fast? Netgate Global Support!

                  Do not Chat/PM for help!

                  1 Reply Last reply Reply Quote 0
                  • E
                    eri--
                    last edited by

                    Place the set iface name after the bundle create.

                    Otherwise it works for me.

                    I just added mpd5 to builds with that patch included. It is mpd5.5 the latest and greatest.

                    1 Reply Last reply Reply Quote 0
                    • R
                      rsingh
                      last edited by

                      that worked ermal, the interface comes up named "pppoe0" now without intervention. thanks!

                      1 Reply Last reply Reply Quote 0
                      • E
                        eri--
                        last edited by

                        I do not think yo uneed this:

                        
                        new -i pppoe0 pppoeclient pppoeclient
                        
                        

                        To integrate this into pfSense gui it is simple enough to just copy paste the vlan config pages.
                        interface_vlan.php and interface_vlan_edit.php from there on is just adding removing pppoe settings.
                        After you have those pages ok you just need to add the multilink pppoe type to the interfaces assign page and
                        copy the interface_pppoe_configure()  in interfaces.inc to interface_multilink_configure() and add the neccessary settings.
                        It is not too much work once you get to it.

                        1 Reply Last reply Reply Quote 0
                        • R
                          rsingh
                          last edited by

                          i removed that line from the config and reconnected. seems fine.

                          i'll also work on those config pages you mentioned.

                          1 Reply Last reply Reply Quote 0
                          • C
                            clarknova
                            last edited by

                            rsingh, I'm mlppp-enabled on teksavvy, and getting my second ADSL line Friday. I'm using 1.2.3-Release currently and would like to test what you've got. Does the procedure you posted at the dlsr forum work for you in 1.2.3 or do you have any recommended modifications?

                            edit: I tried your 2.0 instructions on 1.2.3 and got a missing library error when trying to run mpd5 in the shell. I'll try it on 2.0 as soon as I can get PFS to boot up.

                            db

                            1 Reply Last reply Reply Quote 0
                            • G
                              gnhb
                              last edited by

                              I'm working on getting this functionality into the pfSense code base.
                              I need to know, do the two DSL lines have different usernames and passwords, or are they the same?

                              Thanks,
                              GNB

                              1 Reply Last reply Reply Quote 0
                              • R
                                rsingh
                                last edited by

                                @clarknova:

                                rsingh, I'm mlppp-enabled on teksavvy, and getting my second ADSL line Friday. I'm using 1.2.3-Release currently and would like to test what you've got. Does the procedure you posted at the dlsr forum work for you in 1.2.3 or do you have any recommended modifications?

                                edit: I tried your 2.0 instructions on 1.2.3 and got a missing library error when trying to run mpd5 in the shell. I'll try it on 2.0 as soon as I can get PFS to boot up.

                                these instructions will not work for 1.2.3. You need to recompile mpd5 in freebsd 7.1 (i think 1.2.3 uses this) and then copy all of the libraries from your 7.1 system to 1.2.3. I did this, i found it didn't work well and abandonned it.

                                1 Reply Last reply Reply Quote 0
                                • R
                                  rsingh
                                  last edited by

                                  @gnhb:

                                  I'm working on getting this functionality into the pfSense code base.
                                  I need to know, do the two DSL lines have different usernames and passwords, or are they the same?

                                  Thanks,
                                  GNB

                                  in my case, the usernames are the same. people on the ISP i'm on and many other canadian ISPs that run mlppp will have just one account but the provider allows that one account to log in twice for the purposes of mlppp. this may not be true for everyone though.

                                  if this is to be implemented in the code base, it may be simpler to ask the user to edit the config file manually. the mss, mru, mrru, mtu settings i use in my conf file may not be optimal for everyone.

                                  1 Reply Last reply Reply Quote 0
                                  • C
                                    clarknova
                                    last edited by

                                    @gnhb:

                                    I need to know, do the two DSL lines have different usernames and passwords, or are they the same?

                                    I don't know the answer for sure, but rsingh indicated at the top of this thread that he is on the same ISP as me, so I'm going to go with him and say they are the same.

                                    db

                                    1 Reply Last reply Reply Quote 0
                                    • E
                                      Epoch
                                      last edited by

                                      My ISP is looking at implementing mlppp on their network in the near future as well and I would also be grateful for any work done to make this a simple thing to enable from the web interface.
                                      Thanks for all the work that has gone into this so far.

                                      1 Reply Last reply Reply Quote 0
                                      • C
                                        clarknova
                                        last edited by

                                        Anything new to report here? Some clarification would be good too: are you still working on mlppp functionality at this point, or is that a wrap and you're just packaging it now?

                                        db

                                        1 Reply Last reply Reply Quote 0
                                        • G
                                          gnhb
                                          last edited by

                                          It's ready.

                                          I'm now just making the existing PPPoE and PPtP code store the config data the same way the new code does it, and writing functions to upgrade existing config to the new data structures.

                                          GB

                                          1 Reply Last reply Reply Quote 0
                                          • C
                                            clarknova
                                            last edited by

                                            I've got a 2-link mlppp connection at home right now, running on mlppp-enabled Tomato firmware. I'll be happy to test pfsense on the connection when you get to that point with it.

                                            db

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.