Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
The FDP team is no longer accepting new bugs in Bugzilla. Please report your issues under FDP project in Jira. Thanks.

Bug 1775778

Summary: OCP IPv6 - Kernel rejects flows due to unexpected flow key - Key type 30 is out of range max 29
Product: Red Hat Enterprise Linux Fast Datapath Reporter: Flavio Leitner <fleitner>
Component: openvswitch2.12Assignee: Open vSwitch development team <ovs-team>
Status: CLOSED ERRATA QA Contact: Jianlin Shi <jishi>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: RHEL 8.0CC: ctrautma, fleitner, jhsiao, kfida, markmc, ovs-qe, qding, ralongi
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1773598 Environment:
Last Closed: 2019-12-11 12:06:53 UTC Type: ---
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: 1773598    
Bug Blocks:    

Comment 2 Jianlin Shi 2019-11-29 01:03:34 UTC
reproducer (download db files from bz1773598):

#!/bin/bash                                                                                                     
add_phys_port() {
    name=$1
    mac=$2
    iface_id=$3
    ip netns add $name
    ovs-vsctl add-port br-int $name -- set interface $name type=internal
    ip link set $name netns $name
    ip netns exec $name ip link set $name address $mac
    ip netns exec $name ip link set $name up
    ovs-vsctl set Interface $name external_ids:iface-id=$iface_id
}
dmesg -C
systemctl restart openvswitch                                                                         
systemctl restart ovn-northd
ovn-nbctl set-connection ptcp:6641
ovn-sbctl set-connection ptcp:6642                                                                    
ovs-vsctl set Open_vSwitch . external-ids:system-id=hv1 external-ids:ovn-remote=tcp:20.0.29.25:6642 external-ids:ovn-encap-type=geneve external-ids:ovn-encap-ip=20.0.29.25
systemctl restart ovn-controller
cp /root/bz1773598/k88_ipv6_local_reproduce_dbs/* /var/lib/ovn -rf
systemctl restart ovn-northd
ovn-nbctl set-connection ptcp:6641
ovn-sbctl set-connection ptcp:6642                                                                    
ovn-nbctl show

add_phys_port fake_vm1 2a:e7:a3:00:00:05 openshift-kube-apiserver-operator_kube-apiserver-operator-5f4bd8fdc4-w7tk2
ip netns exec fake_vm1 ip a a fd01::28e7:a3ff:fe00:5/64 dev fake_vm1
add_phys_port fake_vm2 2a:e7:a3:00:00:08 openshift-operator-lifecycle-manager_catalog-operator-5f75df8dd8-59xz7
ip netns exec fake_vm2 ip a a fd01::28e7:a3ff:fe00:8/64 dev fake_vm2
sleep 5
ovn-sbctl show
ip netns exec fake_vm2 ping6 -I fake_vm2 fd01::28e7:a3ff:fe00:5 -c 5
dmesg

reproduced on openvswitch-2.12.0-4:

+ ip netns exec fake_vm2 ip a a fd01::28e7:a3ff:fe00:8/64 dev fake_vm2
+ sleep 5                                                                                             
+ ovn-sbctl show                                                                                      
Chassis hv1                                                                                           
    hostname: dell-per740-12.rhts.eng.pek2.redhat.com                                                 
    Encap geneve                                     
        ip: "20.0.29.25"                   
        options: {csum="true"}
    Port_Binding openshift-operator-lifecycle-manager_catalog-operator-5f75df8dd8-59xz7
    Port_Binding openshift-kube-apiserver-operator_kube-apiserver-operator-5f4bd8fdc4-w7tk2
+ ip netns exec fake_vm2 ping6 -I fake_vm2 fd01::28e7:a3ff:fe00:5 -c 5
PING fd01::28e7:a3ff:fe00:5(fd01::28e7:a3ff:fe00:5) from fd01::28e7:a3ff:fe00:8 fake_vm2: 56 data bytes
64 bytes from fd01::28e7:a3ff:fe00:5: icmp_seq=1 ttl=64 time=16.4 ms
64 bytes from fd01::28e7:a3ff:fe00:5: icmp_seq=2 ttl=64 time=0.959 ms
64 bytes from fd01::28e7:a3ff:fe00:5: icmp_seq=3 ttl=64 time=0.104 ms
64 bytes from fd01::28e7:a3ff:fe00:5: icmp_seq=4 ttl=64 time=0.095 ms   
64 bytes from fd01::28e7:a3ff:fe00:5: icmp_seq=5 ttl=64 time=0.095 ms
                                                      
--- fd01::28e7:a3ff:fe00:5 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 45ms     
rtt min/avg/max/mdev = 0.095/3.539/16.443/6.460 ms
+ dmesg
[71933.003468] device br-int left promiscuous mode
[71933.136990] device br-int entered promiscuous mode
[71933.525234] device fake_vm1 entered promiscuous mode
[71933.721215] device fake_vm2 entered promiscuous mode
[71934.457443] openvswitch: netlink: Key type 30 is out of range max 29
[71934.585509] openvswitch: netlink: Key type 30 is out of range max 29
[71938.928889] openvswitch: netlink: Key type 30 is out of range max 29
[71938.937028] openvswitch: netlink: Key type 30 is out of range max 29    

<==== got error dmesg
                                                                                                                                
[root@dell-per740-12 bz1773598]# rpm -qa | grep -E "openvswitch|ovn"
ovn2.12-2.12.0-7.el8fdp.x86_64  
openvswitch2.12-2.12.0-4.el8fdp.x86_64
ovn2.12-central-2.12.0-7.el8fdp.x86_64                            
ovn2.12-host-2.12.0-7.el8fdp.x86_64
openvswitch-selinux-extra-policy-1.0-19.el8fdp.noarch

Verified on openvswitch-2.12.0-8:

+ ovn-sbctl show
Chassis hv1
    hostname: dell-per740-12.rhts.eng.pek2.redhat.com                                                 
    Encap geneve
        ip: "20.0.29.25"
        options: {csum="true"}
    Port_Binding openshift-kube-apiserver-operator_kube-apiserver-operator-5f4bd8fdc4-w7tk2
    Port_Binding openshift-operator-lifecycle-manager_catalog-operator-5f75df8dd8-59xz7
+ ip netns exec fake_vm2 ping6 -I fake_vm2 fd01::28e7:a3ff:fe00:5 -c 5
PING fd01::28e7:a3ff:fe00:5(fd01::28e7:a3ff:fe00:5) from fd01::28e7:a3ff:fe00:8 fake_vm2: 56 data bytes
64 bytes from fd01::28e7:a3ff:fe00:5: icmp_seq=1 ttl=64 time=2.93 ms
64 bytes from fd01::28e7:a3ff:fe00:5: icmp_seq=2 ttl=64 time=1.01 ms
64 bytes from fd01::28e7:a3ff:fe00:5: icmp_seq=3 ttl=64 time=0.099 ms
64 bytes from fd01::28e7:a3ff:fe00:5: icmp_seq=4 ttl=64 time=0.094 ms
64 bytes from fd01::28e7:a3ff:fe00:5: icmp_seq=5 ttl=64 time=0.093 ms
                                                                                                      
--- fd01::28e7:a3ff:fe00:5 ping statistics ---                                                        
5 packets transmitted, 5 received, 0% packet loss, time 52ms
rtt min/avg/max/mdev = 0.093/0.843/2.925/1.099 ms                                                     
+ dmesg                                                                                               
[72538.248471] device br-int left promiscuous mode                                                    
[72538.414805] device br-int entered promiscuous mode
[72538.641453] device fake_vm1 entered promiscuous mode
[72538.824122] device fake_vm2 entered promiscuous mode

<==== no error dmesg

[root@dell-per740-12 bz1773598]# rpm -qa | grep -E "openvswitch|ovn"
ovn2.12-2.12.0-7.el8fdp.x86_64                                                                        
ovn2.12-central-2.12.0-7.el8fdp.x86_64                                                                
openvswitch2.12-2.12.0-8.el8fdp.x86_64                                                                
ovn2.12-host-2.12.0-7.el8fdp.x86_64                                                                   
openvswitch-selinux-extra-policy-1.0-19.el8fdp.noarch

Comment 4 errata-xmlrpc 2019-12-11 12:06:53 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, 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-2019:4207