-
Notifications
You must be signed in to change notification settings - Fork 9
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
Corrected wrong flow_mod sent to deletion #497
Conversation
Would this be version |
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.
Appreciated this fix @Alopalao. Overall looks good.
Yes, it should be 2024.1.1
bump kytos.json and update changelog accordingly.
dpid_flows[dpid].append({ | ||
"cookie": flow["cookie"], | ||
"match": flow["match"], | ||
"cookie_mask": int(0xffffffffffffffff) |
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.
The cookie_mask
fix itself looks good, and it should work since table_id
defaults to 0.
Since this is a specific match deletion for a given flow and not all flows of a dpid, parametrizing the table_id
value should be the way to go. But I just realized that we also have this problem for other deletions too on mef_eline
, none of them are parametrizing table_id
and a flow mod deletion message serialized defaults to 0.
Can you confirm that for mef_eline if using a different table indeed it would leave flows behind? No need to fix that part on this PR, let's just confirm the issue and map it, and then address/prioritize later.
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.
They are deleted. But the action is only taken in the database then consistency check from flow_manager
checks database and then deletes the correct flows in the topology.
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.
Cool. Great to have this confirmation, yes, the behavior isn't great. So, for cases where mef_eline isn't using table 0 this becomes a bit cumbersome. I mapped a new issue kytos-ng/flow_manager#195 not set for version 2024.1
since in prod we know that mef_eline is only at table 0 for now, let's see how that will unfold and we'll reasess later.
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.
LGTM. Considered this approved.
@Alopalao, let's use this same PR to also ship issue #498 that you're also working on, that way we don't need to bump another version, OK? It'll be great to also exercise with 300+ EVCs a few convergence events with the fix, I don't expect much surprises but let's exercise it too.
Tried with 400 EVCs and have not found any issues or errors. The flows are deleted. |
Excellent. Let's ship it then. |
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.
LGTM. Let's ship it.
Closes #496
Closes #489
Summary
Corrected flow deletion for
old_paths
which was sending incorrect flows.Local Tests
Replicate issue
End-to-End Tests
Created e2e test PR to test this PR.