Page MenuHomePhabricator

PPPoE MTU graeter than 1492
Open, WishlistPublicFEATURE REQUEST

Description

Hi, i would like to ask for the possibility to have a PPPoE MTU greater than 1492.
My ISP (and i realize it is an exception) has the capability to offer me an MTU of 1500 if i set the interface MTU to 1508.

Details

Difficulty level
Unknown (require assessment)
Version
-
Why the issue appeared?
Will be filled on close

Related Objects

simon created this task.Jan 31 2018, 6:08 AM
c-po added a subscriber: c-po.Feb 12 2018, 8:08 AM

What's the reported error when you increaste the MTU?

simon added a comment.Feb 12 2018, 5:14 PM

OK this is my starting config for the interface:

ethernet eth1 {
    duplex auto
    hw-id 08:00:27:30:fe:1a
    mtu 1508
    pppoe 0 {
        default-route auto
        name-server auto
        password password
        user-id username
    }
    smp_affinity auto
    speed auto
}

And now i try to increase the pppoe interface mtu:

admin@vyos# set interfaces ethernet eth1 pppoe 0 mtu 
Possible completions:
   <68-1492>    Maximum Transmission Unit (MTU) in bytes

If i try to set more than 1492:

admin@vyos# set interfaces ethernet eth1 pppoe 0 mtu 1500

  MTU must be between 68 and 1492
  Value validation failed
  Set failed

Regards

sirket added a subscriber: sirket.Feb 12 2018, 5:47 PM

There really isn't a good reason to do this. The performance difference is minuscule even if you were sending maximum size packets all the time which you won't be. Plus- if it doesn't work- it will likely manifest as an intermittent problem that will be very difficult to track down.

Besides- are you certain all your equipment actually supports 1508 byte packets? Your system would need to support them (and not every Ethernet chip and driver does), along with any switch, "modem", or other device between your system and their PPPoE .

simon added a comment.Feb 12 2018, 6:01 PM

Actually every chipset of every device i had in my hand supports packets a little bit bigger than 1500. Usually somewhere between 1600 and 2xxx bytes. So no problem there.

Plus- if it doesn't work- it will likely manifest as an intermittent problem that will be very difficult to track down

Sorry but that does not seem a good reason to deny a feature like this. I see no problem if the default setting remains 1492 for less informed people but still have the option available. And with the growing support for jumbo frames this would really be looking to the future.

And yes, I am certain that the equiment supports 1508 bytes since i work for the provider an helped to set it up.

Best regards

Sorry but that does not seem a good reason to deny a feature like this.

This is a feature that almost no ISP supports, which can introduce incredibly annoying and hard to track down problems, and at the absolute most would result in a half of a percent performance improvement (and which in reality will almost certainly result in a small fraction of that). What is the upside of enabling a feature that almost no one can use, can cause hard to track down bugs, and has no performance benefit?

I see no problem if the default setting remains 1492 for less informed people but still have the option available.

Since you mentioned being informed I would suggest you read RFC2516 (which covers PPPoE) as it does not allow an MRU/MTU larger than 1492:

https://tools.ietf.org/html/rfc2516

"The Maximum-Receive-Unit (MRU) option MUST NOT be negotiated to a larger size than 1492. Since Ethernet has a maximum payload size of 1500 octets, the PPPoE header is 6 octets and the PPP Protocol ID is 2 octets, the PPP MTU MUST NOT be greater than 1492."

While Ethernet now supports more than 1500 octets, the RFC was never updated to increase that number. As such- the 1492 limit in VyOS is the correct behavior.

simon added a comment.Feb 12 2018, 7:22 PM

I have to apologize. I did not read this RFC until now. I thought that since many Routers/Firewalls support this it would be a good idea to have it in VyOS too.
It is very unfortunate that this RFC was never updated.

simon added a comment.Feb 12 2018, 7:40 PM

I actually just found this https://tools.ietf.org/html/rfc4638
RFC4638 "Accommodating a Maximum Transit Unit/Maximum Receive Unit (MTU/MRU) Greater Than 1492 in the Point-to-Point Protocol over Ethernet (PPPoE)"

Best Regards

I stand corrected. I was not aware 2516 had been updated let alone that the update was ratified.

syncer triaged this task as Wishlist priority.Feb 27 2018, 2:24 PM
syncer edited projects, added VyOS 1.3 Equuleus; removed VyOS 1.2 Crux.
SteveP added a subscriber: SteveP.Mon, Feb 11, 10:22 AM

Hi,

1.2-RC5 already supports this (and I assume newer but I can't test it with my motherboard for other reasons-T1066). I am with BT (UK) and it works great (see my config below). RC5 does however still contain T1065 which is related to this but has been fixed in a later release candidate (RC11 I think).

 ethernet eth3 {
     address 192.168.5.1/24
     duplex auto
     mtu 1508
     pppoe 0 {
         default-route auto
         mtu 1500
         name-server none
         password xxxxxxxxx
         user-id bthomehub@btbroadband.com
     }
     smp-affinity auto
[edit]
# set interfaces ethernet eth3 pppoe 0 mtu
Possible completions:
   <68-1500>    Maximum Transmission Unit (MTU) in bytes
   1500

sh int pppoe
pppoe0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500  qdisc pfifo_fast state UNKNOWN group default qlen 3
    link/ppp