+++ This bug was initially created as a clone of Bug #1982743 +++ 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: --- Additional comment from Red Hat Bugzilla on 2021-09-21 10:02:10 UTC --- remove performed by PnT Account Manager <pnt-expunge>
*** Bug 2035711 has been marked as a duplicate of this bug. ***
Reproduced issue using openvswitch2.16-2.16.0-32.el8fdp.x86_64: [root@netqe9 ~]# uname -r 4.18.0-305.25.1.el8_4.x86_64 [root@netqe9 ~]# rpm -qa | grep openvswitch openvswitch-selinux-extra-policy-1.0-29.el8fdp.noarch openvswitch2.16-2.16.0-32.el8fdp.x86_64 [root@netqe9 ~]# /usr/share/openvswitch/scripts/ovs-ctl start ovsdb-server is already running. ovs-vswitchd is already running. Enabling remote OVSDB managers [ OK ] [root@netqe9 ~]# ovs-vsctl --if-exists del-br br0 [root@netqe9 ~]# ovs-vsctl add-br br0 [root@netqe9 ~]# ovs-ofctl del-flows br0 [root@netqe9 ~]# ovs-ofctl add-flow br0 "ip,nw_proto=2 actions=drop" [root@netqe9 ~]# ovs-ofctl add-flow br0 in_port=1,idle_timeout=0,actions=output:1 [root@netqe9 ~]# ovs-ofctl add-flow br0 in_port=2,idle_timeout=0,actions=output:2 [root@netqe9 ~]# ovs-ofctl dump-flows br0 cookie=0x0, duration=13.444s, table=0, n_packets=0, n_bytes=0, igmp actions=drop cookie=0x0, duration=13.434s, table=0, n_packets=0, n_bytes=0, in_port=1 actions=output:1 cookie=0x0, duration=13.424s, 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 (38598) [ OK ] Backing up database to /etc/openvswitch/conf.db.backup8.2.0[ OK ]191 Compacting database [ OK ] Converting database schema [ OK ] Starting ovsdb-server [ OK ] system ID not configured, please use --system-id ... failed! Configuring Open vSwitch system IDs [ OK ] Exiting ovs-vswitchd (38673) [ OK ] Starting ovs-vswitchd [ OK ] Restoring saved flows ovs-ofctl: /tmp/ovs-save.lQf7WqiNB5/br0.flows.dump:1: field igmp missing value [ OK ] Enabling remote OVSDB managers [ OK ] [root@netqe9 ~]# ovs-ofctl dump-flows br0 cookie=0x0, duration=6.438s, table=0, n_packets=0, n_bytes=0, priority=0 actions=NORMAL [root@netqe9 ~]# Verified fix in openvswitch2.16-2.16.0-58.el8fdp.x86_64: [root@netqe9 ~]# uname -r 4.18.0-305.25.1.el8_4.x86_64 [root@netqe9 ~]# rpm -qa | grep openvswitch openvswitch2.16-2.16.0-58.el8fdp.x86_64 openvswitch-selinux-extra-policy-1.0-29.el8fdp.noarch [root@netqe9 ~]# systemctl stop openvswitch [root@netqe9 ~]# /usr/share/openvswitch/scripts/ovs-ctl start ovsdb-server is already running. ovs-vswitchd is already running. Enabling remote OVSDB managers [ OK ] [root@netqe9 ~]# ovs-vsctl --if-exists del-br br0 [root@netqe9 ~]# ovs-vsctl add-br br0 [root@netqe9 ~]# ovs-ofctl del-flows br0 [root@netqe9 ~]# ovs-ofctl add-flow br0 "ip,nw_proto=2 actions=drop" [root@netqe9 ~]# ovs-ofctl add-flow br0 in_port=1,idle_timeout=0,actions=output:1 [root@netqe9 ~]# ovs-ofctl add-flow br0 in_port=2,idle_timeout=0,actions=output:2 [root@netqe9 ~]# ovs-ofctl dump-flows br0 cookie=0x0, duration=10.406s, table=0, n_packets=0, n_bytes=0, igmp actions=drop cookie=0x0, duration=10.392s, table=0, n_packets=0, n_bytes=0, in_port=1 actions=output:1 cookie=0x0, duration=10.378s, 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 (18664) [ OK ] Starting ovsdb-server [ OK ] system ID not configured, please use --system-id ... failed! Configuring Open vSwitch system IDs [ OK ] Exiting ovs-vswitchd (18690) [ OK ] Starting ovs-vswitchd [ OK ] Restoring saved flows [ OK ] Enabling remote OVSDB managers [ OK ] [root@netqe9 ~]# ovs-ofctl dump-flows br0 cookie=0x0, duration=9.599s, table=0, n_packets=0, n_bytes=0, igmp actions=drop cookie=0x0, duration=9.599s, table=0, n_packets=0, n_bytes=0, in_port=1 actions=output:1 cookie=0x0, duration=9.599s, table=0, n_packets=0, n_bytes=0, in_port=2 actions=output:2 [root@netqe9 ~]#
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.16 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-2022:1146