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

Added OpenvSwitch fake bridge support #102

Closed
wants to merge 1 commit into from
Closed

Added OpenvSwitch fake bridge support #102

wants to merge 1 commit into from

Conversation

RaveNoX
Copy link

@RaveNoX RaveNoX commented Jun 16, 2016

Added OpenvSwitch fake bridge support.
Fake bridge - bridge which created by ovs-vsctl add-br BRIDGE PARENT VLAN

@RaveNoX RaveNoX closed this Jun 16, 2016
@RaveNoX RaveNoX reopened this Jun 16, 2016
@jmelis jmelis self-assigned this Jul 19, 2016
@jmelis
Copy link
Contributor

jmelis commented Jul 19, 2016

Hi, can you please add a bit of rationale to this PR? Why do you want to have an integration bridge?

thanks!!

@RaveNoX
Copy link
Author

RaveNoX commented Jul 19, 2016

I have this ovs configuration:

# ovs-vsctl show
5650f5d8-ffed-497a-acfa-4aac07b4af5a
    Bridge ovs-br-agg
        Port "vnet2"
            tag: 301
            Interface "vnet2"
        Port ovs-br-int
            tag: 301
            Interface ovs-br-int
                type: internal
        Port "vnet0"
            tag: 301
            Interface "vnet0"
        Port "vnet1"
            tag: 301
            Interface "vnet1"
        Port agg-int
            Interface "p2p1"
            Interface "p1p1"
        Port ovs-br-ceph
            tag: 302
            Interface ovs-br-ceph
                type: internal
        Port "vnet5"
            tag: 301
            Interface "vnet5"
        Port ovs-br-agg
            Interface ovs-br-agg
                type: internal
        Port "vnet7"
            tag: 301
            Interface "vnet7"
        Port "vnet3"
            tag: 301
            Interface "vnet3"
    ovs_version: "2.0.2"

As you can see ovs-br-int is "fake bridge" which is bridge with tag (vlan) support, if you attach vnet to his bridge, it is really will be attached to parent bridge ovs-br-agg not to ovs-br-int, and after this tag will be also added to this vnet.

As result of this behavior of ovs without my pull request deployment of new instances or migration of already exiting instances will fail with error on adding / removed flows with ovs-ofctl because fake bridge is not real bridge and flows which must be set on it must be set on parent real bridge instead of this.

This pull request adding search for parent real bridge for ovs-ofctl commands.

@jmelis
Copy link
Contributor

jmelis commented Jul 20, 2016

Sorry to bother you a bit more :)

So the BRIDGE in your vnet template is ovs-br-int then, and not ovs-br-agg? You mention this is to add vlan support, however, the OVS already handles vlan support, doesn't it? What extra functionality are you obtaining by using a fake bridge in the vnet template and not the parent bridge?

(I'm all in favour of merging this PR, but I want to understand it first)

@RaveNoX
Copy link
Author

RaveNoX commented Jul 26, 2016

Sorry for long wait for an answer.

So the BRIDGE in your vnet template is ovs-br-int then, and not ovs-br-agg

yes

You mention this is to add vlan support, however, the OVS already handles vlan support, doesn't it?

Yes you are right.
Before current configuration we are first use configuration where is no aggregation was used.
ovs-br-agg and ovs-br-ceph was owners of physical interfaces each, and bridges configuration keeping from it.
I don't know any way for changing nodes network configuration without affecting running instances.

Maybe this PR may be also useful for some custom ovs configuration for certain situations (maybe for STP or other settings which must be other than on physical-bounded ovs bridge).

Anyway we are already using this code in our production systems which are running under One 5.0 and 4.14 (I also have backport of this PR for it).
It will be great if for future releases this code will be already included in ONE.

@stale
Copy link

stale bot commented Mar 6, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. The OpenNebula Dev Team

@stale stale bot unassigned jmelis Mar 6, 2019
@stale
Copy link

stale bot commented Apr 5, 2019

This issue has been automatically closed due to lack of activity/feedback. Please reopen if you have further input or need to bump this. The OpenNebula Dev Team

@stale stale bot closed this Apr 5, 2019
rsmontero pushed a commit that referenced this pull request Oct 6, 2020
rsmontero pushed a commit that referenced this pull request Apr 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants