New PPPoE backend, some feedback
-
I have been thinking about the
@Phil2025 said in New PPPoE backend, some feedback:
Do not wait for a RA
I wonder if it is a valid setting!!
Is it not a work around a bug. If the provider is sending a RA and it is not handled correctly by the PPOE-software, is 'Do not wait for a RA' not the wrong way out. !!?? -
@Phil2025 said in New PPPoE backend, some feedback:
Do not wait for a RA
I wonder if it is a valid setting!!
Is it not a work around a bug. If the provider is sending a RA and it is not handled correctly by the PPOE-software, is 'Do not wait for a RA' not the wrong way out. !!??I thought I tried that ticked and unticked in the BETAs and it made no difference.
All I know this started with 2.8.0, no previous version had this issue. Also PPPoE is generally just slower to come up in 2.8.0 regardless of using the older code or the new IF_PPPoE. Once up, and the Gateway services restarted to get IPv6 monitoring working, it all seems okay, but it does mean without manual intervention, if PPP goes down for some reason (maintenance or a fault), it doesn't appear to come back properly by itself.
I know its difficult for Netgate to test every ISP in every country, but there is the option to code compare 2.7.2 to 2.8.0 to see what has changed, but I have feeling quite a few scripts relating to PPP links up and down have been completely rewritten, so there isn't that option.
-
Yes there have been quite a lot of changes to the ppp scripts since 2.7.2.
@louis2 do you also see it start working if you restart dpinger after the connection is up?
-
@louis2 said in New PPPoE backend, some feedback:
I have been thinking about the
Do not wait for a RA
I wonder if it is a valid setting!!
Is it not a work around a bug. If the provider is sending a RA and it is not handled correctly by the PPOE-software, is 'Do not wait for a RA' not the wrong way out. !!??As it happens I have the 'do not wait' setting set (as per my ISP settings, who thankfully send out unsolicited RAs very infrequently) but when RAs are subsequently received and contain no changes to the original RS, if_pppoe responds to them and triggers services to restart. So it does not provide an artificial 'way out' - if_pppoe just seems very sensitive to unsolicited RAs.
๏ธ
-
I don't think that's if_pppoe dircetly, it has no awareness of IPv6. It's somehow one of the other changes that were added to allow both pppoe types to function.
But you don't see it with if_pppoe disabled? So it must be something that's only triggered when it is.
-
@stephenw10
Surely it still handles the IPv6 setup and configuration during the PPPoE session initialisation, including any subsequent changes from upstream... or am I mistaken?๏ธ
-
Nope all that is dhcpc6 once the pppoe is up. It's an odd situation because pppoe does have scope to setup IPv6 like does for v4 (IP6CP) but I have never seen it used. By anything.
For reference: https://www.revk.uk/2011/01/ppp-ipv6cp-vs-dhcpv6.html
And that's straight from RevK so you know it must be true. Or was in 2011! -
I'm unable to route traffic via an IPv6 gateway on 2.8.0 as I am having the same problem as highlighted by @louis2 where my gateway is pending:
I have tried restarting dpinger, disabling/reenabling the gateway and unchecking
Do not wait for a RA
however these actions have had no effect.Here are my interface settings using if_pppoe (I have noticed the
Host-Uniq
value I have set is not visible here but my ISP doesn't require it):
Interestingly I have noticed when viewing the Interface that it does not show the
Gateway IPv6
value like is visible for mpd:
There is however a default route set and the gateway address is pingable:
Internet6: Destination Gateway Flags Nhop# Mtu Netif Expire ::/0 fe80::1239:e9ff:feb2:1744%pppoe1 UG 39 1500 pppoe1 PING(56=40+8+8 bytes) fe80::4262:31ff:fe0b:8156%pppoe1 --> fe80::1239:e9ff:feb2:1744%pppoe1 16 bytes from fe80::1239:e9ff:feb2:1744%pppoe1, icmp_seq=0 hlim=64 time=3.586 ms 16 bytes from fe80::1239:e9ff:feb2:1744%pppoe1, icmp_seq=1 hlim=64 time=3.215 ms 16 bytes from fe80::1239:e9ff:feb2:1744%pppoe1, icmp_seq=2 hlim=64 time=3.365 ms --- fe80::1239:e9ff:feb2:1744%pppoe1 ping statistics --- 3 packets transmitted, 3 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 3.215/3.389/3.586/0.152 ms
When using mpd implementation for contrast (interface settings are identical):
I have seen the following event appear in the logs a few times but unsure if this is of any help:
if_pppoe: pppoe1: failed to set default route 17
-
Hmm so you only see that when using if_pppoe? And IPv4 works fine in both cases?
Probably going to need to compare the system and dhcp logs to see what the difference is there.
-
Hum .. I had to think about the rout-able IPV6 in the picture higher up, so I looked at my PPOE overview.
As you can see in my case there is an link local address, which does not surprise me. And I checked it is pingable
not from some other lan of course!! It is a link local address
-
@benbng I wonder, why you have a MTU of 1500 with PPPoE, usually it is lower.
-
I wonder does the IPV6 address in your TROOLI interface to your IPV6 range or is it an address in the providers infrastructure at the providers side of the PPOE !??
-
@stephenw10 logs below as requested.
mpd
mpdsystem.txt
mpddhcp6c.txtif_pppoe with
Do not wait for a RA
checked
ifpppoesystem.txt
ifpppoedhcp6c.txtif_pppoe with
Do not wait for a RA
unchecked
ifpppoesystemnora.txt
ifpppoedhcp6cnora.txtI can confirm IPv4 connectivity is working from clients using both mpd and if_pppoe. When using if_pppoe the firewall itself has IPv6 connectivity (with addresses outside of my ISP's network) however any internal client traffic that matches a firewall rule with the IPv6 gateway is not routed, certainly looks like something to do with pfSense gateways as opposed to a routing/PPP/DHCP issue.
Let me know if I can provide any additional logs.
-
@Bob-Dig there was some talk about this towards the start of the thread; a number of ISPs within the UK support https://datatracker.ietf.org/doc/html/rfc4638 which accounts for the PPPoE overhead and enables devices to use an MTU of 1500 without having to resort to MSS clamping or any of that fun.
-
@louis2 sorry which address are you referring to? The
IPv6 Address
is on the provider's side and allocated from the DHCPv6 request, theGateway IPv6
address is the ISP's router's link-local address which you can find when looking at your dhcp6c logs (for an entry similar toreceive advertise from fe80::a:b:c:d%pppoex
) -
That is what I did expect, but wanted to know for sure.
Thanx -
@benbng said in New PPPoE backend, some feedback:
any internal client traffic that matches a firewall rule with the IPv6 gateway is not routed,
That is the expected behaviour if the gateway is marked as offline. I assume that's not the default IPv6 gateway? If it is I'd expect anything passed without a gateway set to still be able to use it.
-
@stephenw10 it should be the default, because it's marked as pending though it doesn't show this as you can see in my earlier screenshots.
Interestingly the gateway doesn't seem to get populated as the monitor IP; is this supposed to be set within one of the scripts that has been changed as part of the 2.8.0 release?
-
If the gateway is off line any policy routing rules will either by applied without a gateway or omitted entirely depending on the Advanced Firewall Rule setting.
Any client IPv6 traffic that is passed without a gateway set should just follow the default route in which case it should work.
But that's not really the issue here, it's that dpinger ever starts on the link-local gateway for some reason.
-
?? What is wrong about that ?? And why is my IPV6 gateway still showing as unkown, where it is working perfectly ??