Support for PPPoE with MTU/MRU > 1492 (i.e. 1500)
pfSense v2.2.1 uses mpd v5.7 (Version 5.7 (root@pfSense_RELENG_2_2_amd64-pfSense-job-08 16:46 13-Feb-2015)) for pppoe support. This doesn't have support for RFC-4638 (Accommodating a Maximum Transit Unit/Maximum Receive Unit (MTU/MRU) Greater Than 1492 in the Point-to-Point Protocol over Ethernet (PPPoE)).
The web UI seems to support configuring mpd with an MTU/MRU greater than 1492. The underlying interface can be configured with a MTU of 1508 or greater.
Adding support negiotiating the maximum ppp payload would allow last mile connections to avoid links with an MTU less than 1500 (when the underlying access network allows baby jumbo frames).
#2 Updated by pf 3000 almost 4 years ago
ping -D -s 1472 yahoo.com PING yahoo.com (22.214.171.124): 1472 data bytes 36 bytes from localhost (127.0.0.1): frag needed and DF set (MTU 1492) Vr HL TOS Len ID Flg off TTL Pro cks Src Dst 4 5 00 05dc bc40 0 0000 40 01 3ec0 126.96.36.199 188.8.131.52 36 bytes from localhost (127.0.0.1): frag needed and DF set (MTU 1492) Vr HL TOS Len ID Flg off TTL Pro cks Src Dst 4 5 00 05dc d846 0 0000 40 01 0000 184.108.40.206 220.127.116.11 36 bytes from localhost (127.0.0.1): frag needed and DF set (MTU 1492) Vr HL TOS Len ID Flg off TTL Pro cks Src Dst 4 5 00 05dc f4f7 0 0000 40 01 3ec0 18.104.22.168 22.214.171.124
ping -D -s 1472 www.dslreports.com PING www.dslreports.com (126.96.36.199): 1472 data bytes 1480 bytes from 188.8.131.52: icmp_seq=0 ttl=47 time=122.827 ms 1480 bytes from 184.108.40.206: icmp_seq=1 ttl=47 time=123.011 ms 1480 bytes from 220.127.116.11: icmp_seq=2 ttl=47 time=122.368 ms 1480 bytes from 18.104.22.168: icmp_seq=3 ttl=47 time=122.715 ms 1480 bytes from 22.214.171.124: icmp_seq=4 ttl=47 time=122.640 ms
Assumption here is WAN interface is gigabit capable & PPPoE over optical FTTX connection.
RFC 4638 is standard in ISP fiber optic equipment OSes, from but not limited to Cisco, Juniper, and Huawei. PPPoE needs updating, which at the moment only supports legacy copper connections like DSL and cable.
#6 Updated by David Wood over 3 years ago
Though it adds little to the patches and commentary I've posted in the Sourceforge bug at https://sourceforge.net/p/mpd/bugs/54/#14d2 , I have made a few pertinent comments at https://forum.pfsense.org/index.php?topic=93902.msg555400#msg555400 .
If I had access to a pfSense 2.2 build VM, I'd complete this work. As it is, I hope the backport of the RFC 4638 code to mpd 5.7, the testing I've carried out and the documentation I have created means the majority of the work is now complete.
#7 Updated by Greg B over 3 years ago
- File 1 of 3 - First_attempt_to_add_PPP-Max-Payload_tag_.patch 1 of 3 - First_attempt_to_add_PPP-Max-Payload_tag_.patch added
- File 2 of 3 - Second_attempt_to_add_PPP-Max-Payload_tag_.patch 2 of 3 - Second_attempt_to_add_PPP-Max-Payload_tag_.patch added
- File 3 of 3 - patch-rfc4638-supplementary-against-cvs.patch 3 of 3 - patch-rfc4638-supplementary-against-cvs.patch added
Included are the three patches to mpd. These are authored by Dmitry and David Wood (see upstream ticket).
- Kernel patches from current are not included here.
- Patches to the pfSense scripts to set any additional configuration properties are not included.
#8 Updated by David Wood over 3 years ago
The patches in comment #7 are the patches against mpd CVS HEAD. I suggest using the patches against mpd 5.7, as that is a more conservative change than switching to an unreleased version of mpd with around two years of unreleased changes.
I'm now working on full integration of RFC 4638 WAN support into pfSense and hope to submit pull requests for pfSense 2.2 in the next few days. I can then look at adding this support to pfSense HEAD.
#12 Updated by David Wood over 3 years ago
The work in progress GUI changes are in the RELENG_2_2-rfc4638 branch of davidjwood/pfsense on GitHub - https://github.com/davidjwood/pfsense/tree/RELENG_2_2-rfc4638 . As only etc/inc/interfaces.inc has been modified, the changes should be relatively straightforward to merge to the pfSense master branch (pfSense 2.3).
Instructions on how to install RFC 4638 client support on top of 2.2.4-RELEASE amd64 and some documentation is at https://forum.pfsense.org/index.php?topic=100219.0
#14 Updated by David Wood over 3 years ago
The mpd5 changes have been merged into pfsense/FreeBSD-ports master (which will become 2.3). The pull request against pfsense/pfsense is still outstanding.
An unofficial patch for 2.2.4-RELEASE and 2.2.5-RELEASE is available (amd64 full installs only): https://forum.pfsense.org/index.php?topic=102079.0
#15 Updated by David Wood over 3 years ago
The unofficial patch has been updated for 2.2.6-RELEASE (still amd64 full installs only): https://forum.pfsense.org/index.php?topic=102079.0
#16 Updated by David Wood over 3 years ago
Following the merge of the pull request in https://github.com/pfsense/pfsense/commit/bba669d9cbe52bd84e02f749df0fd83aac6871c2 , this is tested and confirmed working in 2.3.a.20160105.0829 on amd64. Log output from my test run can be found at https://github.com/pfsense/pfsense/pull/1959#issuecomment-169066182 .