Project

General

Profile

Feature #4542

Support for PPPoE with MTU/MRU > 1492 (i.e. 1500)

Added by Greg B over 4 years ago. Updated almost 4 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Interfaces
Target version:
Start date:
03/21/2015
Due date:
% Done:

0%

Estimated time:

Description

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).

Links

Related discussions:

History

#1 Updated by Greg B over 4 years ago

#2 Updated by pf 3000 over 4 years ago

Bug

ping -D -s 1472 yahoo.com
PING yahoo.com (98.138.253.109): 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 2.97.192.51  98.138.253.109

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 2.97.192.51  98.138.253.109

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 2.97.192.51  98.138.253.109

Expected behavior

ping -D -s 1472 www.dslreports.com
PING www.dslreports.com (64.91.255.98): 1472 data bytes
1480 bytes from 64.91.255.98: icmp_seq=0 ttl=47 time=122.827 ms
1480 bytes from 64.91.255.98: icmp_seq=1 ttl=47 time=123.011 ms
1480 bytes from 64.91.255.98: icmp_seq=2 ttl=47 time=122.368 ms
1480 bytes from 64.91.255.98: icmp_seq=3 ttl=47 time=122.715 ms
1480 bytes from 64.91.255.98: 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.

#3 Updated by pf 3000 over 4 years ago

a

#4 Updated by Greg B about 4 years ago

I'm assuming that support for rfc4638 in 'mpd5' is the blocker. An upstream ticket http://sourceforge.net/p/mpd/bugs/54/ has been created for this.

#5 Updated by Greg B about 4 years ago

There has been some changes in the upstream issue [[http://sourceforge.net/p/mpd/bugs/54/]] (patches and some testing/validation) Is there any chance this work could be included in a v2.2.x build please?

#6 Updated by David Wood about 4 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 about 4 years ago

Included are the three patches to mpd. These are authored by Dmitry and David Wood (see upstream ticket).

Residuals:

  1. Kernel patches from current are not included here.
  2. Patches to the pfSense scripts to set any additional configuration properties are not included.

#8 Updated by David Wood about 4 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.

#9 Updated by David Wood about 4 years ago

A pull request for the kernel and mpd5 changes has been submitted - https://github.com/pfsense/pfsense-tools/pull/12

I continue to work on the GUI changes.

#10 Updated by Chris Buechler about 4 years ago

  • Category set to Interfaces
  • Target version set to 2.3

#11 Updated by Chris Buechler about 4 years ago

  • Assignee set to Luiz Souza

to Luiz to review pull request (which we'll need to move to 2.3 or have it re-submitted to https://github.com/pfsense/FreeBSD-ports repo)

additional comments on the pull request.

Thanks David!

#12 Updated by David Wood about 4 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

#13 Updated by David Wood about 4 years ago

This work is complete and pull requests against pfSense 2.3 have been submitted:

mpd5 changes: https://github.com/pfsense/FreeBSD-ports/pull/1
pfSense support: https://github.com/pfsense/pfsense/pull/1959

#14 Updated by David Wood about 4 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 almost 4 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 almost 4 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 .

#17 Updated by Jim Thompson almost 4 years ago

thanks for all the hard work and your continued support, David.

#18 Updated by Chris Buechler almost 4 years ago

  • Status changed from New to Resolved
  • Affected Architecture deleted (All)

works in all my testing too. Thanks David!

Also available in: Atom PDF