Skip to content

Conversation

Koichi98
Copy link
Contributor

@Koichi98 Koichi98 commented Jan 2, 2025

Description

This PR is one of a series of PRs that consolidates previous network improvement work. In this PR specifically, it eliminates copying when passing from the network driver to if_net.
While there are currently three implemented network device drivers - Ixgbe, Igb, and Genet - this PR does not include support for Genet. This will be tracked as an issue #256. This limitation is also documented in the source code comments.

Related links

Issue #269

How was this PR tested?

Notes for reviewers

Koichi98 and others added 9 commits January 2, 2025 15:50
Signed-off-by: koichiimai <[email protected]>
Signed-off-by: koichiimai <[email protected]>
Signed-off-by: koichiimai <[email protected]>
Signed-off-by: koichiimai <[email protected]>
Signed-off-by: koichiimai <[email protected]>
Signed-off-by: Koichi Imai <[email protected]>
Signed-off-by: koichiimai <[email protected]>
Signed-off-by: koichiimai <[email protected]>
Signed-off-by: Koichi Imai <[email protected]>
@Koichi98 Koichi98 marked this pull request as ready for review January 11, 2025 13:47
let read_buf: DMAPool<[u8; PAGESIZE]> =
DMAPool::new(numa_id, 1).ok_or(IgbDriverErr::DMAPool)?;
let buf_phy_addr = read_buf.get_phy_addr().as_usize();
desc.buf = buf_phy_addr as u64;
Copy link
Collaborator

Choose a reason for hiding this comment

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

RX descriptors should be reinitialized in rx_fill(), which is a function for setting up RX descriptors.

let read_buf: DMAPool<[u8; PAGESIZE]> =
DMAPool::new(numa_id, 1).ok_or(IxgbeDriverErr::DMAPool)?;
let buf_phy_addr = read_buf.get_phy_addr().as_usize();
desc.read.pkt_addr = buf_phy_addr as u64;
Copy link
Collaborator

Choose a reason for hiding this comment

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

Reinitialize RX descriptors in rx_fill().

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants