• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
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 Oct 16, 2014, 12:17 AM

    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 Nov 20, 2014, 9:50 AM

      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 Nov 20, 2014, 4:00 PM

        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 Nov 24, 2014, 6:56 AM

          @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 Nov 27, 2014, 11:26 AM

            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 Nov 27, 2014, 11:54 AM

              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 Nov 27, 2014, 9:35 PM

                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 Nov 27, 2014, 9:41 PM

                  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 Nov 29, 2014, 1:04 AM

                    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 Nov 29, 2014, 1:18 PM

                      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 Jan 4, 2015, 4:29 PM

                        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.
                          This community forum collects and processes your personal information.
                          consent.not_received