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

dp_rte_flow refactoring #358

Merged
merged 1 commit into from
Aug 30, 2023
Merged

dp_rte_flow refactoring #358

merged 1 commit into from
Aug 30, 2023

Conversation

PlagueCZ
Copy link
Contributor

@PlagueCZ PlagueCZ commented Aug 18, 2023

I was looking for places where return value handling is still not refactored, so I entered the rte_flow subdir.

Most of the changes is just moving stuff around and creating wrappers. The overall architecture of each flow creation is till the same, i.e. all steps are still repeated for similar flows to be easier to read.

I tried to create small commits due to the fact that I cannot properly test on a cluster, but I do finally have two real machines connected. These commits should make it easier to review and (hopefully not needed) bisect on errors.

I would rather squash them at the end as the history does not really need that many I think.

I put this as a draft so we can discuss the changes first and also address a few leftover problems/misunderstandings by me.

Maybe just take a look first, test if this is totally broken and then we can sync using this draft PR as a visual guide.

@github-actions github-actions bot added enhancement New feature or request size/XXL labels Aug 18, 2023
@byteocean
Copy link
Contributor

@PlagueCZ The changes look good to me. As we communicated over the unused variable issue, you could cherry-pick removal of this variable at your convenience. LB test has some an issue, which however is not caused by this refactoring, which I will further investigate.

Copy link
Contributor Author

@PlagueCZ PlagueCZ left a comment

Choose a reason for hiding this comment

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

I cherry-picked your commit, thank you for clearing that up.

I also changed the variable declaration sections as discussed.

Please take a look at the three TODOs I mentioned in the code now, as I would like to clear them up before providing a final PR state.

src/rte_flow/dp_rte_flow_traffic_forward.c Outdated Show resolved Hide resolved
src/rte_flow/dp_rte_flow_traffic_forward.c Outdated Show resolved Hide resolved
src/rte_flow/dp_rte_flow_traffic_forward.c Outdated Show resolved Hide resolved
@PlagueCZ
Copy link
Contributor Author

@guvenc I created many commits to make the review/test easier, but should I squash them in the end (after some tests by Tao) as not to pollute the history?

@guvenc
Copy link
Collaborator

guvenc commented Aug 28, 2023

@PlagueCZ Yes, please squash them when the PR is mature to be merged and thanks for making the review easier with smaller commits.

@PlagueCZ
Copy link
Contributor Author

@byteocean I had to rebase onto fix/flow_table_flush for this because that PR created unified freeup function for flows which is something needed for unrolling the hairpin flow if the subsequent normal one fails.

@guvenc
Copy link
Collaborator

guvenc commented Aug 29, 2023

@PlagueCZ
I think this is now mature enough to become a PR ?
Or is it better to merge this one after #363 ? As I see that it is rebased on #363

@PlagueCZ
Copy link
Contributor Author

@guvenc yes, I had to rebase to make this work (and prevent future merge issues), so #363 needs to go first.

From my side this seems finished, but I can only test VM-VM offloading and a small subset of host-host offloading configurations.

@byteocean
Copy link
Contributor

@PlagueCZ I tested the code after rebasing, especially on NAT and LB scenarios. The tests I usually use can actually work.

@PlagueCZ PlagueCZ marked this pull request as ready for review August 30, 2023 14:22
@PlagueCZ PlagueCZ requested a review from guvenc August 30, 2023 14:22
@PlagueCZ
Copy link
Contributor Author

I've created an archive/dp_rte_flow_refactor as a copy of the original commit log and squashed this assigned branch.

@guvenc guvenc merged commit 44c235b into main Aug 30, 2023
5 checks passed
@guvenc guvenc deleted the feature/dp_rte_flow_retvals branch August 30, 2023 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request size/XXL
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants