frr icon indicating copy to clipboard operation
frr copied to clipboard

Zebra doesn't compile with new versions of DPDK - I have a patch but zebra still crashes

Open EasyNetDev opened this issue 1 year ago • 4 comments

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.

EasyNetDev avatar May 02 '24 15:05 EasyNetDev

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.

donaldsharp avatar May 04 '24 13:05 donaldsharp

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.

EasyNetDev avatar May 05 '24 10:05 EasyNetDev

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.

EasyNetDev avatar May 13 '24 14:05 EasyNetDev

I will do some tests now to see where is crashing.

EasyNetDev avatar May 17 '24 14:05 EasyNetDev