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

    Baby jumbo frames for pppoe connections (MTU 1508)

    Scheduled Pinned Locked Moved 2.2 Snapshot Feedback and Problems - RETIRED
    11 Posts 4 Posters 8.4k 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.
    • M
      mattbunce
      last edited by

      This was last discussed in the 2.1 Snapshoot feedback thread (https://forum.pfsense.org/index.php?topic=61876.0), but since it would be so useful for any UK (and proabbly other) users, I thought I would mention this again.

      In the UK, people on Fibre To The Cabinet (FTTC) connections have to use PPPoE to connect to the internet via a VDSL2 modem. By default PPPoE connections have a maximum usable MTU of 1492 (1500 - 8 bytes for the PPPoE overhead). However the FTTC connections (and some ADSL connections) support "Baby Jumbo Frames" which should allow us to use an MTU of 1508 on our router interface, leaving us with a 1500 MTU usable once the PPPoE overhead is accounted for.

      This concept is described in RFC4638 and is already implemented in OpenWRT, but I'm trying to move towards pfSense.

      Now that pfSense 2.2 is based on FreeBSD 10, Will it possible to implement RFC4638

      1 Reply Last reply Reply Quote 0
      • B
        bradsm87
        last edited by

        I'm also patiently waiting for >1492 MTU RFC4638 compliant support as my ISP in Australia supports it.

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

          Try this and let me know if it works.

          • Put mtu on the WAN configuration screen to 1500

          • go to console and do ifconfig $realiface mtu 1508

          • on console then run ps -ax | grep mpd5
            copy the command shown there and rerun it again see if that works.

          1 Reply Last reply Reply Quote 0
          • B
            bradsm87
            last edited by

            @ermal:

            Try this and let me know if it works.

            • Put mtu on the WAN configuration screen to 1500

            • go to console and do ifconfig $realiface mtu 1508

            • on console then run ps -ax | grep mpd5
              copy the command shown there and rerun it again see if that works.

            I'm still waiting on my Intel i350-T4 NIC. My current Broadcom doesn't play nice with any MTU above 1500. Will do as soon as it arrives.

            1 Reply Last reply Reply Quote 0
            • B
              bradsm87
              last edited by

              I set the Ethernet MTU to 1508 and the PPPoE MTU to 1500 with the Intel NIC and the internet worked but I couldn't sent a 1472 byte ping past the gateway so I suspect that the PPPoE session was running 1492 MTU.

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

                You need to set your MRU to 1500 on mpd.conf manually for that to trigger.
                You can do this on the interfaces->assign->ppp tab by editing your pppoe session.

                1 Reply Last reply Reply Quote 0
                • M
                  mattbunce
                  last edited by

                  I have tried all that has been mentioned here…

                  • Interface > WAN > MTU = 1500

                  • Interface > (assign) > PPPs > pppoe0 > Advanced > MRU = 1500

                  • console: ifconfig hn0 mtu 1508

                  • console: ps -ax | grep mpd5

                  The second console command returns:
                  /usr/local/sbin/mpd5 -b -k -d /var/etc -f mpd_wan.conf -p /var/run/pppoe_wan.pid -s ppp pppoeclient

                  So I then run this command from the console. The internet connection drops and if then re-established.

                  Running ifconfig shows the mtu has remained 1508 on hn0 but is 1492 on pppoe0 - so I guess that means this isn't working correctly.

                  Any other tips?

                  NOTE: My pppoe connection is on hn0 - A virtual interface within Hyper-V

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

                    You have to set both mru and mtu on this file mpd_wan.conf

                    1 Reply Last reply Reply Quote 0
                    • M
                      mattbunce
                      last edited by

                      I have just upgraded to the very latest release and new ifconfig is showing an MTU of 1500, but this MTU is not achievable.

                      I couldn't get the MTU 1508 on hn0 to stick through a reboot, so I added hn0 as a new interface (OPT6) through the "Assign Interfaces" page and set the MTU as 1508 on this newly created interface.

                      After setting…

                      • WAN interface MTU=1500

                      • pppoe0 MTU=1500

                      • pppoe0 MRU=1500

                      my mpd_wan.conf looks like this:

                      startup:
                              # configure the console
                              set console close
                              # configure the web server
                              set web close

                      default:
                      pppoeclient:
                              create bundle static wan
                              set bundle enable ipv6cp
                              set iface name pppoe0
                              set iface route default
                              set iface disable on-demand
                              set iface idle 0
                              set iface enable tcpmssfix
                              set iface up-script /usr/local/sbin/ppp-linkup
                              set iface down-script /usr/local/sbin/ppp-linkdown
                              set ipcp ranges 0.0.0.0/0 0.0.0.0/0
                              #log -bund -ccp -chat -iface -ipcp -lcp -link

                      create link static wan_link0 pppoe
                              set link action bundle wan
                              set link disable multilink
                              set link keep-alive 10 60
                              set link max-redial 0
                              set link disable chap pap
                              set link accept chap pap eap
                              set link disable incoming
                              set link mtu 1500
                              set link mru 1500
                              set auth authname "bthomehub@btbroadband.com"
                              set auth password pass
                              set pppoe service ""
                              set pppoe iface hn0
                              open

                      I noticed that as the pppoe connection gets established ifconfig briefly shows an MTU of 1492, but then displays 1500 after a few seconds.

                      Unfortunately…
                      ping -D -s 1472 bbc.co.uk tries to send the packet, but it does not succeed (no "message too long" or "frag needed and DF set"
                      ping -D -s 1464 bbc.co.uk succeeds

                      Which suggests an MTU of only 1492 is still possible.

                      If I run route get 8.8.8.8

                      route to: google-public-dns-a.google.com
                      destination: default
                            mask: default
                          gateway: [ISP GW]
                              fib: 0
                        interface: pppoe0
                            flags: <up,gateway,done,static>recvpipe  sendpipe  ssthresh  rtt,msec    mtu        weight    expire
                            0        0        0        0      1492        1        0</up,gateway,done,static>

                      Which shows that despite the higher MTU being showing in ifconfig this is not being used when it comes to 'route'.

                      I think this may be an issue with pfSense in Hyper-V because I cannot set MTU 1508 on the LAN interface and use it (route continues to show 1500) - however when I do exactly the same when running from the Live CD the route mtu does get changed - For this reason, I've raised a new post to get to the bottom of handling jumbo frames within Hyper-V before I do any more testing with PPPOE. You can see this thread here: https://forum.pfsense.org/index.php?topic=84730.0

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

                        I checked this.
                        Seems mpd5 did not yet get support for claiming this MRU during PADI sending on establishment.
                        I will give a quick look on supporting this and come back.

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

                          Hello!

                          I just ran into quite the same troubles. I cannot set an mtu bigger than 1492 an my pppoe-wan.
                          Are there any news on the efforts in this matter?

                          Thank you
                          Epek

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