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

Openflow13 breaks when parsing Packet_In message #421

Open
mulias opened this issue Jun 15, 2015 · 7 comments
Open

Openflow13 breaks when parsing Packet_In message #421

mulias opened this issue Jun 15, 2015 · 7 comments
Labels

Comments

@mulias
Copy link
Contributor

mulias commented Jun 15, 2015

The openflow13 message parser breaks with a stack trace that looks like this:

"invalid bounds in Cstruct.BE.get_uint16 32,4 off=4 len=2"
"Called from file "openflow/lib/OpenFlow0x04.ml", line 838, characters 26-48"
"Called from file "openflow/lib/OpenFlow0x04.ml", line 1855, characters 16-41"
"Called from file "openflow/lib/OpenFlow0x04.ml", line 2350, characters 28-42"
"Called from file "openflow/lib/OpenFlow0x04.ml", line 2351, characters 24-42"
"Called from file "openflow/lib/OpenFlow0x04.ml", line 2357, characters 20-41"
"Called from file "openflow/lib/OpenFlow0x04.ml", line 3535, characters 30-59"
"Called from file "openflow/lib/OpenFlow0x04.ml", line 7012, characters 34-58"

Note that the line numbers match up with commit 7e2316b, not the current file.

@mulias mulias added the bug label Jun 15, 2015
@arjunguha
Copy link
Member

FYI, this is a PACKET_IN message, when it receives some sort of IPv6 packet. We often run Frenetic in VMs that have IPv6 disabled.

@fugitifduck
Copy link
Contributor

Strange, it passed the unit test last year.
As I understand, there is a problem on the cstruct ofp_uint48 (defined at https://github.com/frenetic-lang/ocaml-openflow/blob/master/lib/OpenFlow0x04.ml#L799 ).
On what Arch do you run openflow ?

@arjunguha
Copy link
Member

This was witnessed running OpenVSwitch on Ubuntu 14.04

@fugitifduck
Copy link
Contributor

is it possible to have a sample of the IPv6 packet ?
(and by arch I mean x86 or x64)

@arjunguha
Copy link
Member

64-bit. We didn't capture the precise packet, unfortunately.

@fugitifduck
Copy link
Contributor

I can't identify the issue on ocaml-openflow code. Maybe the packet was malformed ? (or the ofp_uint48 struct was wrongly code, but there will be issue in other messages).

@mcanini
Copy link
Contributor

mcanini commented Jun 16, 2015

This should be fairly easy to reproduce, if it is indeed related to IPv6. Just activate a mininet VM and do not switch off IPv6.
Did you try that?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants