[BERYL] Slow switch speed

I got a new router called GL-iNet GL-MT1300 Beryl. The router is very nice but I found a big problem. The throughput of the switch is about 350 Mbps when the declared ports are 1 Gbps.
I tested it with the iperf3 utility.

Please direct me what I could do to get a full 1 Gbps on the switch.

Without Beryl switch (Tested on an old router - Orange funbox 2.0)

With Beryl switch


In the last screenshots you can see that it is full 1 Gbps. On Beryl and on my old router.

The problem occurs when 1 cable is connected to the WAN and the other to the LAN.Then the speed is around 350 Mbps.The router mode is set to bridge so it shouldn’t drop below 1 Gbps.

What is the different between your picture 2 and picture 3?

Picture 3 is in AP mode (bridge)?

Beryl has 3 ethernet ports 1 Gbps.
There are 2 LAN ports and one WAN.
The beryllium network mode set is the one in the screenshot.

For image two, the configuration is as follows. One computer is wired to the LAN port. The second computer is wired to the second LAN port. In this case, the bandwidth is 1 Gbps.

In the case of picture number three, the configuration is as follows. The first computer is wired to the LAN port.The second computer is wired to the WAN port. In this case, the bandwidth is around 350 Mbps.

I would like to get 1 Gbps bandwidth on all cable ports.

I did some additional tests.
I set the router mode in MT1300.
I chose the option use WAN socket as LAN.
I connected 1 device to the WAN connector (which now works as LAN).
I connected 1 device to the WAN connector (which is originally LAN).
The firmware I use is 3.200.
Tests with Iperf3:


and

Then I disconnected the cable from the WAN socket (which is LAN). And then I plugged into the LAN socket (which is originally LAN).
I did the tests.


and

If I understand correctly, MT1300 works on closed-source drivers from MTK.
I wonder why speed drops so drastically when NAT is not present.
Both computers were on the same network.
How can I get the maximum speed between LAN port and WAN (without using NAT)?
From what I have seen, the MT7621A supports hardware NAT, which is such a surprise for me that transfers are so slow.

I have a Mikrotik RB750Gr3 which has same MTK chipset as Beryl, it has an “Bridge Hardware Offload” option to make the switch function running fast. I don’t know if Beryl has this “option” turned on or off by default, maybe it’s the cause why it’s slow in switch throughput.

1 Like

So, keep in mind, that Ethernet link speed is different from NAT/SPI routing speed. Just because a device has Gigabit Ethernet connections doesn’t necessarily mean that the SOC internals are actually capable of pushing data that fast.

When a router is running in NAT mode it must inspect each frame and perform network address translation between the internal/local/LAN subnet and the external/Internet/WAN subnet. Some routers may also perform additional tasks to look for malware, filter urls, etc. In order to do all of this processing, a fairly fast (from a system on a chip perspective) CPU is needed to be able to push Giagbit speeds.

Conversely, when a router is running bridge mode, it’s not really “doing anything” and so it will have much less CPU overhead.

I doubt the SOC in the Beryl is very powerful compared to a normal (aka not portable) home or small business router. The Beryl has heat, power, and cost constraints to work within.

I think that without the use of NAT, the speed on all ports should be the same. The router only performs a copy operation.

I will say even more, the problem lies with the GL.inet software. In case of installing openwrt snapshot and running hardware acceleration in it, I pull the maximum speed of 1 Gbps on it.

I forwarded to developers to check. But now everyone is on holiday.