I've been trying to set up 10 network interfaces for the 10 ports on the LS1088ARDB. The first 9 dpni get instantiated but when i try to create a 10th dpni object, i get the error that there no resources left.
I ran the following experiment to determine which resource is the limiting factor. I deleted all the existing network interfaces and created each interface with 2 dpcon objects. Each interface could create sufficient dpbp, dpcmp and dpcon objects, however the last interface could not create a 10th dpni object.
I tried instantiating all the dpni's in my dpl file however i'm getting a similar issue i outlined above. I have attached a my dpl file and system log.
Also, I see there is documentation on how many dpcon objects are supported, but I can't find any resources on the limits of other object types.
Solved! Go to Solution.
In order to create more, the DPNIs must be created with fewer entries in WRIOP tables, e.g. fs_entries=1 or use DPNI option DPNI_OPT_NO_FS.
restool dpni create --fs-entries=1
You can add the number of flow steering entries directly to the DPL..
Below is an example:
dpni@1 {
options = "DPNI_OPT_NO_FS";
fs_entries = <0x1>;
};
Thank you,
Now when i try to list my network interfaces or my mac addresses i get this error.
root@OpenWrt:/# ls-listni
[ 225.909216] ------------[ cut here ]------------
[ 225.913837] WARNING: CPU: 3 PID: 2938 at drivers/base/core.c:112 0xffff00000857bebc
[ 225.921486] Modules linked in: pppoe ppp_async pppox ppp_generic nf_conntrack_ipv6 iptable_nat ipt_REJECT ipt_MASQUERADE xt_time xt_tcpudp xt_state xt_nat xt_multiport xt_mark xt_mac xt_limit xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT xt_LOG xt_FLOWOFFLOAD xt_CT slhc nf_reject_ipv4 nf_nat_redirect nf_nat_masquerade_ipv4 nf_conntrack_ipv4 nf_nat_ipv4 nf_nat nf_log_ipv4 nf_flow_table_hw nf_flow_table nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack_rtcache nf_conntrack iptable_mangle iptable_filter ip_tables crc_ccitt nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 usb_storage xhci_plat_hcd xhci_pci xhci_hcd dwc3 usbcore usb_common
[ 225.982027] CPU: 3 PID: 2938 Comm: restool Not tainted 4.14.171 #0
[ 225.988200] Hardware name: LS1088A RDB Board (DT)
[ 225.992896] task: ffff80815526e200 task.stack: ffff00000d230000
[ 225.998809] pc : [<ffff00000857bebc>] lr : [<ffff00000857ba9c>] pstate: 60400145
[ 226.006197] sp : ffff00000d233a10
[ 226.009503] x29: ffff00000d233a10 x28: 0000000000000000
[ 226.014809] x27: 0000000000000000 x26: 00000000000041ed
[ 226.020115] x25: 0000000000000006 x24: ffff000008b97000
[ 226.025421] x23: 0000000000000002 x22: ffff808157681800
[ 226.030729] x21: ffff00000857bea8 x20: ffff8081568f8800
[ 226.036034] x19: 0000000000000000 x18: 0000000000000000
[ 226.041340] x17: 0000ffffa40fa580 x16: ffff00000819b390
[ 226.046647] x15: 0000000000000004 x14: 071c71c71c71c71c
[ 226.051953] x13: 000000000000019d x12: 0000000000000115
[ 226.057258] x11: 0000000000000000 x10: 0000000000000810
[ 226.062565] x9 : ffff00000d2338a0 x8 : ffff80815526ea70
[ 226.067871] x7 : 0000000000000000 x6 : 0000000031215155
[ 226.073178] x5 : 0000000000000001 x4 : 0000000000000000
[ 226.078485] x3 : ffff8081568f8800 x2 : 00000000000071b5
[ 226.083791] x1 : ffff8081568f8800 x0 : ffff8081568f8800
[ 226.089097] Call trace:
[ 226.091536] Exception stack(0xffff00000d2338d0 to 0xffff00000d233a10)
[ 226.097971] 38c0: ffff8081568f8800 ffff8081568f8800
[ 226.105796] 38e0: 00000000000071b5 ffff8081568f8800 0000000000000000 0000000000000001
[ 226.113622] 3900: 0000000031215155 0000000000000000 ffff80815526ea70 ffff00000d2338a0
[ 226.121446] 3920: 0000000000000810 0000000000000000 0000000000000115 000000000000019d
[ 226.129271] 3940: 071c71c71c71c71c 0000000000000004 ffff00000819b390 0000ffffa40fa580
[ 226.137096] 3960: 0000000000000000 0000000000000000 ffff8081568f8800 ffff00000857bea8
[ 226.144921] 3980: ffff808157681800 0000000000000002 ffff000008b97000 0000000000000006
[ 226.152745] 39a0: 00000000000041ed 0000000000000000 0000000000000000 ffff00000d233a10
[ 226.160570] 39c0: ffff00000857ba9c ffff00000d233a10 ffff00000857bebc 0000000060400145
[ 226.168395] 39e0: ffff00000d233a10 ffff00000857befc 0000ffffffffffff ffff00000890b06c
[ 226.176219] 3a00: ffff00000d233a10 ffff00000857bebc
[ 226.181089] [<ffff00000857bebc>] 0xffff00000857bebc
[ 226.185959] [<ffff00000857ba9c>] 0xffff00000857ba9c
[ 226.190829] [<ffff00000857bf48>] 0xffff00000857bf48
[ 226.195699] [<ffff00000857d91c>] 0xffff00000857d91c
[ 226.200569] [<ffff0000084a5a08>] 0xffff0000084a5a08
[ 226.205439] [<ffff0000084a8624>] 0xffff0000084a8624
[ 226.210309] [<ffff0000081a1714>] 0xffff0000081a1714
[ 226.215179] [<ffff000008199aec>] 0xffff000008199aec
[ 226.220049] [<ffff00000819aea4>] 0xffff00000819aea4
[ 226.224919] [<ffff0000081ac574>] 0xffff0000081ac574
[ 226.229789] [<ffff0000081adba0>] 0xffff0000081adba0
[ 226.234660] [<ffff00000819b2b0>] 0xffff00000819b2b0
[ 226.239530] [<ffff00000819b3a0>] 0xffff00000819b3a0
[ 226.244400] Exception stack(0xffff00000d233ec0 to 0xffff00000d234000)
[ 226.250835] 3ec0: ffffffffffffff9c 000000000046c748 0000000000121002 0000000000000000
[ 226.258659] 3ee0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 226.266484] 3f00: 0000000000000038 000000000000000a 000000000000002d 00000000ffffffff
[ 226.274310] 3f20: 000000006474e552 000000006474e551 0000000000800000 0000000000000004
[ 226.282136] 3f40: 0000000000468fd0 0000ffffa40fa580 0000000000000000 0000000000000038
[ 226.289960] 3f60: 0000ffffa4164b80 0000fffff7053d88 00000000004432a4 00000000000000f8
[ 226.297786] 3f80: 0000ffffa4164000 0000ffffa4164cb0 0000fffff7053d88 0000ffffa4164000
[ 226.305611] 3fa0: 0000ffffa4164000 0000fffff7053c50 0000ffffa4131364 0000fffff7053c50
[ 226.313436] 3fc0: 0000ffffa413084c 0000000040001000 ffffffffffffff9c 0000000000000038
[ 226.321260] 3fe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 226.329083] [<ffff000008083a00>] 0xffff000008083a00
[ 226.333953] ---[ end trace f76003a8eed85472 ]---
[ 226.339137] Could not allocate MC portal
open() failed : Invalid argument
dprc.1/dpni.9 (interface: eth0, end point: dpmac.6)
dprc.1/dpni.8 (interface: eth1, end point: dpmac.5)
dprc.1/dpni.7 (interface: eth2, end point: dpmac.4)
dprc.1/dpni.6 (interface: eth3, end point: dpmac.3)
dprc.1/dpni.5 (interface: eth4, end point: dpmac.10)
dprc.1/dpni.4 (interface: eth5, end point: dpmac.9)
dprc.1/dpni.3 (interface: eth6, end point: dpmac.8)
dprc.1/dpni.2 (interface: eth7, end point: dpmac.7)
dprc.1/dpni.1 (interface: eth8, end point: dpmac.1)
dprc.1/dpni.0 (interface: eth9, end point: dpmac.2)
In order to create more, the DPNIs must be created with fewer entries in WRIOP tables, e.g. fs_entries=1 or use DPNI option DPNI_OPT_NO_FS.
restool dpni create --fs-entries=1
You can add the number of flow steering entries directly to the DPL..
Below is an example:
dpni@1 {
options = "DPNI_OPT_NO_FS";
fs_entries = <0x1>;
};