How to enable RFC 4638?

My ISP supports this how can I enable it please? I tried setting 1508 MTU on eth0 but all lan posts disabled until the changes auto reverted and I rebooted router. Connection is PPPoE on VLAN 911 IPv4 and IPv6.

C:\Windows\System32>ping -f -l 1472 8.8.8.8

Pinging 8.8.8.8 with 1472 bytes of data:
Reply from 192.168.1.1: Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.

Ping statistics for 8.8.8.8:
    Packets: Sent = 4, Received = 1, Lost = 3 (75% loss),

NETWORK


config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'REDACTED'
	option packet_steering '1'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'lan1'
	list ports 'lan2'
	list ports 'lan3'
	list ports 'lan4'
	list ports 'lan5'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option ip6assign '60'

config interface 'wan'
	option device 'eth1.911'
	option proto 'pppoe'
	option username 'REDACTED'
	option password 'REDACTED'
	option ipv6 'auto'
	option peerdns '0'
	list dns '1.1.1.1'
	list dns '1.0.0.1'
	list dns '2606:4700:4700::1111'
	list dns '2606:4700:4700::1001'

config interface 'wan6'
	option device 'eth1.911'
	option proto 'dhcpv6'
	option reqaddress 'try'
	option reqprefix 'auto'
	option norelease '1'
	option peerdns '0'
	list dns '2606:4700:4700::1111'
	list dns '2606:4700:4700::1001'

config device
	option type '8021q'
	option ifname 'eth1'
	option vid '911'
	option name 'eth1.911'


An MTU question ?

Please enable ppp debug by adding

option pppd_options debug

And check in the logs what mtu/mru is offered by the provider. Also it is not guaranteed to be 1492 to anywhere in the world.

ref: https://openwrt.org/docs/guide-user/network/wan/wan_interface_protocols#protocol_pppoe_ppp_over_ethernet

Please connect to your OpenWrt device using ssh and copy the output of the following commands and post it here using the "Preformatted text </> " button:
grafik
Remember to redact passwords, MAC addresses and any public IP addresses you may have:

ubus call system board
cat /etc/config/network
cat /etc/config/dhcp
cat /etc/config/firewall

As I understand it with PPPoE due to protocol over head max MTU is 1492 but if your ISP supports baby jumbo fames, which they stay they do, and the router supports RFC 4638 which OpenWRT apparently does then you can increas max MTU to 1500. So I need to change MTU on the WAN interface to 1508 and it should give a max MTU of 1500. I'm not sure where/what to edit to change the MTU to 1508.

Did I enable ppp debug correctly I see nothing in the system log, rebooted router too still nothing. Is there another log somewhere?

config interface 'wan'
	option device 'eth1.911'
	option proto 'pppoe'
	option username 'REDACTED'
	option password 'REDACTED'
	option ipv6 'auto'
	option peerdns '0'
	list dns '1.1.1.1'
	list dns '1.0.0.1'
	list dns '2606:4700:4700::1111'
	list dns '2606:4700:4700::1001'
	option pppd_options 'debug'

ssh output:

ubus call system board

{
        "kernel": "6.6.86",
        "hostname": "OpenWrt",
        "system": "ARMv8 Processor rev 4",
        "model": "GL.iNet GL-MT6000",
        "board_name": "glinet,gl-mt6000",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "24.10.1",
                "revision": "r28597-0425664679",
                "target": "mediatek/filogic",
                "description": "OpenWrt 24.10.1 r28597-0425664679",
                "builddate": "1744562312"
        }
}

/etc/config/network

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'REDACTED'
        option packet_steering '1'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'lan1'
        list ports 'lan2'
        list ports 'lan3'
        list ports 'lan4'
        list ports 'lan5'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

config interface 'wan'
        option device 'eth1.911'
        option proto 'pppoe'
        option username 'REDACTED'
        option password 'REDACTED'
        option ipv6 'auto'
        option peerdns '0'
        list dns '1.1.1.1'
        list dns '1.0.0.1'
        list dns '2606:4700:4700::1111'
        list dns '2606:4700:4700::1001'
        option pppd_options 'debug'

config interface 'wan6'
        option device 'eth1.911'
        option proto 'dhcpv6'
        option reqaddress 'try'
        option reqprefix 'auto'
        option norelease '1'
        option peerdns '0'
        list dns '2606:4700:4700::1111'
        list dns '2606:4700:4700::1001'

config device
        option type '8021q'
        option ifname 'eth1'
        option vid '911'
        option name 'eth1.911'


/etc/config/dhcp

config dnsmasq
        option domainneeded '1'
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/lan/'
        option domain 'lan'
        option expandhosts '1'
        option cachesize '1000'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option localservice '1'
        option ednspacket_max '1232'
        list server '127.0.0.1#5453'
        list server '0::1#5453'
        option noresolv '1'

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv4 'server'
        option dhcpv6 'server'
        option ra 'server'
        option ra_slaac '1'
        list ra_flags 'managed-config'
        list ra_flags 'other-config'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'

config odhcpd 'odhcpd'
        option maindhcp '0'
        option leasefile '/tmp/hosts/odhcpd'
        option leasetrigger '/usr/sbin/odhcpd-update'
        option loglevel '4'

/etc/config/firewall

config defaults
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option synflood_protect '1'
        option flow_offloading '1'
        option flow_offloading_hw '1'

config zone
        option name 'lan'
        list network 'lan'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'

config zone
        option name 'wan'
        list network 'wan'
        list network 'wan6'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option masq '1'
        option mtu_fix '1'

config forwarding
        option src 'lan'
        option dest 'wan'

config rule
        option name 'Allow-DHCP-Renew'
        option src 'wan'
        option proto 'udp'
        option dest_port '68'
        option target 'ACCEPT'
        option family 'ipv4'

config rule
        option name 'Allow-Ping'
        option src 'wan'
        option proto 'icmp'
        option family 'ipv4'
        option target 'ACCEPT'
        list icmp_type 'echo-request'
        list src_ip '80.249.99.164'
        list src_ip '5.226.137.149'
        list src_ip '90.155.6.180'

config rule
        option name 'Allow-IGMP'
        option src 'wan'
        option proto 'igmp'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-DHCPv6'
        option src 'wan'
        option proto 'udp'
        option dest_port '546'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-MLD'
        option src 'wan'
        option proto 'icmp'
        option src_ip 'fe80::/10'
        list icmp_type '130/0'
        list icmp_type '131/0'
        list icmp_type '132/0'
        list icmp_type '143/0'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Input'
        option src 'wan'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        list icmp_type 'router-solicitation'
        list icmp_type 'neighbour-solicitation'
        list icmp_type 'router-advertisement'
        list icmp_type 'neighbour-advertisement'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Forward'
        option src 'wan'
        option dest '*'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-IPSec-ESP'
        option src 'wan'
        option dest 'lan'
        option proto 'esp'
        option target 'ACCEPT'

config rule
        option name 'Allow-ISAKMP'
        option src 'wan'
        option dest 'lan'
        option dest_port '500'
        option proto 'udp'
        option target 'ACCEPT'

config redirect
        option dest 'lan'
        option target 'DNAT'
        option name 'P2P'
        option src 'wan'
        option src_dport '50436'
        option dest_ip '192.168.1.6'


I dont see evidence from ppp log that says offer 1500 mtu mru.
sure you can set ppp mtu 1500
eth.vlan 1508
eth 1512

if you lise net connectivity just edit /etc/config/network and remove all mtu lines

1 Like

What ppp log? I didn't post one. Don't seem to be able to enable it.

So I need to add

option mtu '1508'

under two sections? But only one exists.. I don't have this section

config device
        option name 'wan'

Do I add the whole section? So new network file will look like this?

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'REDACTED'
        option packet_steering '1'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'lan1'
        list ports 'lan2'
        list ports 'lan3'
        list ports 'lan4'
        list ports 'lan5'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

config interface 'wan'
        option device 'eth1.911'
        option proto 'pppoe'
        option username 'REDACTED'
        option password 'REDACTED'
        option ipv6 'auto'
        option peerdns '0'
        list dns '1.1.1.1'
        list dns '1.0.0.1'
        list dns '2606:4700:4700::1111'
        list dns '2606:4700:4700::1001'
        option pppd_options 'debug'
        option mtu '1508'

config interface 'wan6'
        option device 'eth1.911'
        option proto 'dhcpv6'
        option reqaddress 'try'
        option reqprefix 'auto'
        option norelease '1'
        option peerdns '0'
        list dns '2606:4700:4700::1111'
        list dns '2606:4700:4700::1001'

config device
        option type '8021q'
        option ifname 'eth1'
        option vid '911'
        option name 'eth1.911'

config device
        option name 'wan'
        option mtu '1508'

That didn't work. It seem like this should be simple to acheive but I can't figure it out.

wan = 1500
eth0.911 = 1508
eth0 = 1512

it is at luci/network/devices, start with outermost (bigger mtu) interface, apply after every change.

Not quite... the PPPoE header lives inside the ethernet payload. The result of that is that the typical MTU of the PPPOE tunnel is 1500, but traffic going through that tunnel will not see the PPPoE header but will still be limited by the available payload capacity through the tunnel.
The effect is that for traffic going through that tunnel it appears as if the maximum MTU that goes through without requiring fragmentaion is 1500-8=1492 bytes. BUT the actual MTU on the ethernet interface carrying the PPPOE traffic needs to be set to 1500 only the MTU of the PPPoE interface (on OpenWrt typically pppoe-wan) needs to be set to 1492 (as far as I know this will be performed automatically).
To allow baby-jumbo frames you need to do two things (which might or might not be supported by your router):
a) increase the MTU of the ethernet interface cayying the PPPoE traffic by 8 bytes (with DSA you occasionally see an interface MTU of 1504, in that case IIRC adjust to 1512, otherwise 1508)
b) increase the MTU on the PPPoE interface to 1500 bytes. Note your ISP also has to play ball for this to work, some do, some do not.

