aparcar / openwrt

Staging tree of Paul Spooren
Other
9 stars 1 forks source link

FS#94 - netifd: PPPoE MTU problem #243

Open aparcar opened 8 years ago

aparcar commented 8 years ago

ms:

When you set the MTU of a ppp interface with proto=pppoe and ifname=nas0 via the mtu option, the configured mtu will not be set on the ppp interface (what you want), but on the underlying interface named by ifname (what you normally don't want to change).

This leeds to log messages like this:


pppd[5641]: Interface nas0 has MTU of 1448 -- should be at least 1500.

and MTUs other than what you really want.

example:

desired PPPoE MTU: 1448 actual nas0 MTU: 1448 actual PPPoE MTU: 1440

This issue seems to be related to the commit 7ac29b75319fd69a8a7c0aeea7804d381ec07d3d of netifd.

Regards, Martin

aparcar commented 7 years ago

dwmw2:

After fixing #210 this is working for me (on TP-Link WD8970 with VDSL) as long as I ask nicely for the MTU to be set on the underlying Ethernet interface — in my case "interfaces" as there's a VLAN involved:

config interface 'vdsl' option proto 'pppoe' option username 'fo' option password 'bar' option ipv6 'auto' option ifname 'ptm0.101' option mtu '1500'

config switch_vlan 'ptm0_101' option device 'ptm0' option vlan '101' option vid '101'

config interface 'aa101' option ifname 'ptm0.101' option proto 'none' option mtu '1508' option delegate '0'

config interface 'ptm0' option ifname 'ptm0' option proto 'none' option mtu '1508' option delegate '0'

aparcar commented 7 years ago

mkresin:

I was able to reproduce the issue.

config interface 'wan' option ifname 'ptm0.7' option proto 'pppoe' option username 'username' option password 'password' option ipv6 'auto'

config device 'wan_dev' option name 'ptm0' option mtu '1508'

results in:

ptm0 Link encap:Ethernet HWaddr 11:22:33:44:55:66 UP BROADCAST MULTICAST MTU:1508 Metric:1

ptm0.7 Link encap:Ethernet HWaddr 11:22:33:44:55:67
UP BROADCAST MULTICAST MTU:1508 Metric:1


config interface 'wan' option ifname 'ptm0.7' option proto 'pppoe' option username 'username' option password 'password' option ipv6 'auto' option mtu '1500'

config device 'wan_dev' option name 'ptm0' option mtu '1508'

results in:

ptm0 Link encap:Ethernet HWaddr 11:22:33:44:55:67 UP BROADCAST MULTICAST MTU:1508 Metric:1

ptm0.7 Link encap:Ethernet HWaddr 11:22:33:44:55:67 UP BROADCAST MULTICAST MTU:1500 Metric:1


config interface 'wan' option ifname 'ptm0.7' option proto 'pppoe' option username 'username' option password 'password' option ipv6 'auto' option mtu '1500'

config device 'wan_dev' option name 'ptm0' option mtu '1508'

config device 'ptm0_7' option name 'ptm0.7' option mtu '1508

results in:

ptm0 Link encap:Ethernet HWaddr 11:22:33:44:55:67 UP BROADCAST MULTICAST MTU:1508 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

ptm0.7 Link encap:Ethernet HWaddr 11:22:33:44:55:67 UP BROADCAST MULTICAST MTU:1508 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

I'm not sure if it's a bug or a feature we are seeing here.

Martin, you can workaround the issue my setting a mtu for the nas0 interface.

aparcar commented 7 years ago

Hamy:

OpenWrt had this problem for as long as i remember. as a workaround, you can use pppd_options like this:

config interface 'wan' option ifname 'ptm0.7' option proto 'pppoe' ... option pppd_options 'mtu 1448'

do NOT change the mtu of the underlying interface and let it be the default of 1500