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

Implement reserved OFP port FLOOD #183

Merged
merged 1 commit into from
Oct 21, 2013
Merged

Implement reserved OFP port FLOOD #183

merged 1 commit into from
Oct 21, 2013

Conversation

mentels
Copy link
Contributor

@mentels mentels commented Oct 15, 2013

FLOOD port when used as an output port sends the packet out all standard
ports, but not the ingress port, nor ports that are in BLOCKED state
(OpenFlow spec. v1.3.2 ch. 4.5).
This behavior is required as NOX 1.3 controller uses this FLOOD port.
(Motivated by #171).

@nygge
Copy link
Contributor

nygge commented Oct 15, 2013

This should not be done. 1.3.2 ch 4.5 says
"OpenFlow-only switches do not support the NORMAL port and FLOOD port, ..."

false ->
Acc
end
end, [], Ports).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could be done with ets:foldl instead of ets:tab2list + lists:foldl.

@legoscia
Copy link
Contributor

Some code nitpicking, which in no way invalidates Anders' objection.

@mentels
Copy link
Contributor Author

mentels commented Oct 16, 2013

@nygge I'm aware of what the spec says. But the case is that we want LINC be able to talk with NOX 1.3 controller. Unfortunately this controller use FLOOD port without investigating any PORT_DESCRIPTION from the switch - it just assumes that this FLOOD port exists.

To sum up: we don't want LINC to be hybrid switch, we want it to work with NOX on mininet. We can create report this bug and hope that guys from NOX will fix it. Then we can remove this code for flooding. What do you think?

@legoscia thanks for the remarks.

@nygge
Copy link
Contributor

nygge commented Oct 16, 2013

The flood port is used to send a packet on all ports of the legacy,
non-openflow, part of a hybrid switch. To send on all ports of an openflow
switch use the ALL port.

Depending on what NOX is trying to do I see to possible fixes
1, does it do output to both FLOOD and ALL, if that is the case ignore it
2, treat it as ALL, then there is no need for all the new code in the pull
request

But in both cases report the bug to NOX

/Anders

On Wed, Oct 16, 2013 at 8:43 AM, Szymon Mentel [email protected]:

@nygge https://github.com/nygge I'm aware of what the spec says. But
the case is that we want LINC be able to talk with NOX 1.3 controller.
Unfortunately this controller use FLOOD port without investigating any
PORT_DESCRIPTION from the switch - it just assumes that this FLOOD port
exists.

To sum up: we don't want LINC to be hybrid switch, we want it to work with
NOX on mininet. We can create report this bug and hope that guys from NOX
will fix it. Then we can remove this code for flooding. What do you think?

@legoscia https://github.com/legoscia thanks for the remarks.


Reply to this email directly or view it on GitHubhttps://github.com//pull/183#issuecomment-26418365
.

@mentels
Copy link
Contributor Author

mentels commented Oct 17, 2013

@nygge thanks for you comment. I'll just "redirect" traffic from FLOOD port to the ALL one and mark this solution as temporary in the code. I'll also report the bug to NOX and we will remove the code when it's fixed.

FLOOD port when used as an output port sends the packet out all standard
ports, but not the ingress port, nor ports that are in BLOCKED state
(OpenFlow spec. v1.3.2 ch. 4.5).
This behavior is required as NOX 1.3 controller uses this FLOOD port.
This commit should be reverted as soon as the issue
CPqD/nox13oflib#3 is fixed.
(Motivated by #171).
@mentels
Copy link
Contributor Author

mentels commented Oct 17, 2013

Commit introduced in this pull request should be reverted when the bug CPqD/nox13oflib#3 is fixed.

mentels pushed a commit that referenced this pull request Oct 21, 2013
Temporarily implement reserved OFP port FLOOD to support NOX 1.3 controller in Mininet environment
@mentels mentels merged commit e151a78 into master Oct 21, 2013
@mentels mentels deleted the issue171 branch October 21, 2013 07:41
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.

3 participants