Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for DPDK 24.11 #92

Merged
merged 1 commit into from
Mar 1, 2025
Merged

Conversation

skye-tan
Copy link
Contributor

@skye-tan skye-tan commented Jan 23, 2025

This PR adds support for DPDK 24.11 while preserving the support for previous DPDK versions.

Changes included in this PR:

  • Support for DPDK 24.11 was added.
  • CI workflows have been updated to include checks for DPDK 24.11.
  • CI workflows have been updated to cache DPDK build.

core/build.rs Outdated
@@ -66,7 +69,7 @@ fn main() {
.stdout;

if ldflags_bytes.is_empty() {
println!("Could not get DPDK's LDFLAGS. Are DPDK_PATH, LD_LIBRARY_PATH set correctly?");
println!("Could not get DPDK's LDFLAGS. Is LD_LIBRARY_PATH set correctly?");
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why this change?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Reverted.

uses: actions/checkout@v3

Copy link
Collaborator

Choose a reason for hiding this comment

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

not a big deal, but it is nice to have conceptually separate changes in separate PRs (formatting or toolchain changes like this vs. the DPDK update)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'll create another PR for these changes then.

@thearossman
Copy link
Collaborator

Thanks for submitting! Can you name in the PR description how y'all have tested this so far?

@@ -89,7 +89,7 @@ impl fmt::Debug for Mempool {

/// Rounds `n` up to the nearest multiple of `s`
fn round_up(n: u32, s: u32) -> u32 {
((n + s - 1) / s) * s
(n.div_ceil(s)) * s
Copy link
Collaborator

@thearossman thearossman Jan 29, 2025

Choose a reason for hiding this comment

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

can you revert this and submit in a separate PR? unless there is some reason why it's tightly coupled to the DPDK change that I am missing

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Reverted this as well.

@@ -24,7 +24,7 @@ pub struct Ipv6<'a> {
mbuf: &'a Mbuf,
}

impl<'a> Ipv6<'a> {
impl Ipv6<'_> {
Copy link
Collaborator

@thearossman thearossman Jan 29, 2025

Choose a reason for hiding this comment

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

similarly - the lifetime syntax changes would ideally be reverted and submitted in a separate PR

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Reverted.

@@ -33,6 +33,132 @@ impl rte_ipv4_hdr {
}
}

#[cfg(not(dpdk_ge_2411))]
Copy link
Collaborator

Choose a reason for hiding this comment

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

@tbarbette @thegwan these refactors to account for the interface changes LGTM, but checking if either of you have any concerns from working on the original DPDK layer?

@skye-tan skye-tan force-pushed the main branch 2 times, most recently from 6bc2214 to 9c9e04c Compare January 30, 2025 15:10
@skye-tan
Copy link
Contributor Author

Hi
I've addressed the feedback and made the requested changes. Let me know if there's anything else you'd like me to adjust.
@thearossman

@thearossman
Copy link
Collaborator

I haven't gone through all of the code here in detail, but it makes sense for us to have. It compiles and appears to run fine on my end! If you/others are using this version and notice any errors, please submit additional PRs or issues. :)

@thearossman thearossman merged commit d649d54 into stanford-esrg:main Mar 1, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants