Community discussions

MikroTik App
 
syadnom
Forum Veteran
Forum Veteran
Topic Author
Posts: 794
Joined: Thu Jan 27, 2011 7:29 am

FEATURE REQUEST: FEC tunnel type

Fri Jun 02, 2023 12:07 am

Please consider implementing a tunnel type that includes adjustable FEC that is independant of interface.

2 examples of what I'd like to have in mikrotik.

One is the commercial product speedfusion from peplink. It includes fec options that essentially eliminate random small packet loss and has timings that correct for high jitter as well. Basically considers high jitter the same as loss and rebuilds. This example is just for conceptual.

The second option which could easily be the basis for a mikrotik implementation is tinyfecVPN. This is a layer2 tunnel build on UDPspeeder that allows for configurable FEC levels to trade bandwidth for reliability. https://github.com/wangyu-/tinyfecVPN.

There are endless possibilities for how this could be used. Run over wireguard would allow for seamless roaming. Wireguard does most of this but you'll still lose a packet or two in the transition. This sort of fec implementation can be tuned enough to rebuild the lost packets.

Used across 60Ghz links where there are occasional issues with packet loss and drops.

For business connections, place a ARM64 powered mikrotik on prem and fec tunnel to the core to improve that, but also would allow for backup links to be even more seamless by absorbing the little losses during failover. Combined with BFD this would be an incredible way to harden business connections while using commodity hardware that we already know and love.

This also works as an effective TCP accellerator without doing any of the usual tricks, simple improving jitter and reducing packet less goes a very long way.

Please check out results on tinyfecVPN. This would be fantastic and has implementation options in virtually every space mikrotik operates.

As an alternative, adding the ability to turn configurable fec on for any tunnel type would be amazing. That's sort of a separate request but ultimately I would just like the functionality however I can get it.

Thanks.
 
User avatar
Amm0
Forum Guru
Forum Guru
Posts: 3169
Joined: Sun May 01, 2016 7:12 pm
Location: California

Re: FEATURE REQUEST: FEC tunnel type

Fri Jun 02, 2023 12:23 am

I was like some other person brought this up before...
viewtopic.php?t=138441&hilit=fec
(now your allowed to renew a feature request after 5 years IMO ;)


I'm still in support this. Pepwave/Peplink/Speedfusion is good example – all they do is essentially OVPN+FEC and charge $10K for router with 4 x 5G modems. If you ask me, the FEC is "magic" element in Pepwave's tunnels that make their multi-WAN scheme work okay.
 
syadnom
Forum Veteran
Forum Veteran
Topic Author
Posts: 794
Joined: Thu Jan 27, 2011 7:29 am

Re: FEATURE REQUEST: FEC tunnel type

Fri Jun 02, 2023 1:34 am

yeah, figured new thread appropriate after 5 years :)

I already use a lot of peplink, and it's a good product, but it's expensive and less flexible than I could do with mikrotik. I kind of backed off this model a bit with mikrotik because of the lack of BFD in routeros7 combined with the new tunnel types not being in routeros6. I used to do l2tp tunnels with partial mesh BGP and BFD for a few thousand endpoints and 2 datacenters and did LCR for VoIP calls over that network and that worked very well, but we lacked modern traffic shapers and no fec so we ran into packet loss occasionally and that showed up in the VoIP calls.

Now, we use a ton of peplink for VoIP calls and business continuity like cloud POS access and CC processing. I would WAY rather be building this out on mikrotik, and I likely will once BFD goes final so I can have functional rapid failover again, but having fec in the tunnel would be amazing.

p.s. I've tried wrangling a docker container into doing this but without the ability to have a seconadry network interface to bridge and without some kernel features turned on it just doesn't do it well. I have put nanopi units on both ends that just do the tinyfecVPN tunnel and then let mikrotik handle the routing etc but that's just in the lab right now and it's just for fun/proof of concept, I can't run that sort of gear or setup in production.
 
User avatar
Amm0
Forum Guru
Forum Guru
Posts: 3169
Joined: Sun May 01, 2016 7:12 pm
Location: California

Re: FEATURE REQUEST: FEC tunnel type

Fri Jun 02, 2023 6:20 pm

