Skip to content

Conversation

@Dimi1010
Copy link
Collaborator

This PR rewrites some functions that were using manual lifetime tracking with std::unique_ptr.

@Dimi1010 Dimi1010 marked this pull request as ready for review July 26, 2025 17:13
@Dimi1010 Dimi1010 requested a review from seladb as a code owner July 26, 2025 17:13
@seladb
Copy link
Owner

seladb commented Jul 27, 2025

@Dimi1010 did you have a chance to run the DPDK test locally?
Unfortunately, the CI doesn't run them because setting up DPDK in CI is not easy, so we need to run them locally...

@Dimi1010
Copy link
Collaborator Author

@Dimi1010 did you have a chance to run the DPDK test locally? Unfortunately, the CI doesn't run them because setting up DPDK in CI is not easy, so we need to run them locally...

Unfortunately, no. :/ I mostly have it setup to validate it can build, but unsure how, or even if it can be setup to run on WSL, and I don't have a bare-metal Unix OS currently.

@seladb
Copy link
Owner

seladb commented Jul 27, 2025

@Dimi1010 did you have a chance to run the DPDK test locally? Unfortunately, the CI doesn't run them because setting up DPDK in CI is not easy, so we need to run them locally...

Unfortunately, no. :/ I mostly have it setup to validate it can build, but unsure how, or even if it can be setup to run on WSL, and I don't have a bare-metal Unix OS currently.

I don't think DPDK can run in WSL 😕
I also don't have a bare-metal Linux device, but I have Ubuntu running inside a VirtualBox VM, and DPDK can be easily set up there. Do you think you can set one up? If not, I can test it on my VM...

@Dimi1010
Copy link
Collaborator Author

@Dimi1010 did you have a chance to run the DPDK test locally? Unfortunately, the CI doesn't run them because setting up DPDK in CI is not easy, so we need to run them locally...

Unfortunately, no. :/ I mostly have it setup to validate it can build, but unsure how, or even if it can be setup to run on WSL, and I don't have a bare-metal Unix OS currently.

I don't think DPDK can run in WSL 😕 I also don't have a bare-metal Linux device, but I have Ubuntu running inside a VirtualBox VM, and DPDK can be easily set up there. Do you think you can set one up? If not, I can test it on my VM...

Sure, I can try to set one up, if you know it can run there. :)

@seladb
Copy link
Owner

seladb commented Jul 27, 2025

Sure, I can try to set one up, if you know it can run there. :)

You can follow the instructions here: https://pcapplusplus.github.io/docs/dpdk
It's a good opportunity to see if these instructions are accurate, up to date, and clear 🙂

@seladb
Copy link
Owner

seladb commented Jul 27, 2025

BTW, maybe at some point we need to figure out how to run DPDK tests in CI, but I gave some thought to it and it won't be easy...

@Dimi1010
Copy link
Collaborator Author

Sure, I can try to set one up, if you know it can run there. :)

You can follow the instructions here: https://pcapplusplus.github.io/docs/dpdk It's a good opportunity to see if these instructions are accurate, up to date, and clear 🙂

the docs still say we test against ubuntu 20.04 and 22.04 when the CI runs on 22.04 and 24.04

@seladb
Copy link
Owner

seladb commented Jul 28, 2025

Sure, I can try to set one up, if you know it can run there. :)

You can follow the instructions here: https://pcapplusplus.github.io/docs/dpdk It's a good opportunity to see if these instructions are accurate, up to date, and clear 🙂

the docs still say we test against ubuntu 20.04 and 22.04 when the CI runs on 22.04 and 24.04

Thanks! I will fix it. Please let me know if you find more issues with the documentation

@Dimi1010
Copy link
Collaborator Author

Dimi1010 commented Aug 1, 2025

This link https://doc.dpdk.org/guides/prog_guide/kernel_nic_interface.html in the docstring of setup_dpdk.py appears to be broken.

@seladb
Copy link
Owner

seladb commented Aug 4, 2025

@Dimi1010 I fixed the 2 issues mentioned above ☝️

@codecov
Copy link

codecov bot commented Dec 10, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.46%. Comparing base (4ff654a) to head (bb07f68).

Additional details and impacted files
@@            Coverage Diff             @@
##              dev    #1901      +/-   ##
==========================================
- Coverage   83.46%   83.46%   -0.01%     
==========================================
  Files         312      312              
  Lines       54621    54613       -8     
  Branches    11483    11550      +67     
==========================================
- Hits        45590    45583       -7     
- Misses       7792     8181     +389     
+ Partials     1239      849     -390     
Flag Coverage Δ
alpine320 75.90% <ø> (-0.01%) ⬇️
fedora42 75.43% <ø> (-0.03%) ⬇️
macos-14 81.57% <ø> (ø)
macos-15 81.55% <ø> (ø)
mingw32 69.94% <ø> (ø)
mingw64 69.92% <ø> (+0.11%) ⬆️
npcap ?
rhel94 75.46% <ø> (ø)
ubuntu2004 59.46% <ø> (ø)
ubuntu2004-zstd 59.59% <ø> (+<0.01%) ⬆️
ubuntu2204 75.41% <ø> (ø)
ubuntu2204-icpx 57.84% <ø> (-0.03%) ⬇️
ubuntu2404 75.49% <ø> (-0.03%) ⬇️
ubuntu2404-arm64 75.57% <ø> (-0.01%) ⬇️
unittest 83.46% <ø> (-0.01%) ⬇️
windows-2022 85.43% <ø> (+0.16%) ⬆️
windows-2025 85.46% <ø> (+0.11%) ⬆️
winpcap 85.46% <ø> (-0.09%) ⬇️
xdp 52.98% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Collaborator

@tigercosmos tigercosmos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants