Qualcomm Fast Path For LEDE

Excellent work @gwlim!
Is fastpath patch planned on LEDE trunk?

Thanks

I like stable, less surprises and less work

1 Like

Added Engenius EPG5000

Yesterday afternoon I configured the basics (firewall, dhcp, ddns, etc. , nothing fancy) and this morning I noticed that I don't have wired lan acces, so it dropped the lan interface. All the leds were working fine. I reboored it then it's running fine since.
Have you seen anything like this? Did it ever happened on any Lede build?
I've experienced the same with Openwrt 15.05 (not 15.05.1).
Thanks

How do you know that the lan interface is dropped?

This is great. It have to be upstreamed and mainlined ASAP.

Thanks so much

What can I do to help it become official part of lede?

I have 3 lan devices (2 laptop and an avr) that are interacting with each other, in an automated way, eg every mornig.
I haven't checked the wifi, I was too sleepy :wink:
As I said, I only encoutered with this problam using 15.05 for a short time.
Router is Archer C5 v1.2

I didn't saw anyone asking so I'm gonna...
Since it's not a hardware acceleration implementation. Will SQM work with those patches?

1 Like

gwlim stated that it should. I haven't tried it out, cause I'm using vpn from the 2 lan diveces.
Wireguard seems exiting, if it will be widespreaded :slight_smile: Thanks for mentioning, gwlim!

Please note that in all likelyhood, SQM then will be the limiting factor... I would guess that the shapable bandwith might be a bit higher as the fast path should free some CPU, but you still will only be able to shape at gigabit speeds with beefy hardware. Now, I would be delighted if my assumption would be shown wrong...

Best Regards

I'm pretty sure that you're right, but the real question is: do you still need sqm with a 1Gig connection instead of just limiting the total ingress to, let's say, 900Mbits? :slight_smile: (and the same applies to the egress)

Ok

On WDR4300 OC to 730MHZ
Up Down limit on eth0.2 interface set to 800000kbit/s = 800Mbits
jperf cake layer_cake = 571 Mbits/sec

jperf fq_codel simple.qos = 663 Mbits/sec

Throughput definitely increased but not line rate.
I guess lower cpu utilization allows better SQM

So to answer the question:
No you will not get line rate with SQM even with fast-path but performance will be better than without fast-path
How much performance you get with SQM still depends on the CPU.

1 Like

I just compiled the lastest firmware with the patch for my TP-Link WDR3600 and i'm getting weird results.

For this test 172.23.10.0/24 and 10.0.0.0/24 are assigned the lan firewall rules on the main switch. The 10.0.0.0/24 network is connected to port 3 and comes from a dumb switch with the fast path enabled too.

[details=Summary]> -----------------------------------------------------------

Server listening on 5201

Accepted connection from 10.0.0.10, port 49759
[ 5] local 172.23.10.10 port 5201 connected to 10.0.0.10 port 49760
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-1.00 sec 102 MBytes 857 Mbits/sec
[ 5] 1.00-2.00 sec 73.7 MBytes 618 Mbits/sec
[ 5] 2.00-3.00 sec 56.5 MBytes 474 Mbits/sec
[ 5] 3.00-4.00 sec 61.8 MBytes 519 Mbits/sec
[ 5] 4.00-5.00 sec 69.2 MBytes 581 Mbits/sec
[ 5] 5.00-6.00 sec 67.2 MBytes 563 Mbits/sec
[ 5] 6.00-7.00 sec 55.2 MBytes 463 Mbits/sec
[ 5] 7.00-8.00 sec 66.0 MBytes 554 Mbits/sec
[ 5] 8.00-9.00 sec 88.2 MBytes 740 Mbits/sec
[ 5] 9.00-10.00 sec 103 MBytes 866 Mbits/sec
[ 5] 10.00-10.06 sec 6.24 MBytes 918 Mbits/sec


[ ID] Interval Transfer Bandwidth
[ 5] 0.00-10.06 sec 750 MBytes 625 Mbits/sec sender
[ 5] 0.00-10.06 sec 749 MBytes 625 Mbits/sec receiver[/details]

Same test from the other side.

[details=Summary]> -----------------------------------------------------------

Server listening on 5201