There really is no RouterOS way of replicating the speedfusion tunnels, mainly because of FEC applied. I've seen benefits with raw FEC+MPEG streams over WANs for years (e.g. where you can see FEC does occasional fix things), so some way of doing that more generically in RouterOS be useful.

I get your idea here is to to overlay FEC on an arbitrary link, a la RFC-6363. And think should be possible since /ip/packing already does something similar.

But your specific idea of a FEC-protected WG tunnel (in -5 year ago thread) is a good one too. I did some googling last night out of curiosity...Not much about FEC+WG. But found an good paper about FEC+QUIC, basically concluding that FEC helped in most cases (except truly error-free line or hard bandwidth limit). WG isn't that much differ from QUIC (e.g. both UDP with encryption built-into protocol)...

I do think this is an area where Mikrotik could be more innovative. Maybe now that BFD is coming together..MT can consider this.
 
syadnom
Forum Veteran
Forum Veteran
Topic Author
Posts: 794
Joined: Thu Jan 27, 2011 7:29 am

Re: FEATURE REQUEST: FEC tunnel type

Fri Jun 02, 2023 6:56 pm

BTW, I have requested both wireguard and zerotier add an option to do FEC on their tunnels and both decided not and both said something the lines of it would chew up CPU resources and reduce tunnel speeds which was the reverse of what they wanted. Maybe I'll go poke at them again.
 
User avatar
Amm0
Forum Guru
Forum Guru
Posts: 3169
Joined: Sun May 01, 2016 7:12 pm
Location: California

Re: FEATURE REQUEST: FEC tunnel type

Sat Jun 03, 2023 8:06 pm

Well the idea is to trade CPU, and bandwidth, for less jitter. So, yes, it uses CPU (and bandwidth). ;)

Moore's Law covers the CPU (e.g. you started this discussion 5 years). FEC can fix at least some error in 0 roundtrips, which better than any retry logic could be. The higher the level of latency on an path, the more benefit of FEC if errors. And, the more packets that are corrected by FEC before entering a protocol, the less work in processing complex retransmission/reordering/etc.

But sure if the line is error-free, FEC is dumb – but very few end-to-end paths are truly error-free.
 
syadnom
Forum Veteran
Forum Veteran
Topic Author
Posts: 794
Joined: Thu Jan 27, 2011 7:29 am

Re: FEATURE REQUEST: FEC tunnel type

Sun Jun 04, 2023 12:31 am

I don't have error free paths on DIA fiber.

For the most part, I and many people that use peplink aren't in need of the absolute most bandwidth, it's more about certain types of traffic needing to be more reliable and consistent. Not saying all, there are definitely those that want high throughput too, but those people can throw CPU at it if that's their need.

I would imagine that a hAP ax2/ax3 could handle at least a few hundred Mbps if not nearly a gig with the CPU in them. Even a now aging hAP ac2 is probably over 100Mbps.

For me, I would be quite happy with 20Mbps with cake or fq_codel + fec to handle VoIP and payment processing on something like a hAP ac2.
 
User avatar
chechito
Forum Guru
Forum Guru
Posts: 2989
Joined: Sun Aug 24, 2014 3:14 am
Location: Bogota Colombia
Contact:

Re: FEATURE REQUEST: FEC tunnel type

Sun Jun 04, 2023 3:25 am

interesting, i have not tested peplink feature, but sounds like a useful feature
 
User avatar
Amm0
Forum Guru
Forum Guru
Posts: 3169
Joined: Sun May 01, 2016 7:12 pm
Location: California

Re: FEATURE REQUEST: FEC tunnel type

Tue Jun 06, 2023 4:32 pm

Also Fortinet seems support FEC on IPSec links:
https://docs.fortinet.com/document/fort ... tion-7-0-2
 
Elihunter
just joined
Posts: 1
Joined: Tue Jun 13, 2023 4:07 pm

Re: FEATURE REQUEST: FEC tunnel type

Tue Jun 13, 2023 4:09 pm

I'm moving from Peplink to Mikrotik and this is a feature I'll definitely miss for my VoIP clients. I'd like to see some type of FEC supported over VPN as well.

Who is online

Users browsing this forum: No registered users and 72 guests