-
Notifications
You must be signed in to change notification settings - Fork 757
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
interfaces: restructure PPP to allow complex IPv6-only deployments and remove "Use IPv4 connectivity" by making it the default #7446
Comments
We may or may not want to run PPP based on the sole fact that the interface is assigned and as a PPP configuration. The analysis of what IP modes we need belongs to the actual config file. PR: https://forum.opnsense.org/index.php?topic=42008.0
I believe the best course of action is to make it the default and remove the option. If people want to use the hardware interface and PPPoE at the same time can simply assign a second interface for the hardware. This will break fragile IPv6 setups, but is much better in the long run and will allow further simplification.
The bound logic is extended to be able to latch on to IPv6 events later on by disabling IPv4. It's all a bit complicated. We may consider moving these trickeries to the PPPoE uplink scripts where they appear to belong anyway.
We may or may not want to run PPP based on the sole fact that the interface is assigned and as a PPP configuration. The analysis of what IP modes we need belongs to the actual config file. PR: https://forum.opnsense.org/index.php?topic=42008.0
We may or may not want to run PPP based on the sole fact that the interface is assigned and as a PPP configuration. The analysis of what IP modes we need belongs to the actual config file. PR: https://forum.opnsense.org/index.php?topic=42008.0
I believe the best course of action is to make it the default and remove the option. If people want to use the hardware interface and PPPoE at the same time can simply assign a second interface for the hardware. This will break fragile IPv6 setups, but is much better in the long run and will allow further simplification.
The bound logic is extended to be able to latch on to IPv6 events later on by disabling IPv4. It's all a bit complicated. We may consider moving these trickeries to the PPPoE uplink scripts where they appear to belong anyway.
We may or may not want to run PPP based on the sole fact that the interface is assigned and as a PPP configuration. The analysis of what IP modes we need belongs to the actual config file. PR: https://forum.opnsense.org/index.php?topic=42008.0
I believe the best course of action is to make it the default and remove the option. If people want to use the hardware interface and PPPoE at the same time can simply assign a second interface for the hardware. This will break fragile IPv6 setups, but is much better in the long run and will allow further simplification.
The bound logic is extended to be able to latch on to IPv6 events later on by disabling IPv4. It's all a bit complicated. We may consider moving these trickeries to the PPPoE uplink scripts where they appear to belong anyway.
We may or may not want to run PPP based on the sole fact that the interface is assigned and as a PPP configuration. The analysis of what IP modes we need belongs to the actual config file. PR: https://forum.opnsense.org/index.php?topic=42008.0
I believe the best course of action is to make it the default and remove the option. If people want to use the hardware interface and PPPoE at the same time can simply assign a second interface for the hardware. This will break fragile IPv6 setups, but is much better in the long run and will allow further simplification.
The bound logic is extended to be able to latch on to IPv6 events later on by disabling IPv4. It's all a bit complicated. We may consider moving these trickeries to the PPPoE uplink scripts where they appear to belong anyway.
A number of cleanup and non-invasive restructuring efforts around the way IPv6-based connectivity is handled in PPP environments so that we can later use it allow IPv6-only deployments which takes a different path based on whether PPP is allowed to do IPv4 (with or without IPv6) or IPv6 without IPv4. In theory this would also allow us to run DHCP over PPP, but it's much outside the scope of the current effort and certainly needs someone with that type of setup... ;)
Ideally we should really handle an array of parent hardware devices here. In some cases IPv6 device is missed as well. And later on the code will not check if this was a device node for a modem so wrapping the hardware stuff into a function for iteration is the way to go.
A number of cleanup and non-invasive restructuring efforts around the way IPv6-based connectivity is handled in PPP environments so that we can later use it allow IPv6-only deployments which takes a different path based on whether PPP is allowed to do IPv4 (with or without IPv6) or IPv6 without IPv4. In theory this would also allow us to run DHCP over PPP, but it's much outside the scope of the current effort and certainly needs someone with that type of setup... ;)
We want to avoid modifying ports for the PPP devices and rearrange the type feed slightly. Most of the PHP warnings on this page relate to PPP trickery that will go away. Next step will be only offering the matching IPv4/6 types. Fix one valid warning while here.
This change reflects what PPP is actually capable off under the hood and no functional changes intended. You could still post a different type but since the goal is to get rid of posting anything related to PPP this will make it easier to judge if people actually used this.
As discussed with @AdSchellevis make this a reality for PPP/PPTP/L2TP, but leave PPPoE as is for now. This allows inline creation of PPPoE to remain for the time being. Inline removal, OTOH, is removed hereby since buggy.
Keep the PPPoE trampoline code in the settings page, but otherwise restrict and lock PPP in place meaning no other inline creation, switching or moving back to raw types (which is buggy anyway). The PPP device creation and edit page is responsible for creating devices first and foremost and should be used in all the PPP cases eventually. This will make the interfaces page much easier to convert to MVC/API when the time arrives. PPPoE exceptions will probably be removed in 25.1 as well but it needs a documentation sweep in order to cope with that new reality. (cherry picked from commit 37efb1f) (cherry picked from commit b2d9372) (cherry picked from commit 23c9a95) (cherry picked from commit 6e13590)
A number of cleanup and non-invasive restructuring efforts around the way IPv6-based connectivity is handled in PPP environments so that we can later use it allow IPv6-only deployments which takes a different path based on whether PPP is allowed to do IPv4 (with or without IPv6) or IPv6 without IPv4. In theory this would also allow us to run DHCP over PPP, but it's much outside the scope of the current effort and certainly needs someone with that type of setup... ;)
|
Ok, appears there was a user using 6rd over PPPoE... This b2d9372 did not make him happy... https://forum.opnsense.org/index.php?topic=42081.msg209929#msg209929 |
|
On another note - while doing all these PPP cleanups, just found this in the backlog. Those impossible to work options are still there. |
To be completely clear, I’m far more unhappy with the ISP (CenturyLink) on this issue than with opnsense. It would be helpful if the removal was called out in the 24.7.2 release notes, and a statement of if there is a plan to restore it in a future release. The other facet is that the previous stf device configuration under the hood mostly survives the upgrade process, but doesn’t work quite right (I didn’t spend much time digging into why before reverting to 24.1) and has no UI I could find to fix it. That is a poor experience. |
|
This 6rd-over-PPPoE implementation would be my favorite if there is a "worst ways to deploy IPv6" competition among ISPs. The option is trivial to restore, I'd suppose no call was made because no one expected such a thing to be in use. |
|
@jfieber hello, thanks for reaching out. I wrote the bulk in the forum, see https://forum.opnsense.org/index.php?topic=42081.msg209986#msg209986 For anyone else with that issue at the moment use 947e61b It would be best to bring this into 24.7.3 as well. The implications for the setup going forward are in the forum, but since is mostly a documentation effort done before releasing 25.1 I'll refrain from adding that to the current discussion here. |
A number of cleanup and non-invasive restructuring efforts around the way IPv6-based connectivity is handled in PPP environments so that we can later use it allow IPv6-only deployments which takes a different path based on whether PPP is allowed to do IPv4 (with or without IPv6) or IPv6 without IPv4. In theory this would also allow us to run DHCP over PPP, but it's much outside the scope of the current effort and certainly needs someone with that type of setup... ;) While here make sure the IPv4 connectivity abuse in DHCP scenarios still somewhat works at least for 24.7.x. We don't want it unless we have a strict need for it or may want to come up with a simpler approach.
A number of cleanup and non-invasive restructuring efforts around the way IPv6-based connectivity is handled in PPP environments so that we can later use it allow IPv6-only deployments which takes a different path based on whether PPP is allowed to do IPv4 (with or without IPv6) or IPv6 without IPv4. In theory this would also allow us to run DHCP over PPP, but it's much outside the scope of the current effort and certainly needs someone with that type of setup... ;) While here make sure the IPv4 connectivity abuse in DHCP scenarios still somewhat works at least for 24.7.x. We don't want it unless we have a strict need for it or may want to come up with a simpler approach.
A number of cleanup and non-invasive restructuring efforts around the way IPv6-based connectivity is handled in PPP environments so that we can later use it allow IPv6-only deployments which takes a different path based on whether PPP is allowed to do IPv4 (with or without IPv6) or IPv6 without IPv4. In theory this would also allow us to run DHCP over PPP, but it's much outside the scope of the current effort and certainly needs someone with that type of setup... ;) While here make sure the IPv4 connectivity abuse in DHCP scenarios still somewhat works at least for 24.7.x. We don't want it unless we have a strict need for it or may want to come up with a simpler approach.
Time to ditch this. Leave a thin dialog for the ports display and where to access the actual PPP settings. page-getserviceproviders now folds into page-interfaces-ppps-edit and remove only once use functions to edit page as well.
Important notices
Our forum is located at https://forum.opnsense.org , please consider joining discussions there in stead of using GitHub for these matters.
Before you ask a new question, we ask you kindly to acknowledge the following:
TODO:
The text was updated successfully, but these errors were encountered: