BPI-R4: Not getting full 10GBps speed on WAN

if that bridge only consist of ports on the dsa switch meaning lan1,lan2,lan3,lan4. that dsa switch bridge’s flow is already offloaded. bridger is not needed. i tested this.

this was why i was originally puzzled on the use of bridger.

That is all done inside the dsa framework.

I meant offloading the traffic between the bridge and the ‘wan’ connection…

yes. ppe will capture the flow. because u are then forwarding. packets 0% cpu forwarding (hwnat) between the dsa switch bridge and eth2(sfp wan) right now. but with just one ppe. the multiple ppe will tie eth0 (dsa switch) to ppe0, eth1 to ppe1, eth2 to ppe2 from what i see from the binds on ppes, when u move packet from say sfp lan to sfp wan, 2 ppe will be used.

Now I remember, I will need something like bridger, because I like to bridge wlan0/1 to lan0/1/2/3/4. nothing to do with wan…

1 Like

No. If you are routing between WAN and LAN interfaces then you don’t need bridger. Only if eth1 (or eth2) would also be members of lanbr0, then bridger would be needed for traffic between eth0 (DSA switch), eth1 and eth2 to bypass the CPU.

Yes, for that you will need it. That was the original motivation for that tool actually.

I’m wondering, would bridger help to get the PPEs involved when accessing files on the NVME drive?

No. For to accelerate that we need RSS/LRO in the Ethernet driver. And also note that the R4 only got a single PCIe lane for the slot intended for NVMe – so that limits the speed anyway already to 8 GT/s.

i build from source and usually i update every week or so. i have hardware flow offloading enabled in luci (checked first sw offloading, then hw offloading).

i dont know if i have a bridge between my ISPs ONT and my interface. Can i somehow figure that out? I have a symmetric 10gbit ftth connection from init7.ch

as soon as the patches are accepted, i will re-build and install and test - thanks! :slight_smile:

This being init7, I assume you connect the fiber patch cable directly from the SFP in the R4 to the OTO, right?

So no bridge in between.

FWIW, my R4 (iperf3 running on the R4) maxes out the 10g when uploading but sees a lot of retries and only about 4G downstream (very similar to yours). Not sure what is happening yet, presumably it does not keep up with ACKs?

To be able to terminate 10GBit/s on the device itself we will need to include RSS/LRO feature in the Ethernet driver.

Forwarding 10GBit/s is a different thing and already possible right now in either direction using the offloading engine, but not simultaneously. For bidirectional 10GBit/s forwarding we need @Dale’s patch for multiple PPE.

2 Likes

Thanks that’s super helpful to know - I really ought to get a proper 10G host to test.

Actually, we almost get there with speedtest:

root@bpir4:~# speedtest --test-server speedtest.init7.net:8080
Server #19:  speedtest.init7.net:8080 by  (0 km from you): 0 ms
Ping: 0 ms 
Jitter: 0 ms.

server selected profile detected: profile selected from server configuration

Download: 8611.52 Mbit/s                                    
Upload: 9436.23 Mbit/s

@oli: try that as few times?

1 Like

the results are a bit “special”:

root@OpenWrt:~# speedtest --test-server speedtest.init7.net:8080
Ping: 0 ms.
Jitter: 0 ms.

server selected profile detected: profile selected from server configuration

Download: 11045.35 Mbit/s                                    
Upload: 10217.85 Mbit/s

but i also got some of 6gbit up/down

@dangowrt does irqbalance help? Or is it not needed at all. from router use case, if they are offloaded by ppe there isn’t really any significant irq to balance right?

So we would need bridger only for hw-offloading beteen lan0/1/2/3/4 and wlan0/1? So the hw-offloading between wan and wlan0/1 (while being slaves of brlan0) would not need bridger? Is that correct?