Bug 1782834 - Changing protocols in Bridge table doesn't take effect
Summary: Changing protocols in Bridge table doesn't take effect
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux Fast Datapath
Classification: Red Hat
Component: openvswitch2.13
Version: FDP 20.A
Hardware: Unspecified
OS: Unspecified
high
urgent
Target Milestone: ---
: ---
Assignee: Aaron Conole
QA Contact: ovs-qe
URL:
Whiteboard:
Depends On:
Blocks: 1843811
TreeView+ depends on / blocked
 
Reported: 2019-12-12 13:08 UTC by Jakub Libosvar
Modified: 2020-09-16 16:02 UTC (History)
12 users (show)

Fixed In Version: openvswitch2.13-2.13.0-46.el7fdp
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-09-16 16:02:11 UTC
Target Upstream Version:


Attachments (Terms of Use)
ovsdb-server.log (48.85 KB, text/plain)
2019-12-12 13:08 UTC, Jakub Libosvar
no flags Details
ovs-vswitchd.log (155.54 KB, text/plain)
2019-12-12 13:09 UTC, Jakub Libosvar
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2020:3771 0 None None None 2020-09-16 16:02:24 UTC

Internal Links: 1863024

Description Jakub Libosvar 2019-12-12 13:08:12 UTC
Description of problem:
If protocols column value is changed on an OVS bridge, it won't be seen by ovs-vswitchd. The only way how to set protocols is in the same transaction with bridge creation. This is a regression between OVS 2.11 and 2.12

Version-Release number of selected component (if applicable):
OVS 2.12

How reproducible:
Always

Steps to Reproduce:
1. Create a bridge with low protocol version:
      ovs-vsctl add-br testing -- set bridge testing protocols=OpenFlow10
2. Set higher protocol version:
      ovs-vsctl set bridge testing protocols=OpenFlow10,OpenFlow14
3. Use a feature from OpenFlow 14:
      ovs-ofctl add-flow testing --bundle actions=normal

Actual results:
2019-12-12T12:51:21Z|00001|vconn|WARN|unix:/var/run/openvswitch/testing.mgmt: version negotiation failed (we support version 0x05, peer supports version 0x01)

Expected results:
peer supports version 0x05

Additional info:
ovsdb and vswitchd logs are attached

Comment 4 Jakub Libosvar 2019-12-12 13:08:48 UTC
Created attachment 1644410 [details]
ovsdb-server.log

Comment 5 Jakub Libosvar 2019-12-12 13:09:17 UTC
Created attachment 1644411 [details]
ovs-vswitchd.log

Comment 7 Jakub Libosvar 2019-12-16 06:49:22 UTC
I did git bisect and it lead me to this commit: https://github.com/openvswitch/ovs/commit/a0baa7dfa4fe257fada82623a9564e334f68ca91

Comment 8 Aaron Conole 2019-12-18 18:11:30 UTC
I can't reproduce this with upstream OvS 2.12:

01:08:30 aconole@dhcp-25 ~$ sudo ovs-vsctl show
79336ad3-da43-4fb5-acb7-b5f939598b63
    Bridge br0
        Port br0
            Interface br0
                type: internal
        Port veth_l0
            Interface veth_l0
                error: "could not open network device veth_l0 (No such device)"
        Port veth_r0
            Interface veth_r0
                error: "could not open network device veth_r0 (No such device)"
    Bridge testing
        Port testing
            Interface testing
                type: internal
    ovs_version: "2.12.90"
01:08:32 aconole@dhcp-25 ~$ sudo ovs-ofctl add-flow testing --bundle actions=normal
01:08:39 aconole@dhcp-25 ~$ cd git/ovs
01:09:06 aconole@dhcp-25 {(e8f563448...)} ~/git/ovs$ sudo ovs-vsctl set bridge testing protocols=OpenFlow10,OpenFlow14
01:09:23 aconole@dhcp-25 {(e8f563448...)} ~/git/ovs$ sudo ovs-ofctl add-flow testing --bundle actions=normal
01:09:26 aconole@dhcp-25 {(e8f563448...)} ~/git/ovs$ 

I'll downgrade to the version from FDP and try again.

Comment 9 Jakub Libosvar 2020-01-02 10:11:12 UTC
(In reply to Aaron Conole from comment #8)
> 01:08:32 aconole@dhcp-25 ~$ sudo ovs-ofctl add-flow testing --bundle
> actions=normal

Did you create the testing bridge with protocols set to OpenFlow10 only? If you did, this command should fail which is correct behavior as 10 doesn't support bundle. The idea is to create a bridge that doesn't support --bundle and then enable the protocol that supports it.

> 01:08:39 aconole@dhcp-25 ~$ cd git/ovs
> 01:09:06 aconole@dhcp-25 {(e8f563448...)} ~/git/ovs$ sudo ovs-vsctl set
> bridge testing protocols=OpenFlow10,OpenFlow14
> 01:09:23 aconole@dhcp-25 {(e8f563448...)} ~/git/ovs$ sudo ovs-ofctl add-flow
> testing --bundle actions=normal
> 01:09:26 aconole@dhcp-25 {(e8f563448...)} ~/git/ovs$ 
> 
> I'll downgrade to the version from FDP and try again.

Comment 15 Aaron Conole 2020-03-02 13:48:22 UTC
https://mail.openvswitch.org/pipermail/ovs-dev/2020-February/367806.html

Latest response.

Comment 17 Jakub Libosvar 2020-08-05 12:03:07 UTC
Raising the severity to urgent as this blocks updates, upgrades and migration to OSP 16.1

Comment 18 Jakub Libosvar 2020-08-05 12:03:26 UTC
(In reply to Jakub Libosvar from comment #17)
> Raising the severity to urgent as this blocks updates, upgrades and
> migration to OSP 16.1

Not upgrades, just updates and the migration.

Comment 22 Aaron Conole 2020-08-26 14:44:26 UTC
https://mail.openvswitch.org/pipermail/ovs-dev/2020-August/373967.html

This patch was recently accepted.  It should make it to 20.G build.

Comment 27 errata-xmlrpc 2020-09-16 16:02:11 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (openvswitch2.13 bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:3771


Note You need to log in before you can comment on or make changes to this bug.