-
Notifications
You must be signed in to change notification settings - Fork 1
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
Conversation
@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. |
20f8b1c
to
572eff4
Compare
There was a problem hiding this 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.
@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? |
@PlagueCZ Yes, please squash them when the PR is mature to be merged and thanks for making the review easier with smaller commits. |
02c91ed
to
fd99b9d
Compare
@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. |
@PlagueCZ I tested the code after rebasing, especially on NAT and LB scenarios. The tests I usually use can actually work. |
686b37e
to
a6d6c56
Compare
a6d6c56
to
44c235b
Compare
I've created an |
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.