I have an XGS-PON 8/8Gbit connection via my ISP, using PPPoE through an SFP+ module in my CCR2116.
The best I can seem to get in throughput is 2.5 Gbit/s. I know the connection can do more, but I can’t figure out what the bottleneck is on the network.
If I bypass my Mikrotik completely I get substantially higher speeds.
I know doing multi-gig isn’t super common place yet, especially on PPPoE, but I’m hoping someone out there knows what might be the cause of this.
Bottleneck is probably because PPPoE is a single-threaded process stuck on 1 CPU-core (out of 16) when it comes to encapsulation/decapsulation and therefore you are probably hitting its limit.
No, I never did. I’m still stuck at 2.5ish Gbps. It seems to be because PPPoE is single threaded on RouterOS, and as a result only a single core is used and it hits 100%.
I picked up a TP-Link router that can easily max out the connection because it does hardware offloading of PPPoE. Unfortunately it’s a TP-Link router so it doesn’t do what I need it to do.
The bottleneck is likely due to the PPPoE process being CPU-intensive, especially at multi-gigabit speeds. The CCR2116, while powerful, may still struggle with PPPoE at such high throughputs due to single-threaded limitations of the PPPoE process in RouterOS.
To improve performance, try the following:
Enable FastPath or FastTrack: These can offload traffic processing and increase throughput, though they may not work with all configurations.
Optimize Firewall Rules: Reduce unnecessary rules or re-order them to minimize processing.
Offload PPPoE: If possible, terminate PPPoE on another device or consider using a hardware PPPoE accelerator.
Update RouterOS: Ensure you’re on the latest version, as performance improvements are regularly introduced.
Check MTU Settings: Verify that the MTU is optimized for your ISP’s requirements.
If these steps don’t resolve the issue, the CCR2116 may not be ideal for handling multi-gigabit PPPoE connections, and a more specialized solution might be necessary.
I guess it suits them well for a few purposes … one of them is user management (less fuss to e.g. assign static IP address and IPv6 prefix). And obviously they don’t bother about (under)performance of 3rd party routers, they just care about performance of “their” equipment (ISP-provided CPEs/routers and certainly their PPPoE servers).
I guess no new ISP starts their network with PPPoE … but for legacy ISPs it might be a big step to ditch it (a huge disturbance in their operations for dubious gains).
I run an ISP and built out DHCP to move away from PPPoE and I gotta say I lose a lot by moving to DHCP. One issue is that I no longer have a nice virtual interface for every customer that’s maintained by LCP. This may not sound like a big deal, but in the DHCP world and with firewalls blocking ICMP, I have no way of knowing if the customer is online or not shy of arp ping.
Also, if something happens and my customers go offline for a minute, I’d never see it, but with pppoe I see everybody reconnect. Lastly, if I have a lot of locations I have to create huge flat network which is ugly or I have to partition my IP space between the locations.
With pppoe everything is /32 so I simply inject the /32 routes into my routing protocol and everything works, with DHCP I have to use option 121 and /32 which doesn’t work everywhere, or go through the pain of making a subnet for each site.
Routing /30 networks is pain and I don’t immediately recover unused addresses unless I run a very short lease which has it’s own issues.
About the only con to pppoe is the lost 8 bytes, and performance issues past 1G, everything else works better.