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

please handle OpenFlow error messages sensibly #188

Closed
adferguson opened this issue Dec 4, 2013 · 10 comments
Closed

please handle OpenFlow error messages sensibly #188

adferguson opened this issue Dec 4, 2013 · 10 comments
Assignees

Comments

@adferguson
Copy link
Contributor

hi all,

I recently realized that NetCore silently ignores OpenFlow error messages (ie, ErrorMsg from ocaml-openflow) received from the switch. it appears that NetKat is the same.

at the very least, please log these messages, and honestly, during development, I would prefer to see the controller abort due to many types of errors (eg, OFPFMFC_ALL_TABLES_FULL or OFPFMFC_BAD_COMMAND) rather than silently pretending that the policy had been installed correctly.

handling the OpenFlow error messages sensibly greatly simplifies the task of debugging a policy which is not functioning correctly because of switch limitations.

thank you,
Andrew

@jnfoster
Copy link
Member

jnfoster commented Dec 5, 2013

Please ask Shriram to purchase a platinum NetKAT support plan :-)

Seriously: this is a great proposal. We will add it to our (deep) work
queue.

-N

On Wed, Dec 4, 2013 at 5:09 PM, Andrew Ferguson [email protected]:

hi all,

I recently realized that NetCore silently ignores OpenFlow error messages
(ie, ErrorMsg from ocaml-openflow) received from the switch. it appears
that NetKat is the same.

at the very least, please log these messages, and honestly, during
development, I would prefer to see the controller abort due to many types
of errors (eg, OFPFMFC_ALL_TABLES_FULL or OFPFMFC_BAD_COMMAND) rather than
silently pretending that the policy had been installed correctly.

handling the OpenFlow error messages sensibly greatly simplifies the task
of debugging a policy which is not functioning correctly because of switch
limitations.

thank you,
Andrew


Reply to this email directly or view it on GitHubhttps://github.com//issues/188
.

@ghost ghost assigned canders1 Dec 5, 2013
@adferguson
Copy link
Contributor Author

lol. thanks Nate. :-)

our NetCore fork now has basic logging for these messages and some others, but I wanted to let y'all know for NetKAT.

@reitblatt
Copy link
Collaborator

Why did poor Carolyn get assigned to this? I'm all in favor of dumping boring work on interns, but after their internship is over?

@ghost ghost assigned reitblatt Dec 5, 2013
@jnfoster
Copy link
Member

jnfoster commented Dec 5, 2013

Boom!

@reitblatt
Copy link
Collaborator

Ok, this should be against ocaml-openflow, not frenetic. Nominally, the frenetic runtime should be handling all this beneath the programmer's view, but ocaml-openflow doesn't even expose these errors. I'm closing this and re-opening in ocaml-openflow.

@adferguson
Copy link
Contributor Author

hi Mark,

please reopen this issue -- while you are right that NetKAT's use of ocaml-openflow means that ocaml-openflow also needs to be better about handling and exposing errors when used with "SDN.ml", there is still a problem with NetKAT, as Controller.ml blissfully ignores any switch configuration or flow table update failures.

by contrast, NetCore does not have any trouble using the current version of ocaml-openflow since it does all of its own switch message handling in its Controller: https://github.com/adferguson/frenetic/blob/netcore/lib/NetCore_Controller.ml#L370

thank you,
Andrew

@arjunguha
Copy link
Member

May we close this?

@mcanini
Copy link
Contributor

mcanini commented Mar 3, 2015

I don't think was resolved :-(

@arjunguha
Copy link
Member

ah yes you're right. Yeah, we should fix. hmmmm.

reitblatt added a commit that referenced this issue Apr 13, 2015
switch to non-exn versions w/ checking
@craig-riecke craig-riecke self-assigned this May 3, 2016
@craig-riecke
Copy link
Contributor

This is done in Frenetic_OpenFlow_0x04, and so will get merged with the code for Issue #477.

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

7 participants