Reply
Emerging Member
Posts: 42
Registered: ‎03-10-2015
Kudos: 13

Re: SFE on the ERL

The new one you just uploaded boots Man Happy

 

Linux 3.10.14-UBNT+ #13 SMP Sat Sep 30 20:43:12 CEST 2017 mips
Member
Posts: 230
Registered: ‎11-01-2015
Kudos: 97
Solutions: 5

Re: SFE on the ERL

@Arie

Right so gzip is not supported in this U-Boot variant. I've tried to do the same steps as the kernel script does, just with LZMA instead. If it doesn't work now, I don't know what to do.

Member
Posts: 230
Registered: ‎11-01-2015
Kudos: 97
Solutions: 5

Re: SFE on the ERL

@Arie

Seems like I got ninja'd Smiley Very Happy

 

Very nice to see that it boots now. I honestly have no clue why that last step I had to do is necessary, but if it works it works.


Does the rest of the system actually start properly (as you'd expect with the stock kernel)? I didn't notice, but because I put the kernel tree in a Git repo, the kernel script determing the version adds a "+" at the end of the version, which could make it reject the kernel modules.

Emerging Member
Posts: 42
Registered: ‎03-10-2015
Kudos: 13

Re: SFE on the ERL

It booted and started the services, but none of the ethX devices are present, just local loopback.

Member
Posts: 230
Registered: ‎11-01-2015
Kudos: 97
Solutions: 5

Re: SFE on the ERL

That's more or less what I expected. I have to get some sleep now, but I'll fix that, and hopefully get SFE support in there tomorrow.

Member
Posts: 230
Registered: ‎11-01-2015
Kudos: 97
Solutions: 5

Re: SFE on the ERL

@Arie

I've uploaded a SFE-enabled kernel here. Extract the modules like shown in the OP and boot the kernel after that as usual.

Member
Posts: 230
Registered: ‎11-01-2015
Kudos: 97
Solutions: 5

Re: SFE on the ERL

@ely105

Binaries for the ER-8/ER-Pro are now available here: https://dl.lochnair.net/UBNT/E200-SFE/.

Emerging Member
Posts: 66
Registered: ‎04-15-2017
Kudos: 14

Re: SFE on the ERL

Nice work,  I think those who try this will like it.  Mine has been running for almost a month now without issues.

 

@Lochnair  are there any differences between the new kernel and SFE module for the ERL and the older one I've been running?

Member
Posts: 230
Registered: ‎11-01-2015
Kudos: 97
Solutions: 5

Re: SFE on the ERL

@JoeyJoe

All the new builds are based on the 1.9.7+hotfix.3 kernel tree. In the first ERL build I had to use the 1.9.1.1 source, because there were no (working) GPL archive available for 1.9.7.

Emerging Member
Posts: 42
Registered: ‎03-10-2015
Kudos: 13

Re: Qualcomm Fast Path (SFE) for the EdgeRouters

Getting the following kernel panic during the boot of the uImage

CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == c016c184, ra == 802b72c0
Oops[#1]:
CPU: 0 PID: 120 Comm: modprobe Tainted: P           O 3.10.14-UBNT #19
task: 8f4c7b28 ti: 8f53c000 task.ti: 8f53c000
$ 0   : 00000000 00000065 00000002 00000000
$ 4   : 80485b40 00000001 00000000 ffffffff
$ 8   : 00000000 80219ab0 20636972 000000aa
$12   : 76207265 00000006 00000000 69737265
$16   : c0171d80 8f4ed700 80485b40 8fcd6b0c
$20   : 0000000c c0171e10 80480000 00000000
$24   : 00000000 00002d88                  
$28   : 8f53c000 8f53dcf0 8f53b780 802b72c0
Hi    : 00000000
Lo    : 00000000
epc   : c016c184 ppp_init_net+0x20/0xac [ppp_generic]
    Tainted: P           O
ra    : 802b72c0 ops_init+0xe0/0x160
Status: 1100fc03        KERNEL EXL IE 
Cause : 00800008
BadVA : 00000000
PrId  : 0001992f (MIPS 1004Kc)
Modules linked in: ppp_generic(+) slhc tun ubnt_platform(PO)
Process modprobe (pid: 120, threadinfo=8f53c000, task=8f4c7b28, tls=77e7d490)
Stack : 804e3330 c0171d80 c0171d80 80485b40 c0171d80 802b72c0 00000000 8002a608
          00000000 804e3330 c0171d80 80485b40 c0171d80 80486500 fffffff5 80486524
          c0171e10 802b7574 ffffffff ffffffff 4c0a0008 00000020 8f53dd48 8f53dd48
          803802f8 c0170000 80480000 80480000 c0171d80 c0170000 80480000 802b76d0
          00000000 00000000 00000001 00000000 c01719c8 8f53dd9c 804c0000 c0174000
          ...
Call Trace:
[<c016c184>] ppp_init_net+0x20/0xac [ppp_generic]
[<802b72c0>] ops_init+0xe0/0x160
[<802b7574>] register_pernet_operations+0x118/0x1ec
[<802b76d0>] register_pernet_device+0x34/0x9c
[<c0174040>] ppp_init+0x40/0x15c [ppp_generic]
[<80001540>] do_one_initcall+0x140/0x1b0


Code: 24050001  10400003  8c830708 <8c650000> 00a2282b  00050336  24420001  00021080  00621821 
---[ end trace 3bcc5d8528140388 ]---
Fatal exception: panic in 5 seconds
Kernel panic - not syncing: Fatal exception
Rebooting in 60 seconds..
Member
Posts: 230
Registered: ‎11-01-2015
Kudos: 97
Solutions: 5

Re: Qualcomm Fast Path (SFE) for the EdgeRouters

That's... peculiar. Do you actually have a PPP interface configured?

Member
Posts: 230
Registered: ‎11-01-2015
Kudos: 97
Solutions: 5

Re: Qualcomm Fast Path (SFE) for the EdgeRouters

@Arie

Could you test this uImage without SFE support? My gut tells me that it's something wrong with the changes I made to make the kernel compile at all.

Emerging Member
Posts: 42
Registered: ‎03-10-2015
Kudos: 13

Re: Qualcomm Fast Path (SFE) for the EdgeRouters

[ Edited ]

That one boots succesfully, including all interfaces and the web UI. I don't use PPP.

Member
Posts: 230
Registered: ‎11-01-2015
Kudos: 97
Solutions: 5

Re: Qualcomm Fast Path (SFE) for the EdgeRouters

Mind running that one for a while? Would be nice to know that it doesn't panic after running awhile.

 

Reverted my ERL to EdgeOS to test this and mine panicked too. Just after loading fast-classifier in my case though.

 

CPU 0 Unable to handle kernel paging request at virtual address 0000000000000188, epc == ffffffffc0aee9d0, ra == ffffffffc0a679d4
Oops[#1]:
CPU: 0 PID: 0 Comm: swapper/0 Tainted: P           O 3.10.20-UBNT #1
task: ffffffffc0617ee0 ti: ffffffffc05f4000 task.ti: ffffffffc05f4000
$ 0   : 0000000000000000 0000000050108ce1 ffffffffc0aee9d0 ffffffffc0adc000
$ 4   : 0000000000000001 ffffffffc05f7830 0000000000000188 0000000000000188
$ 8   : 0000000000000001 0000000000000000 0000000000000001 0000000000000001
$12   : 000000000000ffff 0000000000000001 0000000000000001 ffffffffc06aa5cc
$16   : 8000000416b60ea0 800000041c144898 0000000000000001 0000000000000000
$20   : 800000041cb03000 0000000000000001 0000000000000004 ffffffffc0614b98
$24   : 800000041d8563e8 800000041d86c2c8                                  
$28   : ffffffffc05f4000 ffffffffc05f7830 ffffffffc0b0e280 ffffffffc0a679d4
Hi    : 0000000000000000
Lo    : a86a6a1cfa000000
epc   : ffffffffc0aee9d0 fast_classifier_conntrack_event+0x0/0x3a0 [fast_classifier]
    Tainted: P           O
ra    : ffffffffc0a679d4 nf_ct_deliver_cached_events+0xe4/0x138 [nf_conntrack]
Status: 50108ce3	KX SX UX KERNEL EXL IE 
Cause : 00800008
BadVA : 0000000000000188
PrId  : 000d0601 (Cavium Octeon+)
Modules linked in: iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat fast_classifier shortcut_fe_ipv6 shortcut_fe bridge stp nf_conntrack llc ip_set_hash_net iptable_filter ip_set ip_tables nfnetlink x_tables cvm_ipsec_kame(O) ipv6 imq cavium_ip_offload(PO) ubnt_nf_app(PO) tdts(PO) octeon_rng rng_core octeon_ethernet mdio_octeon of_mdio ethernet_mem octeon_common ubnt_platform(PO) libphy
Process swapper/0 (pid: 0, threadinfo=ffffffffc05f4000, task=ffffffffc0617ee0, tls=0000000000000000)
Stack : 8000000416b60ea0 0000000000000000 800000041da20c80 ffffffffc0464710
	  0000000000000000 8000000416b60ea0 800000041da20c80 ffffffffc0464710
	  0000000000000000 ffffffffc0b10678 0000000000000001 0000000000000001
	  800000041da20c80 ffffffffc045bf44 000000000a010106 0a01ffff1cb03000
	  ffffffff80000000 ffffffffc06133d0 0000000000000002 800000041caad154
	  800000041da20c80 800000041cb03000 ffffffffc0613e98 ffffffffc0613ec0
	  0000000000000800 0000000000000000 ffffffffc0613eb0 ffffffffc0610000
	  0000000000000001 ffffffffc04654dc 800000041da20c80 ffffffffc041b53c
	  800000041da20c80 0000000000000000 ffffffffc0610000 0000000000000000
	  800000041da20c80 0000000000000002 0000000000000000 0000000000000001
	  ...
Call Trace:
[<ffffffffc0aee9d0>] fast_classifier_conntrack_event+0x0/0x3a0 [fast_classifier]
[<ffffffffc0a679d4>] nf_ct_deliver_cached_events+0xe4/0x138 [nf_conntrack]
[<ffffffffc0b10678>] ipv4_confirm+0x80/0x168 [nf_conntrack_ipv4]
[<ffffffffc045bf44>] nf_hook_slow+0xb4/0x1d8
[<ffffffffc04654dc>] ip_local_deliver+0x6c/0xb0
[<ffffffffc041b53c>] __netif_receive_skb_core+0x4ac/0x958
[<ffffffffc0422024>] netif_receive_skb+0x4c/0x458
[<ffffffffc0886690>] cvm_oct_napi_poll_38+0x8a0/0xf10 [octeon_ethernet]
[<ffffffffc04231c0>] net_rx_action+0x160/0x458
[<ffffffffc00980fc>] __do_softirq+0x244/0x2f8
[<ffffffffc0098768>] irq_exit+0xe8/0xf0
[<ffffffffc0007574>] plat_irq_dispatch+0x3c/0xc8
[<ffffffffc00654ac>] ret_from_irq+0x0/0x4
[<ffffffffc00656e0>] __r4k_wait+0x20/0x40
[<ffffffffc00e74b0>] cpu_startup_entry+0xd0/0x160
[<ffffffffc06608cc>] 0xffffffffc06608cc


Code: 00000000  1000ffec  dfbf0028 <dcc20000> 104000ba  00000000  67bdff40  ffbf00b8  ffb300b0 
---[ end trace f7c74460c411cfee ]---
[sched_delayed] sched: RT throttling activated
Kernel panic - not syncing: Fatal exception in interrupt
Emerging Member
Posts: 42
Registered: ‎03-10-2015
Kudos: 13

Re: Qualcomm Fast Path (SFE) for the EdgeRouters

So far so good, I'll leave it on overnight

Emerging Member
Posts: 81
Registered: ‎05-21-2015
Kudos: 19
Solutions: 1

Re: SFE on the ERL

@Lochnair . Thanks!

 

Did you have a chance to re-upload the tc-adv files for the cake directories?

Member
Posts: 230
Registered: ‎11-01-2015
Kudos: 97
Solutions: 5

Re: SFE on the ERL

@ely105

No I hadn't gotten around to that yet. I've uploaded them again now though.

Emerging Member
Posts: 42
Registered: ‎03-10-2015
Kudos: 13

Re: Qualcomm Fast Path (SFE) for the EdgeRouters

As a baseline, I ran some flent benchmarks to check the maximum attainable performance for cake on the ER-X with the stock firmware without SFE. 


It seems that the ER-X cpu runs out of steam when I try to shape more than about 180Mbit per interface+direction. The attached image shows a flent RRUL plot for a configured 250Mbit down and 40Mbit up. It tops out at 180Mbit down and 40Mbit up. Still a good result for this cheap little router, much better than the 60-70Mbit I remember from my ER-Lite.

er-x-cake-250-40-2017-10-02.png
Member
Posts: 230
Registered: ‎11-01-2015
Kudos: 97
Solutions: 5

Re: Qualcomm Fast Path (SFE) for the EdgeRouters

The ER-X is surprisingly powerful. In my tests I've set the same bandwidth in both directions to test max full-duplex speed. This seems to be more CPU-intensive than doing an asymmetrical test, so I do all my tests this way.
Member
Posts: 230
Registered: ‎11-01-2015
Kudos: 97
Solutions: 5

Re: SFE on the ERL

@ely105

Have you had a change to test the SFE image for the ER-Pro yet? Curious as to how they're working out for you.

Reply