Bug 1982743

Summary: Restoring saved flows ovs-ofctl: [...] field igmp missing value
Product: Red Hat Enterprise Linux Fast Datapath Reporter: Adrián Moreno <amorenoz>
Component: openvswitch2.15Assignee: Salvatore Daniele <sdaniele>
Status: CLOSED ERRATA QA Contact: Rick Alongi <ralongi>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: FDP 20.ECC: amorenoz, ctrautma, fleitner, jhsiao, ralongi, sdaniele, tli
Target Milestone: ---   
Target Release: FDB 18.04   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openvswitch2.15-2.15.0-54.el8fdp Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 2029938 2029940 2029944 (view as bug list) Environment:
Last Closed: 2022-01-10 16:50:29 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2029938, 2029940, 2029944    

Description Adrián Moreno 2021-07-15 15:21:27 UTC
Description of problem:

When restarting ovs, if it contains a flow that matches igmp traffic, ovs-ctl fails to restore the flows (and in fact all flows on the bridge are lost).

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

Tested with latest (and upstream) openvswitch2.15

How reproducible:
Always

Steps to Reproduce:
1. /usr/share/openvswitch/scripts/ovs-ctl start openvswitch
2. ovs-vsctl add-br br0
3. ovs-ofctl add-flow br0 "ip,nw_proto=2 actions=drop"
4. /usr/share/openvswitch/scripts/ovs-ctl restart openvswitch

Actual results:

 /usr/share/openvswitch/scripts/ovs-ctl restart
Saving flows                                               [  OK  ]
Exiting ovsdb-server (2041630)                             [  OK  ]
Starting ovsdb-server                                      [  OK  ]
system ID not configured, please use --system-id ... failed!
Configuring Open vSwitch system IDs                        [  OK  ]
Exiting ovs-vswitchd (2041671)                             [  OK  ]
Starting ovs-vswitchd                                      [  OK  ]
Restoring saved flows ovs-ofctl: /tmp/ovs-save.FmwE0BbwhG/br0.flows.dump:2: field igmp missing value

$ ovs-ofctl dump-flows br0
(Does not contain flows after offending flow)

Expected results:

Error should not be generated and flows should be restored

Additional info:

Comment 4 Rick Alongi 2021-12-13 18:12:18 UTC
[root@netqe9 ~]# uname -r
4.18.0-305.25.1.el8_4.x86_64

# Reproduced issue using openvswitch2.15-2.15.0-42.el8fdp:
[root@netqe9 ~]# rpm -qa | grep openvswitch
openvswitch-selinux-extra-policy-1.0-28.el8fdp.noarch
openvswitch2.15-2.15.0-42.el8fdp.x86_64

/usr/share/openvswitch/scripts/ovs-ctl start
ovs-vsctl add-br br0
ovs-ofctl del-flows br0
ovs-ofctl add-flow br0 "ip,nw_proto=2 actions=drop"
ovs-ofctl add-flow br0 in_port=1,idle_timeout=0,actions=output:1
ovs-ofctl add-flow br0 in_port=2,idle_timeout=0,actions=output:2

[root@netqe9 ~]# ovs-ofctl dump-flows br0
 cookie=0x0, duration=228.052s, table=0, n_packets=0, n_bytes=0, igmp actions=drop
 cookie=0x0, duration=13.023s, table=0, n_packets=0, n_bytes=0, in_port=1 actions=output:1
 cookie=0x0, duration=3.090s, table=0, n_packets=0, n_bytes=0, in_port=2 actions=output:2
 
[root@netqe9 ~]# /usr/share/openvswitch/scripts/ovs-ctl restart
Saving flows                                               [  OK  ]
Exiting ovsdb-server (38264)                               [  OK  ]
Starting ovsdb-server                                      [  OK  ]
system ID not configured, please use --system-id ... failed!
Configuring Open vSwitch system IDs                        [  OK  ]
Exiting ovs-vswitchd (38290)                               [  OK  ]
Starting ovs-vswitchd                                      [  OK  ]
Restoring saved flows ovs-ofctl: /tmp/ovs-save.9XhQNl7BQU/br0.flows.dump:1: field igmp missing value
                                                           [  OK  ]
Enabling remote OVSDB managers                             [  OK  ]
[root@netqe9 ~]# ovs-ofctl dump-flows br0
 cookie=0x0, duration=3.197s, table=0, n_packets=0, n_bytes=0, priority=0 actions=NORMAL
[root@netqe9 ~]# 

###################################################

# Verified fix in openvswitch2.15-2.15.0-55.el8fdp:

[root@netqe9 ~]# rpm -qa | grep openvswitch
openvswitch-selinux-extra-policy-1.0-28.el8fdp.noarch
openvswitch2.15-2.15.0-55.el8fdp.x86_64

ovs-ofctl del-flows br0
ovs-vsctl del-br br0
ovs-vsctl add-br br0
ovs-ofctl add-flow br0 "ip,nw_proto=2 actions=drop"
ovs-ofctl add-flow br0 in_port=1,idle_timeout=0,actions=output:1
ovs-ofctl add-flow br0 in_port=2,idle_timeout=0,actions=output:2

[root@netqe9 ~]# ovs-ofctl dump-flows br0
 cookie=0x0, duration=8.889s, table=0, n_packets=0, n_bytes=0, igmp actions=drop
 cookie=0x0, duration=8.879s, table=0, n_packets=0, n_bytes=0, in_port=1 actions=output:1
 cookie=0x0, duration=7.414s, table=0, n_packets=0, n_bytes=0, in_port=2 actions=output:2
 cookie=0x0, duration=8.902s, table=0, n_packets=0, n_bytes=0, priority=0 actions=NORMAL

[root@netqe9 ~]# /usr/share/openvswitch/scripts/ovs-ctl restart
Saving flows                                               [  OK  ]
Exiting ovsdb-server (39336)                               [  OK  ]
Starting ovsdb-server                                      [  OK  ]
system ID not configured, please use --system-id ... failed!
Configuring Open vSwitch system IDs                        [  OK  ]
Exiting ovs-vswitchd (39362)                               [  OK  ]
Starting ovs-vswitchd                                      [  OK  ]
Restoring saved flows                                      [  OK  ]
Enabling remote OVSDB managers                             [  OK  ]
[root@netqe9 ~]# ovs-ofctl dump-flows br0
 cookie=0x0, duration=8.504s, table=0, n_packets=0, n_bytes=0, igmp actions=drop
 cookie=0x0, duration=8.504s, table=0, n_packets=0, n_bytes=0, in_port=1 actions=output:1
 cookie=0x0, duration=8.504s, table=0, n_packets=0, n_bytes=0, in_port=2 actions=output:2
 cookie=0x0, duration=8.608s, table=0, n_packets=0, n_bytes=0, priority=0 actions=NORMAL
[root@netqe9 ~]#

Comment 6 errata-xmlrpc 2022-01-10 16:50:29 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.15 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-2022:0052