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

Avoid recreating flows for a connected switch when consistency check is enabled #126

Merged
merged 1 commit into from
May 18, 2021
Merged

Conversation

italovalcy
Copy link
Contributor

Currently, when a switch connect (or reconnects) to Kytos, flow_manager send a FLOW_MOD to reinstall all the stored flows, no matter how is the switch flow table.

If the switch flow table is empty, forcing the flows to be reinstalled is okay. However, if the switch still has the flows and reconnects, reinstalling them will impact the traffic being forwarded, will clear the statistics, and is waste of resources. Furthermore, with the recent consistency check routine, this should be handed over.

This PR changes the behavior of flow_manager to use the consistency check routine, when enabled, to recreate the flows when the switch reconnects to Kytos.

Fixes #115

@cmagnobarbosa cmagnobarbosa self-requested a review April 26, 2021 12:19
@cmagnobarbosa
Copy link
Member

For me, this pull request can be accepted. But I think that in the future this resend_stored_flows method should be removed. Because when consistency checking is disabled, the behavior of resending stored flows without checking if they are already installed can interrupt the traffic as described in this pull request. At first, I can't think of a case in which this action to resend flows without checking is necessary. In addition, consistency checking can replace this method.

@hdiogenes hdiogenes merged commit 29cacac into kytos:master May 18, 2021
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.

When Kytos controller reconnect to the switch, the flows should be preserved
3 participants