frr
frr copied to clipboard
Zebra doesn't compile with new versions of DPDK - I have a patch but zebra still crashes
Description
I've working a little bit to fix Zebra compilation with --enable-dpdk option.
There are few changes in DPDK from moment when FRR implemented functions for DPDK.
Ex: dev_info->device->name now should be rte_dev_name(dev_info->device) or dev_info->driver_name now is rte_driver_name(rte_dev_driver(dev_info->device))
I can release a patch for DPDK 24.0. The old calls I found that are in DPDK 18.0.
But even if is compiling without issues is crashing in another function: zd_dpdk_port_show especially at line:
if (CHECK_FLAG(dport->flags, ZD_DPDK_PORT_FLAG_INITED))
My question is for this problem: does zebra have some any future for DPDK? Should I push this PR to fix compilation for newer versions of DPDK? Can we fix the other issues?
Version
FRRouting 10.1-dev (R05) on Linux(6.6.15-amd64).
How to reproduce
Compile frr with --enable-dpdk
Expected behavior
Compilation should work
Actual behavior
Compilation fails because the DPDK API changed.
Additional context
No response
Checklist
- [X] I have searched the open issues for this bug.
- [X] I have not included sensitive information in this report.
We would love for someone to take up the mantle of keeping this running. Please submit a patch and we'll get it in. As for the crash, if you can submit a patch too, or send us a pointer to the full crash decode and maybe we can help you fix it.
Hi @donaldsharp,
Than I will prepare my patch for compilation issue. Perhaps tomorrow I will push a PR. Than we can troubleshooting the error. I will explain some issues I'm suspecting.
We would love for someone to take up the mantle of keeping this running. Please submit a patch and we'll get it in. As for the crash, if you can submit a patch too, or send us a pointer to the full crash decode and maybe we can help you fix it.
Let me do a GDB backtrace. Is very strange that the system doesn't output a coredump . I set coredump in ulimits and in /etc/security/limits or /etc/security/limits.d/ and still doesn't give me the coredump.
In the past I was able to fix this issue.
I will do some tests now to see where is crashing.