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

Timeout when OF controller is restarting #159

Open
ralonsoh opened this issue Oct 19, 2021 · 0 comments
Open

Timeout when OF controller is restarting #159

ralonsoh opened this issue Oct 19, 2021 · 0 comments

Comments

@ralonsoh
Copy link

Hello:

In OpenStack Neutron, we use a fork of ryu library, os-ken. Recently we have backported two patches related to app/ofctl, when the datapath disconnects:

That solved some issues we had initially when the OF controller is restarting. For example, when we define new OpenFlow protocols.

Error snippet: https://paste.opendev.org/show/810072/

After we set the new OF protocols, the OF controller is restarted. When we try to execute a command, we receive the "unknown dpid" error (a InvalidDatapath exception is thrown) until the new OF controller is registered in "OfctlService._switches".

However, in some cases the OF controller is present and we try to process the message. The message XID should be None, but as you can see in the snippet, the XID has been already set. What I don't know is if this is an old message being processed again and what can we do:

  • Just skip this assertion, reset message XID and reply.
  • Raise a InvalidDatapath, discarding this message.

In any case, because of this assertion exception, we never receive a reply and we timeout. I think "OfctlService._handle_send_msg" should handle this possible situation, returning a normal reply or an exception.

Regards.

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

No branches or pull requests

1 participant