Thanks but no dice. I changed eth0 from 1504 to 1512 at luci/network/devices save and apply then this is what happens

all ethernet ports are disabled
applying configuration changes counts down to 0
Failed to confirm settings message
Have to power cycle router to get ports working again

Thanks it's making more sense.if I do a) though all posts just die, could it be the router, GL.iNet GL-MT6000, doesn't suppport it?

EDIT scratch that I think brada4 says here SoC is suppoted https://github.com/openwrt/openwrt/issues/17069

Don't know why eth0 doesn't like changing from 1504 to 1512. The connection is in use now so can't do any more testing untill late tonight.

eth0 is greyed out does that mean anything?

My ISP does not support IPv6, so I am not sure about that part, but as far as IPv4 goes, here is the config that should work for you (I see that eth1 is your WAN interface).

config device
	option name 'eth1'
	option mtu '1508'

config interface 'wan'
	option device 'eth1.911'
	option proto 'pppoe'
	option username 'XXXXXXXX'
	option password 'XXXXXXXX'
	option ipv6 '0'
	option peerdns '0'
	option mtu '1508'
	list dns 'X.X.X.X'
	list dns 'X.X.X.X'

You need to use eth1 instead. Once you add a new device section as per above, it will no longer be greyed out. You can add a device by editing /etc/config/network or by hitting that Configure ... button and setting up mtu on the interface (I think). I rarely use UI, so not sure.

Here is what I see (my wan is eth0):

eth0      Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX
          inet6 addr: XXXXXXXXXX/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1508  Metric:1
          RX packets:5928800 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3008612 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:7014227050 (6.5 GiB)  TX bytes:2715065791 (2.5 GiB)
          Interrupt:17 Memory:f7100000-f7120000 

pppoe-wan Link encap:Point-to-Point Protocol  
          inet addr:X.X.X.X  P-t-P:Y.Y.Y.Y  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:5917816 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3004425 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:6825350595 (6.3 GiB)  TX bytes:2624297523 (2.4 GiB)

I do not have this section and am also using VLAN tagging. Can you try removing it? It is not needed and might be getting in the way.

UPDATE: I noticed that just reloading config is not enough for these changes to take effect: I had to reboot the router every time I made changes when trying to figure this out.

Thanks that's done it. Was confused thought WAN was eth0.

ping -f -l 1472 8.8.8.8

Pinging 8.8.8.8 with 1472 bytes of data:
Reply from 8.8.8.8: bytes=1472 time=5ms TTL=118
Reply from 8.8.8.8: bytes=1472 time=5ms TTL=118
Reply from 8.8.8.8: bytes=1472 time=5ms TTL=118
Reply from 8.8.8.8: bytes=1472 time=5ms TTL=118

Ping statistics for 8.8.8.8:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 5ms, Maximum = 5ms, Average = 5ms

Here's the full working config.


config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'REDACTED'
	option packet_steering '1'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'lan1'
	list ports 'lan2'
	list ports 'lan3'
	list ports 'lan4'
	list ports 'lan5'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option ip6assign '60'

config device
	option name 'eth1'
	option mtu '1508'

config interface 'wan'
	option device 'eth1.911'
	option proto 'pppoe'
	option username 'REDACTED'
	option password 'REDACTED'
	option ipv6 'auto'
	option peerdns '0'
	option mtu '1508'
	list dns '1.1.1.1'
	list dns '1.0.0.1'
	list dns '2606:4700:4700::1111'
	list dns '2606:4700:4700::1001'

config interface 'wan6'
	option device 'eth1.911'
	option proto 'dhcpv6'
	option reqaddress 'try'
	option reqprefix 'auto'
	option norelease '1'
	option peerdns '0'
	list dns '2606:4700:4700::1111'
	list dns '2606:4700:4700::1001'

config device
	option type '8021q'
	option ifname 'eth1'
	option vid '911'
	option name 'eth1.911'


Thanks to everyone who contributed.

That's what was added when I setup the VLAN in the UI. I don't see VLAN 911 referenced anywhere else so it would probably break the connection if I remove that wouldn't it? I can try though if your curious.

I ran /etc/init.d/network restart for changes to take effect. Effectively the same as reboot I suppose.

You just remove custom settings.

Your device supports DSA config, yes?
Where in the world are you and most of New folks teached about 8021q configs??
With DSA and even most of old swconfig you do not need those.

I'm curious and wondering because it comes up far to frequently and introduces so much of confusion and bonkers configs...