You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 29
Next »
Scope
Target is to provide a IMP/Gateway speedtest reference implementation to RDK-B community as part of banana Pi R4
Types of speedtests
IMP/Gateway speed test
- Between CPE and ISP's Edge Router/Gateway to test upstream and downstream
Client speed test
- Between connected client and gateway
Block diagram
Components involved
- Test and diagnostic
- iperf3
- USP agent (or) WebPA (parodus,parodus2ccsp)
- T2
Backend ecosystems involved
Xconf
Kibana/Elastic or simple json upload with Markers
USP controller or webpa server
Speedtest analytics engine (An application running on top of Rest API's)
iperf3 server (Linux machine running with iperf3 server)
RDK-B Customer perspective
As an RDK-B operator/OEM/SoC how can use my vendor speedtest implementation
- [Response - Just replace iperf3 client in RDK-B BPI R4 with your custom vendor implementation - refer orange colored
How about server
- Replace iperf3 server with your actual server - refer orange colored
Does this cover client speed test
Technical requirements of gateway speed test
State machine design for Bananapi R4
Low level design

simple flow
- Assumed output
iperf3 -c 192.168.2.151 -t 60 -b 100M -P 4
root@RaspberryPi-Gateway:/# tail -n 25 /var/log/iperf3log.log [ 5] 0.00-60.00 sec 169 MBytes 23.6 Mbits/sec receiver [ 7] 0.00-60.00 sec 173 MBytes 24.2 Mbits/sec 150 sender [ 7] 0.00-60.00 sec 173 MBytes 24.2 Mbits/sec receiver [ 9] 0.00-60.00 sec 167 MBytes 23.3 Mbits/sec 152 sender [ 9] 0.00-60.00 sec 167 MBytes 23.3 Mbits/sec receiver [ 11] 0.00-60.00 sec 164 MBytes 23.0 Mbits/sec 159 sender [ 11] 0.00-60.00 sec 164 MBytes 23.0 Mbits/sec receiver [SUM] 0.00-60.00 sec 674 MBytes 94.2 Mbits/sec 621 sender [SUM] 0.00-60.00 sec 673 MBytes 94.1 Mbits/sec receiver
Source code repo
Reference
Plan
- Implement wrapper on top of iperf3 - rdk-speedtest-cli - https://github.com/cpokuru/rdk-speedtest-cli/tree/develop
- update speedtest.sh to invoke rdk-speedtest-cli
- invoke speedtest using speedtest dml's in test and diag from webpa
- Store test results in file & upload file to remote machine using curl
- Update speedtest status & the corresponding dmls'
Next
- Investigate on upload/download dml's to update data.pls refer design
FAQ's