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

How does MTU actually function GUI->real???

Scheduled Pinned Locked Moved General pfSense Questions
19 Posts 4 Posters 1.6k 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
    MrPete @stephenw10
    last edited by Mar 29, 2022, 9:20 PM

    @stephenw10 So if I DO need to set MTU and MSS... sounds like you don't know how this works?

    1 Reply Last reply Reply Quote 0
    • S
      stephenw10 Netgate Administrator
      last edited by Mar 29, 2022, 9:45 PM

      You can see how it works by looking at the interface and filtering. So for example if you enter:
      Screenshot from 2022-03-29 22-41-22.png

      Resulting in a config of:

      		<lan>
      			<enable></enable>
      			<if>vtnet1</if>
      			<descr><![CDATA[LAN]]></descr>
      			<ipaddr>192.168.20.1</ipaddr>
      			<subnet>24</subnet>
      			<ipaddrv6>track6</ipaddrv6>
      			<track6-interface>wan</track6-interface>
      			<track6-prefix-id>0</track6-prefix-id>
      			<spoofmac></spoofmac>
      			<mtu>1492</mtu>
      			<mss>1300</mss>
      		</lan>
      

      You get an MTU set on the interface:

      vtnet1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1492
      	description: LAN
      	options=800b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,LINKSTATE>
      	ether 96:8f:b7:21:75:aa
      	inet6 fe80::948f:b7ff:fe21:75aa%vtnet1 prefixlen 64 scopeid 0x2
      	inet6 fe80::1:1%vtnet1 prefixlen 64 scopeid 0x2
      	inet 192.168.20.1 netmask 0xffffff00 broadcast 192.168.20.255
      	media: Ethernet 10Gbase-T <full-duplex>
      	status: active
      	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
      

      And pf rules:

      scrub on $LAN inet all   max-mss 1260 fragment reassemble
      scrub on $LAN inet6 all   max-mss 1240 fragment reassemble
      

      Steve

      M 1 Reply Last reply Mar 29, 2022, 10:11 PM Reply Quote 1
      • M
        MrPete @stephenw10
        last edited by MrPete Mar 29, 2022, 10:12 PM Mar 29, 2022, 10:11 PM

        @stephenw10 Very cool. I am learning even from your example :)

        And, your example confirms my surmise: since MSS should be 40/60 bytes smaller than MTU (for ipv4/ipv6)...

        • One would set the two fields to be the same value if MSS is needed
        • And there's no need for anything but an MSS checkbox.

        If there are exceptions to this, I'd suggest modifying the documentation/comment to say it clearly:
        "If MSS clamping is needed, normally enter the same value as MTU. MSS clamping for TCP connections is set to the value entered above minus 40 for IPv4 (TCP/IPv4 header size) and minus 60 for IPv6 (TCP/IPv6 header size.)"

        1 Reply Last reply Reply Quote 0
        • S
          stephenw10 Netgate Administrator
          last edited by Mar 29, 2022, 10:58 PM

          Yeah, you are not the first to question the logic there! 😉
          But it's been like that forever and changing it now would be a POLA violation.
          You set the mss value to limit the packet size and pfSense sets max-mss appropriately.

          Bare in mind MSS only acts on TCP so if you really need to set a limit below 1492 you should set MTU so that pmtud will see it and restrict other protocols.

          Steve

          J 1 Reply Last reply Mar 29, 2022, 11:11 PM Reply Quote 0
          • J
            johnpoz LAYER 8 Global Moderator @stephenw10
            last edited by johnpoz Mar 29, 2022, 11:16 PM Mar 29, 2022, 11:11 PM

            @stephenw10 said in How does MTU actually function GUI->real???:

            POLA violation.

            Dude ;) You dating yourself with pulling out that term.. heheheh Or maybe dating myself knowing what that means - hehehe

            To be honest MSS clamping is antiquated from the days of frame relay and dial up, when the internet was just starting out, etc. You shouldn't really have to ever mess with that these days..

            I can say with all honesty in 30 some years in the biz, have never had to mess with setting that to get shit to work.. Maybe back when on dial up with trumpet or something ;) in the early days of tcp..

            An intelligent man is sometimes forced to be drunk to spend time with his fools
            If you get confused: Listen to the Music Play
            Please don't Chat/PM me for help, unless mod related
            SG-4860 24.11 | Lab VMs 2.8, 24.11

            M 1 Reply Last reply Mar 30, 2022, 9:25 AM Reply Quote 0
            • S
              stephenw10 Netgate Administrator
              last edited by stephenw10 Mar 29, 2022, 11:50 PM Mar 29, 2022, 11:50 PM

              Mmm, I mostly see it used/required where there is some tunneling involved, usually ipsec.

              And that weird VMWare thread... 😉

              J 1 Reply Last reply Mar 30, 2022, 1:01 AM Reply Quote 0
              • J
                johnpoz LAYER 8 Global Moderator @stephenw10
                last edited by johnpoz Mar 30, 2022, 1:02 AM Mar 30, 2022, 1:01 AM

                @stephenw10 said in How does MTU actually function GUI->real???:

                see it used/required where there is some tunneling involved

                But then the mtu is changed, like with PPPoE - if you ask me if your having to lower it more than the mtu you set on the tunnel via mss - something is borked. Or trying to run a tunnel inside a tunnel sort of thing..

                An intelligent man is sometimes forced to be drunk to spend time with his fools
                If you get confused: Listen to the Music Play
                Please don't Chat/PM me for help, unless mod related
                SG-4860 24.11 | Lab VMs 2.8, 24.11

                1 Reply Last reply Reply Quote 0
                • M
                  mer @johnpoz
                  last edited by Mar 30, 2022, 9:25 AM

                  @johnpoz said in How does MTU actually function GUI->real???:

                  POLA violation.

                  Dude ;) You dating yourself with pulling out that term.. heheheh Or maybe dating myself knowing what that means - hehehe

                  Maybe dating a lot of us. It's fun using it and then explaining it to people that have never seen a 6502 cpu.

                  Now how about bikesheds?

                  S 1 Reply Last reply Mar 30, 2022, 11:41 AM Reply Quote 1
                  • S
                    stephenw10 Netgate Administrator @mer
                    last edited by Mar 30, 2022, 11:41 AM

                    @mer said in How does MTU actually function GUI->real???:

                    Now how about bikesheds?

                    😁

                    M 1 Reply Last reply Mar 30, 2022, 1:40 PM Reply Quote 1
                    • M
                      MrPete @stephenw10
                      last edited by Mar 30, 2022, 1:40 PM

                      @stephenw10 I knew I'd found friends here LOL

                      Y'all are youngsters though.

                      How many have loved JFFO? 🚀

                      (POLA is in the eyes of the beholder, BTW... at least we can document the "normal" use of the form field to make life easy.)

                      And yes, @johnpoz, this is all about tunnels... Not positive I need it yet, but I'm running HE tunnel over PPPoE...

                      J 1 Reply Last reply Mar 30, 2022, 1:54 PM Reply Quote 0
                      • S
                        stephenw10 Netgate Administrator
                        last edited by stephenw10 Mar 30, 2022, 2:41 PM Mar 30, 2022, 1:45 PM

                        Yeah you would need to set that lower, see:
                        https://docs.netgate.com/pfsense/en/latest/recipes/ipv6-tunnel-broker.html

                        If the WAN used for terminating the GIF tunnel is PPPoE or another WAN type with a low MTU, move the slider down as needed. For example, a common MTU for PPPoE lines with a tunnel broker is 1452.

                        Steve

                        M 1 Reply Last reply Mar 30, 2022, 3:01 PM Reply Quote 0
                        • J
                          johnpoz LAYER 8 Global Moderator @MrPete
                          last edited by Mar 30, 2022, 1:54 PM

                          @mrpete said in How does MTU actually function GUI->real???:

                          Not positive I need it yet, but I'm running HE tunnel over PPPoE...

                          Yeah mss clamping is not your issue with that.. I saw your other HE thread..

                          An intelligent man is sometimes forced to be drunk to spend time with his fools
                          If you get confused: Listen to the Music Play
                          Please don't Chat/PM me for help, unless mod related
                          SG-4860 24.11 | Lab VMs 2.8, 24.11

                          1 Reply Last reply Reply Quote 0
                          • M
                            MrPete @stephenw10
                            last edited by MrPete Mar 30, 2022, 3:31 PM Mar 30, 2022, 3:01 PM

                            @stephenw10 said in How does MTU actually function GUI->real???:

                            Yeah you would need to set that lower...

                            ...a common MTU for PPPoE lines with a tunnel broker is 1452.

                            OK, this is quite wierd.... I'm testing to discover the actual limit. From inside pfSense...

                            ping6 -nms 1232 google.com
                            PING6(1280=40+8+1232 bytes) 2001:470:39:3c7::2 --> 2607:f8b0:400f:803::200e
                            76 bytes from 2607:f8b0:400f:803::200e, icmp_seq=0 hlim=119 time=6.014 ms
                            

                            Anything larger fails.

                            I can reach both ends of the HE tunnel with 1452.

                            UPDATE: looks like a pfSense bug. Why oh why would it set the gif interface MTU to 1280 as a default?!!!
                            93e58ac7-dfa7-41c9-9279-e621d3d55916-image.png

                            M J 2 Replies Last reply Mar 30, 2022, 3:36 PM Reply Quote 0
                            • M
                              MrPete @MrPete
                              last edited by MrPete Mar 30, 2022, 3:37 PM Mar 30, 2022, 3:36 PM

                              @stephenw10
                              OK, and with my gif-based WANv6 interface manually set to MTU = 1492... I still have a minor question:

                              • I can ping6 to either end of the HE tunnel with -nms 1452
                              • But to go beyond requires -nms 1444

                              Is there some kind of extra packet overhead involved?

                              I'd really rather not chalk it up to "ipv6 is just strange that way" ;)

                              1 Reply Last reply Reply Quote 0
                              • S
                                stephenw10 Netgate Administrator
                                last edited by Mar 30, 2022, 3:51 PM

                                Hmm, yet you can ping the remote side of it with 1452?

                                1 Reply Last reply Reply Quote 0
                                • J
                                  johnpoz LAYER 8 Global Moderator @MrPete
                                  last edited by Mar 30, 2022, 5:50 PM

                                  @mrpete said in How does MTU actually function GUI->real???:

                                  Why oh why would it set the gif interface MTU to 1280 as a default?!!!

                                  You can change it on the HE site..

                                  he.jpg

                                  1280 is a common MTU for IPv6, since it like a requirement that IPv6 support this min size.

                                  And you can change it on your interface..

                                  interface.jpg

                                  An intelligent man is sometimes forced to be drunk to spend time with his fools
                                  If you get confused: Listen to the Music Play
                                  Please don't Chat/PM me for help, unless mod related
                                  SG-4860 24.11 | Lab VMs 2.8, 24.11

                                  M 1 Reply Last reply Mar 30, 2022, 7:14 PM Reply Quote 0
                                  • M
                                    MrPete @johnpoz
                                    last edited by MrPete Mar 30, 2022, 7:24 PM Mar 30, 2022, 7:14 PM

                                    @johnpoz 'twas not an issue on the HE site. Just had to set 1492 there since I am using PPPoE.

                                    and yes, I can and now have forced it on my end.

                                    Just more than a little surprised to see a default of 1280?!!!

                                    And YES @stephenw10 , I could ping the far end of the tunnel way beyond the MTU. Crazy.

                                    And now, I can ping the far end of the tunnel with 8 bytes more than the outside world.

                                    Here: Near, Far, GoogleBad, GoogleGood ;)

                                    [2.6.0-RELEASE][root@jasmine.ds.org]/root: ping6 -nms 1452 2001:470:39:3c7::2
                                    PING6(1500=40+8+1452 bytes) 2001:470:39:3c7::2 --> 2001:470:39:3c7::2
                                    1460 bytes from 2001:470:39:3c7::2, icmp_seq=0 hlim=64 time=0.180 ms
                                    ^C
                                    --- 2001:470:39:3c7::2 ping6 statistics ---
                                    3 packets transmitted, 3 packets received, 0.0% packet loss
                                    round-trip min/avg/max/std-dev = 0.148/0.163/0.180/0.013 ms
                                    [2.6.0-RELEASE][root@jasmine.ds.org]/root: ping6 -nms 1452 2001:470:39:3c7::1
                                    PING6(1500=40+8+1452 bytes) 2001:470:39:3c7::2 --> 2001:470:39:3c7::1
                                    1460 bytes from 2001:470:39:3c7::1, icmp_seq=0 hlim=64 time=5.750 ms
                                    ^C
                                    
                                    [2.6.0-RELEASE][root@jasmine.ds.org]/root: ping6 -nms 1452 google.com
                                    PING6(1500=40+8+1452 bytes) 2001:470:39:3c7::2 --> 2607:f8b0:400f:802::200e
                                    ^C
                                    --- google.com ping6 statistics ---
                                    5 packets transmitted, 0 packets received, 100.0% packet loss
                                    [2.6.0-RELEASE][root@jasmine.ds.org]/root: ping6 -nms 1444 google.com
                                    PING6(1492=40+8+1444 bytes) 2001:470:39:3c7::2 --> 2607:f8b0:400f:802::200e
                                    76 bytes from 2607:f8b0:400f:802::200e, icmp_seq=0 hlim=119 time=6.146 ms
                                    
                                    1 Reply Last reply Reply Quote 0
                                    19 out of 19
                                    • First post
                                      19/19
                                      Last post
                                    Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                                      This community forum collects and processes your personal information.
                                      consent.not_received