RB750gr3 IPv6 Performance

I have an an RB750gr3 connected to a 600/600 fiber line. IPv4 performance isn’t an issue, but I’m not sure if I can reach even 500-600mbps over ipv6.

As a baseline, I ran a speed test to a local isp server. Over ipv4 626mbps down, 622mbps up

[admin@RouterOS] /system resource cpu> print
 # CPU            LOAD         IRQ        DISK
 0 cpu0            40%         40%          0%
 1 cpu1            15%         13%          0%
 2 cpu2            13%         13%          0%
 3 cpu3            22%         22%          0%

Then I ran tests connected over wireguard on a vps via ipv4 or ipv6 separately.

What I see, is that ipv6 is consistently slower than ipv4. My question is, is the cpu the bottleneck, or could it be some other issue? The cpu doesn’t seem maxed out, but maybe that’s the best it can do to distribute the ipv6 load?

over ipv4 464mbps down, 99mbps up

[admin@RouterOS] /system resource cpu> print
 # CPU            LOAD         IRQ        DISK
 0 cpu0            36%         35%          0%
 1 cpu1             3%          0%          0%
 2 cpu2            13%          9%          0%
 3 cpu3            50%         50%          0%

over ipv6 352mbps down, 85mbps up

[admin@RouterOS] /system resource cpu> print
 # CPU            LOAD         IRQ        DISK
 0 cpu0            22%         22%          0%
 1 cpu1             1%          0%          0%
 2 cpu2             1%          0%          0%
 3 cpu3            97%         97%          0%

Performance of the small Mikrotiks depends very much on particular setup and ROS version. The 750Gr3 is no exception. Performance sucks if fasttrack is not enabled. And fasttrack is so far incompatible with IPv6.

So what you see mostly makes sense. Keep in mind that wireguard causes huge performance hit, nothing regarding wireguard is HW-offloaded, CPU has to do everything (encryption/decryption etc.) And all packets belonging to one conection are always processed by same CPU core (to avoid potential packet ordering issues) so it can be a bottleneck even if overall CPU utilization is way below 100%. Encryption is usually more resource-demanding than decryption, same is true for compression (v.s. decompression).

Also be aware that although there are 4 “cpus” listed, there are only two full cores in the MT7621A SoC in the RB750Gr3. It is “hyperthreaded” to make it appear that there are 4 processors.

But as mkx said, you usually hit a bottleneck when one “processor” is saturated. So the “total CPU” isn’t usually as good of an indicator as the percentage utilization of the busiest hyperthread.

I am using 6.48.6 Long Term right now, though I’ve used 7.x in the past, and it was the same, as far as I can remember.

I am looking at each cpu core separately (2 real cpu cores). I do see one almost saturated, but the other isn’t. That’s why I’m wondering if it’s really a cpu issue. Is there something about ipv6 handling that would make it bound to a single cpu core, and not use the other fully? I have the default firewall rules applied.

Also, wireguard is not running on the Mikrotik. It’s running on a vps and on my windows 10 system. The Mikrotik just sees it as ipv6 traffic. Although, since it’s all being sent through a single connection, I suppose that could limit it to a single thread on the MIkrotik. Maybe if there were multiple connections, it would be more balanced and achieve greater throughput.

I would say that the performance is astonishing for a router released in 2016 for $60

And it’s still for sale. I just got mine earlier this year.

My hope at the time was it would handle 500/500. Some get close to gigabit over ipv4, and I don’t doubt it. I was hoping it would get at least 500mbps for ipv6, but I might have been too optimistic. Still, I’m not disappointed.

It’s best feature, though, is RouterOS. After many years of custom firmware on an asus router, I was a little shocked when I replaced it with a tp-link that was so dumbed down, I couldn’t do what I wanted to with it. It’s relegated to an access point now.

My hypothesis as to why TP-Link, Google, Netgear, Asus etc. OEM firmware is dumbed down is because they sell to people that have no idea of even what an ip address is. And that target market wants the simplified view, not what Mikrotik presents. The consumer router manufacturers also don’t want to deal with customer support that providing many options will result in. In other words most “consumers” want an appliance that is as close to plug and play as possible, i.e. the top “control panel” not the bottom one in this Humour: Men vs Women described as Machine.

If your TP-Link is supported by OpenWrt firmware, it will give you a much more capable router.

It’s a new model, the ax1500, not supported by OpenWRT. It has a broadcom cpu so it’s unlikely it will ever be supported.

I understand, too, that I’m not really the target market. I tempered my expectations, but it was worse than I thought. But now I know.

I updated the firmware from 6.48.6 to 7.6 and tested the IPv6 performance again. With 7.6 it seems to only be able to do 250mbps over a single IPv6 connection (vs. 350mbps on 6.48.6).

IPv6

    Download:   249.50 Mbps (data used: 369.5 MB)
      Upload:    93.26 Mbps (data used: 169.9 MB)

#  CPU   LOAD  IRQ   DISK
0  cpu0  46%   43%   0%
1  cpu1  3%    1%    0%
2  cpu2  2%    0%    0%
3  cpu3  100%  100%  0%

IPv4

    Download:   513.50 Mbps (data used: 704.9 MB)
      Upload:   159.85 Mbps (data used: 280.8 MB)

#  CPU   LOAD  IRQ  DISK
0  cpu0  74%   73%  0%
1  cpu1  53%   53%  0%
2  cpu2  20%   19%  0%
3  cpu3  1%    0%   0%

ROS v7 “lost” route cache, which means it’s a bit slower in routing tasks in general. And fasttrack is still not supported in IPv6. MT staff said that fasttrack6 is being developed though … which means that IPv6 routing performance should get on par with IPv4 routing performance in some (forseeable?) future. Sadly we’re not there yet.

Thanks – yes, that’s also what I read about the route cache in v7, so I was expecting it. For anybody wondering what they can expect from IPv6 on the RB750gr3, under v6 and v7, these are some real tests.

If you’re a fan of OpenWrt
http://forum.mikrotik.com/t/feature-request-ipv6-fasttrack/149315/1
LE: plus the fact that I can do this:
OpenWrt LAN IPv6 - 001.JPG
which results in this:
OpenWrt LAN IPv6 - 002.JPG
Makes it so hard to switch it back to RouterOS :slight_smile:

I saw that. So we know the hardware is capable. It just needs some attention.

I’m hesitant to go to openwrt, though. Before I got the Mikrotik, I was thinking of going in that direction, so I installed openwrt on an old Asus router to test. Perhaps part of it is a learning curve, but I was never able to get ipv6 to work on openwrt. My isp seems to be challenging for ipv6. However, it works well with Mikrotik without much difficulty.

Also, in a general sense, Mikrotik’s interface seems more intuitive than openwrt.

I think MediaTek based devices have a good chance of being optimized gradually, we already saw in recent versions the inclusion of switch chip features for this devices so they are not in forgetfulness

off course that will take time, also it would not be the first time that a device performs less with ipv6 and maybe is a normal behavior when doing software forwarding

we will see…