Accepted connection from 172.23.10.10, port 32888
[ 5] local 10.0.0.10 port 5201 connected to 172.23.10.10 port 32890
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-1.00 sec 102 MBytes 858 Mbits/sec
[ 5] 1.00-2.00 sec 100 MBytes 839 Mbits/sec
[ 5] 2.00-3.00 sec 65.9 MBytes 553 Mbits/sec
[ 5] 3.00-4.00 sec 108 MBytes 904 Mbits/sec
[ 5] 4.00-5.00 sec 108 MBytes 910 Mbits/sec
[ 5] 5.00-6.00 sec 102 MBytes 856 Mbits/sec
[ 5] 6.00-7.00 sec 96.4 MBytes 806 Mbits/sec
[ 5] 7.00-8.00 sec 66.0 MBytes 555 Mbits/sec
[ 5] 8.00-9.00 sec 108 MBytes 906 Mbits/sec
[ 5] 9.00-10.00 sec 106 MBytes 891 Mbits/sec
[ 5] 10.00-10.04 sec 3.85 MBytes 918 Mbits/sec


[ ID] Interval Transfer Bandwidth
[ 5] 0.00-10.04 sec 0.00 Bytes 0.00 bits/sec sender
[ 5] 0.00-10.04 sec 967 MBytes 808 Mbits/sec receiver[/details]

Changing the firewall rules to wan on 172.23.10.0/24 (no masquerading) gives the following results:

[details=Summary]> [ 4] local 10.0.0.10 port 49772 connected to 172.23.10.10 port 5201

[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 85.4 MBytes 715 Mbits/sec
[ 4] 1.00-2.00 sec 76.6 MBytes 644 Mbits/sec
[ 4] 2.00-3.00 sec 60.9 MBytes 510 Mbits/sec
[ 4] 3.00-4.00 sec 63.6 MBytes 533 Mbits/sec
[ 4] 4.00-5.00 sec 63.6 MBytes 534 Mbits/sec
[ 4] 5.00-6.00 sec 57.8 MBytes 485 Mbits/sec
[ 4] 6.00-7.00 sec 57.2 MBytes 480 Mbits/sec
[ 4] 7.00-8.00 sec 63.4 MBytes 532 Mbits/sec
[ 4] 8.00-9.00 sec 58.1 MBytes 488 Mbits/sec
[ 4] 9.00-10.00 sec 58.0 MBytes 487 Mbits/sec


[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 645 MBytes 541 Mbits/sec sender
[ 4] 0.00-10.00 sec 644 MBytes 541 Mbits/sec receiver[/details]

Firewall rules to wan on 172.23.10.0/24 (masquerading)

[details=Summary]> [ 4] local 10.0.0.10 port 49774 connected to 172.23.10.10 port 5201

[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 107 MBytes 897 Mbits/sec
[ 4] 1.00-2.00 sec 82.2 MBytes 690 Mbits/sec
[ 4] 2.00-3.00 sec 81.0 MBytes 680 Mbits/sec
[ 4] 3.00-4.00 sec 65.2 MBytes 547 Mbits/sec
[ 4] 4.00-5.00 sec 67.0 MBytes 562 Mbits/sec
[ 4] 5.00-6.00 sec 63.4 MBytes 532 Mbits/sec
[ 4] 6.00-7.00 sec 61.8 MBytes 518 Mbits/sec
[ 4] 7.00-8.00 sec 63.9 MBytes 536 Mbits/sec
[ 4] 8.00-9.00 sec 65.0 MBytes 545 Mbits/sec
[ 4] 9.00-10.00 sec 59.4 MBytes 498 Mbits/sec


[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 716 MBytes 600 Mbits/sec sender
[ 4] 0.00-10.00 sec 716 MBytes 600 Mbits/sec receiver[/details]

Firewall rules to wan on 172.23.10.0/24 (masquerading + mss clamp)

[details=Summary]> [ 4] local 10.0.0.10 port 49774 connected to 172.23.10.10 port 5201

[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 107 MBytes 897 Mbits/sec
[ 4] 1.00-2.00 sec 82.2 MBytes 690 Mbits/sec
[ 4] 2.00-3.00 sec 81.0 MBytes 680 Mbits/sec
[ 4] 3.00-4.00 sec 65.2 MBytes 547 Mbits/sec
[ 4] 4.00-5.00 sec 67.0 MBytes 562 Mbits/sec
[ 4] 5.00-6.00 sec 63.4 MBytes 532 Mbits/sec
[ 4] 6.00-7.00 sec 61.8 MBytes 518 Mbits/sec
[ 4] 7.00-8.00 sec 63.9 MBytes 536 Mbits/sec
[ 4] 8.00-9.00 sec 65.0 MBytes 545 Mbits/sec
[ 4] 9.00-10.00 sec 59.4 MBytes 498 Mbits/sec


[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 716 MBytes 600 Mbits/sec sender
[ 4] 0.00-10.00 sec 716 MBytes 600 Mbits/sec receiver[/details]

Firewall rules to wan on 10.0.0.0/24 (masquerading)

[details=Summary]> Connecting to host 10.0.0.10, port 5201

[ 4] local 172.23.10.10 port 32896 connected to 10.0.0.10 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 102 MBytes 858 Mbits/sec 15 22.6 KBytes
[ 4] 1.00-2.00 sec 103 MBytes 867 Mbits/sec 6 216 KBytes
[ 4] 2.00-3.00 sec 110 MBytes 919 Mbits/sec 0 216 KBytes
[ 4] 3.00-4.00 sec 64.9 MBytes 544 Mbits/sec 13 168 KBytes
[ 4] 4.00-5.00 sec 97.6 MBytes 819 Mbits/sec 10 215 KBytes
[ 4] 5.00-6.00 sec 97.9 MBytes 822 Mbits/sec 11 221 KBytes
[ 4] 6.00-7.00 sec 106 MBytes 888 Mbits/sec 8 216 KBytes
[ 4] 7.00-8.00 sec 107 MBytes 893 Mbits/sec 1 223 KBytes
[ 4] 8.00-9.00 sec 65.6 MBytes 550 Mbits/sec 6 146 KBytes
[ 4] 9.00-10.00 sec 98.6 MBytes 827 Mbits/sec 11 214 KBytes


[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 952 MBytes 799 Mbits/sec 81 sender
[ 4] 0.00-10.00 sec 951 MBytes 798 Mbits/sec receiver[/details]

Firewall rules to wan on 10.0.0.0/24 (masquerading + mss clamp)

[details=Summary]> Connecting to host 10.0.0.10, port 5201

[ 4] local 172.23.10.10 port 32904 connected to 10.0.0.10 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 105 MBytes 879 Mbits/sec 5 212 KBytes
[ 4] 1.00-2.00 sec 107 MBytes 897 Mbits/sec 7 218 KBytes
[ 4] 2.00-3.00 sec 107 MBytes 893 Mbits/sec 7 218 KBytes
[ 4] 3.00-4.00 sec 109 MBytes 918 Mbits/sec 0 218 KBytes
[ 4] 4.00-5.00 sec 106 MBytes 888 Mbits/sec 6 212 KBytes
[ 4] 5.00-6.00 sec 104 MBytes 871 Mbits/sec 12 218 KBytes
[ 4] 6.00-7.00 sec 108 MBytes 904 Mbits/sec 1 215 KBytes
[ 4] 7.00-8.00 sec 108 MBytes 909 Mbits/sec 4 133 KBytes
[ 4] 8.00-9.00 sec 103 MBytes 862 Mbits/sec 8 216 KBytes
[ 4] 9.00-10.00 sec 108 MBytes 909 Mbits/sec 2 214 KBytes


[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 1.04 GBytes 893 Mbits/sec 52 sender
[ 4] 0.00-10.00 sec 1.04 GBytes 892 Mbits/sec receiver[/details]

Is this normal behaviour?

Hi,

gwlim Gwlim
July 11
Ok

On WDR4300 OC to 730MHZ
Up Down limit on eth0.2 interface set to 800000kbit/s = 800Mbits
jperf cake layer_cake = 571 Mbits/sec

jperf fq_codel simple.qos = 663 Mbits/sec

Throughput definitely increased but not line rate.
I guess lower cpu utilization allows better SQM

Great! I guess now it would be interesting to see flent rrul results for this to see whether latency under load, aka bufferbloat, stays bounded...

Best Regards

But how do you limit the interface? Either a policer or a shaper, like cake or HTB+fq_codel :wink:

I maxed out ingress and egress at 800Mbits
Since Fast-Path can do 900Mbit
cake+layer_cake = 571 Mbits/sec
fq_codel+simple.qos = 663 Mbits/sec
I am using GUI to test on jperf
On dslreport speedtest I can get A+ for google chrome but not for firefox.
I think the service is quite cranky and inconsistent.

Yes, you are right, sorry, I meant limiting applications themselves (eg a torrent client), although it won't solve the whole issue.

Out of curiosity, did you configure the test for 1G+? You probably did, but as a service for others' the dslreports allows pretty nice configurations after a free registration, worth looking at IMHO.

Best Regards

Ah, sorry for appearing like a smart ass, I had not thought about limiting at the application level...

Best Regards

:slight_smile: No worries, and you are right.
But if you "want" to use VPN from the lan devices (since the router isn't powerful enough for this) then SQM is thrown out of the window anyway. :wink: