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

Process OF messages spanning multiple TCP segments #95

Closed
wants to merge 3 commits into from
Closed

Process OF messages spanning multiple TCP segments #95

wants to merge 3 commits into from

Conversation

mwutzke
Copy link
Contributor

@mwutzke mwutzke commented Jul 15, 2019

This is a draft patch sequence to address #84. 2 of the patches are pre-cursors for the work of the 3rd patch.

NOTE: I've only managed to compile this patch sequence (Linux Makefiles) - but I have not been able to test it on a ZodiacFX (see #76). Can someone please build / test this patch using the official toolchain before committing it.

mwutzke added 3 commits July 15, 2019 16:05
'size' is really the offset into 'packetbuffer', while
'len' is the amount of data in 'packetbuffer'. 'plen'
is the OF packet length.

Ideally OF message processing routines should only care
about the data for the specific message they are processing,
and do not need to know the offset within 'packetbuffer'
or the amount of data in 'packetbuffer'.
A single OFPT13_MULTIPART_REQUEST will be for a single type, so
there is no need to retain state over multiple invokations of
of13_message(). Also, all OFPT13_MULTIPART_RESPONSE can be sent
at the end of the REQUEST processing.

Handling OFPT13_MULTIPART_REQUEST this way will all for the removal
of the final global data from of_receive() processing.
TCP provides a stream of bytes (it does not preserve transmitter
framing / messages), so it is possible for a single OpenFlow
message to be delivered in multiple TCP segments. of_receive needs
to cater for this operation.
@pzanna
Copy link
Contributor

pzanna commented Jul 15, 2019

Will be applied to dev repo (pzanna:Dev_86)

@pzanna pzanna closed this Jul 15, 2019
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.

2 participants