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 2129283

Summary: the first ping from pod to external would fail
Product: Red Hat Enterprise Linux Fast Datapath Reporter: Jianlin Shi <jishi>
Component: ovn22.06Assignee: xsimonar
Status: CLOSED ERRATA QA Contact: Jianlin Shi <jishi>
Severity: medium Docs Contact:
Priority: medium    
Version: FDP 21.ICC: ctrautma, jiji, mmichels, xsimonar
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ovn22.06-22.06.0-100.el8fdp Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-03-16 10:15:06 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:

Description Jianlin Shi 2022-09-23 08:06:28 UTC
Description of problem:
the first ping from pod to external would fail

Version-Release number of selected component (if applicable):
ovn22.06-22.06.0-57.el9

How reproducible:
Always

Steps to Reproduce:
1. setup ovn on server
nic_test=ens1f0

systemctl start openvswitch                                                                           
ovs-vsctl --if-exists del-br br-ex
ovs-vsctl add-br br-ex
ovs-vsctl set open . external_ids:ovn-bridge-mappings=provider:br-ex
ip link set br-ex up
ip addr flush dev $nic_test
ovs-vsctl add-port br-ex $nic_test
ip link set $nic_test up
systemctl restart openvswitch
ip add add 20.0.189.25/24 dev br-ex
ip link set br-ex up

systemctl start ovn-northd                                                                            
ovn-nbctl set-connection ptcp:6641                                                                    
ovn-sbctl set-connection ptcp:6642                                                                    
ovs-vsctl set open . external_ids:system-id=hv1 external_ids:ovn-remote=tcp:20.0.189.25:6642 external_ids:ovn-encap-type=geneve external_ids:ovn-encap-ip=20.0.189.25
systemctl restart ovn-controller

2. setup ovn on client
nic_test=ens1f0                                                                                       
                                                                                                      
systemctl start openvswitch                                                                           
ovs-vsctl --if-exists del-br br-ex                                                                    
ovs-vsctl add-br br-ex                                                                                
ovs-vsctl set open . external_ids:ovn-bridge-mappings=provider:br-ex                                  
ip link set br-ex up                                                                                  
ip addr flush dev $nic_test                                                                           
ovs-vsctl add-port br-ex $nic_test                                                                    
ip link set $nic_test up                                                                              
systemctl restart openvswitch                                                                         
ip add add 20.0.189.26/24 dev br-ex                                                                   
ip link set br-ex up                                                                                  
                                                                                                      
ovs-vsctl set open . external_ids:system-id=hv0 external_ids:ovn-remote=tcp:20.0.189.25:6642 external_ids:ovn-encap-type=geneve external_ids:ovn-encap-ip=20.0.189.26
systemctl restart ovn-controller

3. configure ovn and start netns on server
mac_prefix=0a:0a:b6:fc:
ip_subnet=189

hv0_host_mac="00:00:00:00:00:10"
hv0_host_ip4="10.244.1.10"
hv0_host_ip6="fd00:10:244:1::10"
hv0p1_mac="00:00:00:00:00:11"
hv0p1_ip4="10.244.1.11"
hv0p1_ip6="fd00:10:244:1::11"
hv0p2_mac="00:00:00:00:00:12"
hv0p2_ip4="10.244.1.12"
hv0p2_ip6="fd00:10:244:1::12"

hv1_host_mac="00:00:00:00:01:10"
hv1_host_ip4="10.244.2.10"
hv1_host_ip6="fd00:10:244:2::10"
hv1p1_mac="00:00:00:00:01:11"
hv1p1_ip4="10.244.2.11"
hv1p1_ip6="fd00:10:244:2::11"
hv1p2_mac="00:00:00:00:01:12"
hv1p2_ip4="10.244.2.12"
hv1p2_ip6="fd00:10:244:2::12"

hv0tor_mac="00:00:00:0f:00:01"
hv0tor_ip4="10.244.1.1"
hv0tor_ip6="fd00:10:244:1::1"
hv1tor_mac="00:00:00:0f:01:01"
hv1tor_ip4="10.244.2.1"
hv1tor_ip6="fd00:10:244:2::1"

cluster_router_toj_mac="00:00:00:0f:02:01"
cluster_router_toj_ip4="100.64.0.1"
cluster_router_toj_ip6="fd98::1"

gr_hv0_toj_mac="00:00:00:0f:02:02"
gr_hv0_toj_ip4="100.64.0.2"
gr_hv0_toj_ip6="fd98::2"
gr_hv0_toex_mac="${mac_prefix}03:11"
gr_hv0_toex_ip4="10.89.$ip_subnet.11"
gr_hv0_toex_ip6="fc00:$ip_subnet::11"

gr_hv1_toj_mac="00:00:00:0f:02:03"
gr_hv1_toj_ip4="100.64.0.3"
gr_hv1_toj_ip6="fd98::3"
gr_hv1_toex_mac="${mac_prefix}03:12"
gr_hv1_toex_ip4="10.89.$ip_subnet.12"
gr_hv1_toex_ip6="fc00:$ip_subnet::12"

ext1_mac="${mac_prefix}03:01"
ext1_ip4="10.89.$ip_subnet.1"
ext1_ip6="fc00:$ip_subnet::1"
ext2_mac="${mac_prefix}03:02"
ext2_ip4="10.89.$ip_subnet.2"
ext2_ip6="fc00:$ip_subnet::2"

client1=wsfd-advnetlab19.anl.lab.eng.bos.redhat.com
hv1_system_id=$(ovn-sbctl find chassis hostname=$(hostname) | awk '/^name/{print $3}' | sed 's/"//g')
hv0_system_id=$(ovn-sbctl find chassis hostname=$client1 | awk '/^name/{print $3}' | sed 's/"//g')

ovn-nbctl ls-add ls-hv0 \
	-- lsp-add ls-hv0 hv0-host \
	-- lsp-set-addresses hv0-host "$hv0_host_mac $hv0_host_ip4 $hv0_host_ip6" \
	-- lsp-set-port-security hv0-host "$hv0_host_mac $hv0_host_ip4 $hv0_host_ip6" \
	-- lsp-add ls-hv0 hv0p1 \
	-- lsp-set-addresses hv0p1 "$hv0p1_mac $hv0p1_ip4 $hv0p1_ip6" \
	-- lsp-set-port-security hv0p1 "$hv0p1_mac $hv0p1_ip4 $hv0p1_ip6" \
	-- lsp-add ls-hv0 hv0p2 \
	-- lsp-set-addresses hv0p2 "$hv0p2_mac $hv0p2_ip4 $hv0p2_ip6" \
	-- lsp-set-port-security hv0p2 "$hv0p2_mac $hv0p2_ip4 $hv0p2_ip6" \
	-- lsp-add ls-hv0 hv0tor \
	-- lsp-set-type hv0tor router \
	-- lsp-set-options hv0tor router-port=rtohv0 \
	-- lsp-set-addresses hv0tor router

ovn-nbctl ls-add ls-hv1 \
	-- lsp-add ls-hv1 hv1-host \
	-- lsp-set-addresses hv1-host "$hv1_host_mac $hv1_host_ip4 $hv1_host_ip6" \
	-- lsp-set-port-security hv1-host "$hv1_host_mac $hv1_host_ip4 $hv1_host_ip6" \
	-- lsp-add ls-hv1 hv1p1 \
	-- lsp-set-addresses hv1p1 "$hv1p1_mac $hv1p1_ip4 $hv1p1_ip6" \
	-- lsp-set-port-security hv1p1 "$hv1p1_mac $hv1p1_ip4 $hv1p1_ip6" \
	-- lsp-add ls-hv1 hv1p2 \
	-- lsp-set-addresses hv1p2 "$hv1p2_mac $hv1p2_ip4 $hv1p2_ip6" \
	-- lsp-set-port-security hv1p2 "$hv1p2_mac $hv1p2_ip4 $hv1p2_ip6" \
	-- lsp-add ls-hv1 hv1tor \
	-- lsp-set-type hv1tor router \
	-- lsp-set-options hv1tor router-port=rtohv1 \
	-- lsp-set-addresses hv1tor router

ovn-nbctl lr-add ovn_cluster_router \
	-- lrp-add ovn_cluster_router rtohv0 $hv0tor_mac $hv0tor_ip4/24 $hv0tor_ip6/64 \
	-- lrp-add ovn_cluster_router rtohv1 $hv1tor_mac $hv1tor_ip4/24 $hv1tor_ip6/64 \
	-- lrp-add ovn_cluster_router cluster_router_toj $cluster_router_toj_mac $cluster_router_toj_ip4/16 $cluster_router_toj_ip6/64 \
	-- lrp-set-gateway-chassis rtohv0 $hv0_system_id 10 \
	-- lrp-set-gateway-chassis rtohv1 $hv1_system_id 10 \
	-- --policy=src-ip lr-route-add ovn_cluster_router 10.244.1.0/24 $gr_hv0_toj_ip4 \
	-- --policy=src-ip lr-route-add ovn_cluster_router fd00:10:244:1::/64 $gr_hv0_toj_ip6 \
	-- --policy=src-ip lr-route-add ovn_cluster_router 10.244.2.0/24 $gr_hv1_toj_ip4 \
	-- --policy=src-ip lr-route-add ovn_cluster_router fd00:10:244:2::/64 $gr_hv1_toj_ip6

ovn-nbctl ls-add join \
	-- lsp-add join jto_cluster_router \
	-- lsp-set-type jto_cluster_router router \
	-- lsp-set-options jto_cluster_router router-port=cluster_router_toj \
	-- lsp-set-addresses jto_cluster_router router \
	-- lsp-add join jto_gr_hv0 \
	-- lsp-set-type jto_gr_hv0 router \
	-- lsp-set-options jto_gr_hv0 router-port=gr_hv0_toj \
	-- lsp-set-addresses jto_gr_hv0 router \
	-- lsp-add join jto_gr_hv1 \
	-- lsp-set-type jto_gr_hv1 router \
	-- lsp-set-options jto_gr_hv1 router-port=gr_hv1_toj \
	-- lsp-set-addresses jto_gr_hv1 router

ovn-nbctl lr-add GR-hv0 \
	-- lrp-add GR-hv0 gr_hv0_toj $gr_hv0_toj_mac $gr_hv0_toj_ip4/16 $gr_hv0_toj_ip6/64 \
	-- lrp-add GR-hv0 gr_hv0_toex $gr_hv0_toex_mac $gr_hv0_toex_ip4/24 $gr_hv0_toex_ip6/64 \
	-- set logical_router GR-hv0 options:chassis=$hv0_system_id \
	-- lr-route-add GR-hv0 10.244.0.0/16 $cluster_router_toj_ip4 \
	-- lr-route-add GR-hv0 fd00:10:244::/48 $cluster_router_toj_ip6 \
	-- lr-nat-add GR-hv0 snat $gr_hv0_toex_ip4 10.244.0.0/16 \
	-- lr-nat-add GR-hv0 snat $gr_hv0_toex_ip6 fd00:10:244::/48

ovn-nbctl lr-add GR-hv1 \
	-- lrp-add GR-hv1 gr_hv1_toj $gr_hv1_toj_mac $gr_hv1_toj_ip4/16 $gr_hv1_toj_ip6/64 \
	-- lrp-add GR-hv1 gr_hv1_toex $gr_hv1_toex_mac $gr_hv1_toex_ip4/24 $gr_hv1_toex_ip6/64 \
	-- set logical_router GR-hv1 options:chassis=$hv1_system_id \
	-- lr-route-add GR-hv1 10.244.0.0/16 $cluster_router_toj_ip4 \
	-- lr-route-add GR-hv1 fd00:10:244::/48 $cluster_router_toj_ip6 \
	-- lr-nat-add GR-hv1 snat $gr_hv1_toex_ip4 10.244.0.0/16 \
	-- lr-nat-add GR-hv1 snat $gr_hv1_toex_ip6 fd00:10:244::/48

ovn-nbctl ls-add ext-hv0 \
	-- lsp-add ext-hv0 exto_gr_hv0 \
	-- lsp-set-type exto_gr_hv0 router \
	-- lsp-set-options exto_gr_hv0 router-port=gr_hv0_toex \
	-- lsp-set-addresses exto_gr_hv0 router \
	-- lsp-add ext-hv0 hv0_ln \
	-- lsp-set-type hv0_ln localnet \
	-- lsp-set-options hv0_ln network_name=provider \
	-- lsp-set-addresses hv0_ln unknown

ovn-nbctl ls-add ext-hv1 \
	-- lsp-add ext-hv1 exto_gr_hv1 \
	-- lsp-set-type exto_gr_hv1 router \
	-- lsp-set-options exto_gr_hv1 router-port=gr_hv1_toex \
	-- lsp-set-addresses exto_gr_hv1 router \
	-- lsp-add ext-hv1 hv1_ln \
	-- lsp-set-type hv1_ln localnet \
	-- lsp-set-options hv1_ln network_name=provider \
	-- lsp-set-addresses hv1_ln unknown

ovn-nbctl set logical_router GR-hv0 options:lb_force_snat_ip=router_ip \
	-- set logical_router GR-hv0 options:snat-ct-zone=0 \
	-- set logical_router GR-hv0 options:dynamic_neigh_routers=true \
	-- set logical_router GR-hv1 options:lb_force_snat_ip=router_ip \
	-- set logical_router GR-hv1 options:snat-ct-zone=0 \
	-- set logical_router GR-hv1 options:dynamic_neigh_routers=true

# create_netns $netns_name
# create a netns with specified name, then set lo up
create_netns()  
{
        [ -z "$1" ] && { echo "$0 ns_name, no name is specified"; return 1; }
        local ns_name=$1
        ip netns del $ns_name
        ip netns add $ns_name
        ip netns exec $ns_name ip link set lo up
        return 0
}       
                
# netns_attach_if $ns_name $if_name $mac $ip4 $ip6 $ip4_route $ip6_route                                                                                                                                    
# attach specified if into specified netns, and set specified address for the if(mac, ip, etc.)
netns_attach_if()
{               
        [ $# -lt 2 ] && { echo "usage:$0 ns_name if_name [mac] [ip4] [ip6] [ip4_route] [ip6_route]"; return 1; }
        local ns_name=$1
        local if_name=$2
        ip netns exec $ns_name ip link show &> /dev/null || { echo "$ns_name doesn't exist"; return 2; }
        ip link set $if_name netns $ns_name || { echo "fail to attach"; return 3; }
        [ -n "$3" ] && ip netns exec $ns_name ip link set $if_name address $3
        [ -n "$4" ] && ip netns exec $ns_name ip addr add $4 dev $if_name
        [ -n "$5" ] && ip netns exec $ns_name ip addr add $5 dev $if_name
        ip netns exec $ns_name ip link set $if_name up
        [ -n "$6" ] && ip netns exec $ns_name ip route add default via $6
        [ -n "$7" ] && ip netns exec $ns_name ip -6 route add default via $7
        return 0
                
}

# hv1-host
ovs-vsctl add-port br-int hv1_host -- set interface hv1_host type=internal external_ids:iface-id=hv1-host
ip link set hv1_host address $hv1_host_mac
ip link set hv1_host up
ip addr add $hv1_host_ip4/24 dev hv1_host
ip addr add $hv1_host_ip6/64 dev hv1_host
ip route add 10.244.0.0/16 via $hv1tor_ip4 dev hv1_host
ip -6 route add fd00:10:244::/48 via $hv1tor_ip6 dev hv1_host
ncat -k -l 58111 &

# hv1p1
ovs-vsctl add-port br-int hv1p1 -- set interface hv1p1 type=internal external_ids:iface-id=hv1p1
create_netns hv1p1
netns_attach_if hv1p1 hv1p1 $hv1p1_mac $hv1p1_ip4/24 $hv1p1_ip6/64 $hv1tor_ip4 $hv1tor_ip6
ip netns exec hv1p1 ncat -k -l 58111 &

# hv1p2
ovs-vsctl add-port br-int hv1p2 -- set interface hv1p2 type=internal external_ids:iface-id=hv1p2
create_netns hv1p2
netns_attach_if hv1p2 hv1p2 $hv1p2_mac $hv1p2_ip4/24 $hv1p2_ip6/64 $hv1tor_ip4 $hv1tor_ip6
ip netns exec hv1p2 ncat -k -l 58111 &

# ext1
ovs-vsctl add-port br-ex ext1 -- set interface ext1 type=internal
create_netns ext1
netns_attach_if ext1 ext1 $ext1_mac $ext1_ip4/24 $ext1_ip6/64
ip netns exec ext1 sysctl -w net.ipv4.conf.all.rp_filter=0
ip netns exec ext1 sysctl -w net.ipv4.conf.all.forwarding=1
ip netns exec ext1 sysctl -w net.ipv6.conf.all.forwarding=1
ip netns exec ext1 ncat -k -l 58111 &

4. create netns on client

mac_prefix=0a:0a:b6:fc:
ip_subnet=189

hv0_host_mac="00:00:00:00:00:10"
hv0_host_ip4="10.244.1.10"
hv0_host_ip6="fd00:10:244:1::10"
hv0p1_mac="00:00:00:00:00:11"
hv0p1_ip4="10.244.1.11"
hv0p1_ip6="fd00:10:244:1::11"
hv0p2_mac="00:00:00:00:00:12"
hv0p2_ip4="10.244.1.12"
hv0p2_ip6="fd00:10:244:1::12"

hv1_host_mac="00:00:00:00:01:10"
hv1_host_ip4="10.244.2.10"
hv1_host_ip6="fd00:10:244:2::10"
hv1p1_mac="00:00:00:00:01:11"
hv1p1_ip4="10.244.2.11"
hv1p1_ip6="fd00:10:244:2::11"                                                                         
hv1p2_mac="00:00:00:00:01:12"
hv1p2_ip4="10.244.2.12"
hv1p2_ip6="fd00:10:244:2::12"

hv0tor_mac="00:00:00:0f:00:01"
hv0tor_ip4="10.244.1.1"
hv0tor_ip6="fd00:10:244:1::1"
hv1tor_mac="00:00:00:0f:01:01"
hv1tor_ip4="10.244.2.1"
hv1tor_ip6="fd00:10:244:2::1"                                                      

cluster_router_toj_mac="00:00:00:0f:02:01"
cluster_router_toj_ip4="100.64.0.1"
cluster_router_toj_ip6="fd98::1"

gr_hv0_toj_mac="00:00:00:0f:02:02"
gr_hv0_toj_ip4="100.64.0.2"
gr_hv0_toj_ip6="fd98::2"
gr_hv0_toex_mac="${mac_prefix}03:11"                                                                  
gr_hv0_toex_ip4="10.89.$ip_subnet.11"                                                                 
gr_hv0_toex_ip6="fc00:$ip_subnet::11"                                                                 
                                                                                                      
gr_hv1_toj_mac="00:00:00:0f:02:03"                                                                    
gr_hv1_toj_ip4="100.64.0.3"                                                                           
gr_hv1_toj_ip6="fd98::3"                                                                              
gr_hv1_toex_mac="${mac_prefix}03:12"                                                                  
gr_hv1_toex_ip4="10.89.$ip_subnet.12"                                                                 
gr_hv1_toex_ip6="fc00:$ip_subnet::12"                                                                 
                                                                                                      
ext1_mac="${mac_prefix}03:01"                                                                         
ext1_ip4="10.89.$ip_subnet.1"                                                                         
ext1_ip6="fc00:$ip_subnet::1"                                                                         
ext2_mac="${mac_prefix}03:02"                                                                         
ext2_ip4="10.89.$ip_subnet.2"                                                                         
ext2_ip6="fc00:$ip_subnet::2"

# create_netns $netns_name
# create a netns with specified name, then set lo up
create_netns()  
{
        [ -z "$1" ] && { echo "$0 ns_name, no name is specified"; return 1; }
        local ns_name=$1
        ip netns del $ns_name
        ip netns add $ns_name
        ip netns exec $ns_name ip link set lo up
        return 0
}       
                
# netns_attach_if $ns_name $if_name $mac $ip4 $ip6 $ip4_route $ip6_route                                                                                                                                    
# attach specified if into specified netns, and set specified address for the if(mac, ip, etc.)
netns_attach_if()
{               
        [ $# -lt 2 ] && { echo "usage:$0 ns_name if_name [mac] [ip4] [ip6] [ip4_route] [ip6_route]"; return 1; }
        local ns_name=$1
        local if_name=$2
        ip netns exec $ns_name ip link show &> /dev/null || { echo "$ns_name doesn't exist"; return 2; }
        ip link set $if_name netns $ns_name || { echo "fail to attach"; return 3; }
        [ -n "$3" ] && ip netns exec $ns_name ip link set $if_name address $3
        [ -n "$4" ] && ip netns exec $ns_name ip addr add $4 dev $if_name
        [ -n "$5" ] && ip netns exec $ns_name ip addr add $5 dev $if_name
        ip netns exec $ns_name ip link set $if_name up
        [ -n "$6" ] && ip netns exec $ns_name ip route add default via $6
        [ -n "$7" ] && ip netns exec $ns_name ip -6 route add default via $7
        return 0
                
}

# hv0-host
ovs-vsctl add-port br-int hv0_host -- set interface hv0_host type=internal external_ids:iface-id=hv0-host
ip link set hv0_host address $hv0_host_mac
ip link set hv0_host up
ip addr add $hv0_host_ip4/24 dev hv0_host
ip addr add $hv0_host_ip6/24 dev hv0_host
ip route add 10.244.0.0/16 via $hv0tor_ip4 dev hv0_host
ip -6 route add fd00:10:244::/48 via $hv0tor_ip6 dev hv0_host
ncat -k -l 58111 &

# hv0p1
ovs-vsctl add-port br-int hv0p1 -- set interface hv0p1 type=internal external_ids:iface-id=hv0p1
create_netns hv0p1
netns_attach_if hv0p1 hv0p1 $hv0p1_mac $hv0p1_ip4/24 $hv0p1_ip6/64 $hv0tor_ip4 $hv0tor_ip6
ip netns exec hv0p1 ncat -k -l 58111 &

# hv0p2
ovs-vsctl add-port br-int hv0p2 -- set interface hv0p2 type=internal external_ids:iface-id=hv0p2
create_netns hv0p2
netns_attach_if hv0p2 hv0p2 $hv0p2_mac $hv0p2_ip4/24 $hv0p2_ip6/64 $hv0tor_ip4 $hv0tor_ip6
ip netns exec hv0p2 ncat -k -l 58111 &

# ext2
ovs-vsctl add-port br-ex ext2 -- set interface ext2 type=internal
create_netns ext2
netns_attach_if ext2 ext2 $ext2_mac $ext2_ip4/24 $ext2_ip6/64
ip netns exec ext2 sysctl -w net.ipv4.conf.all.rp_filter=0
ip netns exec ext2 sysctl -w net.ipv4.conf.all.forwarding=1
ip netns exec ext2 sysctl -w net.ipv6.conf.all.forwarding=1
ip netns exec ext2 ncat -k -l 58111 &


5. run ip netns exec hv1p1 ping 10.89.189.1 -c 1 -w 2 -W2

Actual results:
+ ip netns exec hv1p1 ping 10.89.189.1 -c 1                                                           
PING 10.89.189.1 (10.89.189.1) 56(84) bytes of data.                                                  
                                                                                                      
--- 10.89.189.1 ping statistics ---                                                                   
1 packets transmitted, 0 received, 100% packet loss, time 0ms
[root@wsfd-advnetlab18 ~]# ip netns exec hv1p1 tcpdump -i hv1p1 -nnle -v
03:58:55.107752 00:00:00:00:01:11 > 00:00:00:0f:01:01, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 24844, offset 0, flags [DF], proto ICMP (1), length 84)
    10.244.2.11 > 10.89.189.1: ICMP echo request, id 33700, seq 1, length 64 

<=== echo reply is not received by hv1p1

[root@wsfd-advnetlab18 ~]# ip netns exec ext1 tcpdump -i ext1 -nnle -v
03:58:55.111467 0a:0a:b6:fc:03:12 > 0a:0a:b6:fc:03:01, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 62, id 24844, offset 0, flags [DF], proto ICMP (1), length 84)
    10.89.189.12 > 10.89.189.1: ICMP echo request, id 33700, seq 1, length 64                         
03:58:55.111522 0a:0a:b6:fc:03:01 > 0a:0a:b6:fc:03:12, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 22727, offset 0, flags [none], proto ICMP (1), length 84)
    10.89.189.1 > 10.89.189.12: ICMP echo reply, id 33700, seq 1, length 64   
 
<=== echo reply is sent from ext1

Expected results:
pass

Additional info:

[root@wsfd-advnetlab18 bz2109768]# rpm -qa | grep -E "openvswitch2.17|ovn22.06"                       
openvswitch2.17-2.17.0-43.el9fdp.x86_64                                                               
python3-openvswitch2.17-2.17.0-43.el9fdp.x86_64                                                       
ovn22.06-22.06.0-57.el9fdp.x86_64                                                                     
ovn22.06-central-22.06.0-57.el9fdp.x86_64                                                             
ovn22.06-host-22.06.0-57.el9fdp.x86_64

the second ping would pass:
[root@wsfd-advnetlab18 bz2109768]# bash -x test.sh                                                    
+ ip netns exec hv1p1 ping 10.89.189.1 -c 1                                                           
PING 10.89.189.1 (10.89.189.1) 56(84) bytes of data.                                                  
                                                                                                      
--- 10.89.189.1 ping statistics ---                                                                   
1 packets transmitted, 0 received, 100% packet loss, time 0ms                                         
                                                                                                      
[root@wsfd-advnetlab18 bz2109768]# bash -x test.sh                                                    
+ ip netns exec hv1p1 ping 10.89.189.1 -c 1                                                           
PING 10.89.189.1 (10.89.189.1) 56(84) bytes of data.                                                  
64 bytes from 10.89.189.1: icmp_seq=1 ttl=62 time=2.60 ms                                             
                                                                                                      
--- 10.89.189.1 ping statistics ---                                                                   
1 packets transmitted, 1 received, 0% packet loss, time 0ms                                           
rtt min/avg/max/mdev = 2.600/2.600/2.600/0.000 ms 

the issue also exist on old version ovn22.06-22.06.0-27, but there is err log on ovn22.06-22.06.0-27 as shown in bz2109768.
and on ovn22.06-22.06.0-57, the err log disappeared. the ping still fail.

Comment 2 OVN Bot 2023-01-18 05:06:59 UTC
ovn22.12 fast-datapath-rhel-8 clone created at https://bugzilla.redhat.com/show_bug.cgi?id=2161846
ovn22.12 fast-datapath-rhel-9 clone created at https://bugzilla.redhat.com/show_bug.cgi?id=2161847
ovn22.09 fast-datapath-rhel-8 clone created at https://bugzilla.redhat.com/show_bug.cgi?id=2161848
ovn22.09 fast-datapath-rhel-9 clone created at https://bugzilla.redhat.com/show_bug.cgi?id=2161849
ovn22.06 fast-datapath-rhel-9 clone created at https://bugzilla.redhat.com/show_bug.cgi?id=2161850
ovn22.03 fast-datapath-rhel-8 clone created at https://bugzilla.redhat.com/show_bug.cgi?id=2161851
ovn22.03 fast-datapath-rhel-9 clone created at https://bugzilla.redhat.com/show_bug.cgi?id=2161852
ovn-2021 fast-datapath-rhel-8 clone created at https://bugzilla.redhat.com/show_bug.cgi?id=2161853
ovn-2021 fast-datapath-rhel-9 clone created at https://bugzilla.redhat.com/show_bug.cgi?id=2161854

Comment 5 Jianlin Shi 2023-02-15 01:16:00 UTC
Verified on ovn22.06-22.06.0-115.el8:

[root@wsfd-advnetlab16 bz2129283]# ip netns exec hv1p1 ping 10.89.189.1 -c 1 -w 2 -W2                 
PING 10.89.189.1 (10.89.189.1) 56(84) bytes of data.                                                  
64 bytes from 10.89.189.1: icmp_seq=1 ttl=62 time=9.11 ms                                             
                                                                                                      
--- 10.89.189.1 ping statistics ---                                                                   
1 packets transmitted, 1 received, 0% packet loss, time 0ms                                           
rtt min/avg/max/mdev = 9.108/9.108/9.108/0.000 ms                                                     

<=== the first ping passed
                                                  
[root@wsfd-advnetlab16 bz2129283]# rpm -qa | grep -E "openvswitch2.17|ovn22.06"                       
python3-openvswitch2.17-2.17.0-60.el8fdp.x86_64                                                       
ovn22.06-host-22.06.0-115.el8fdp.x86_64                                                               
openvswitch2.17-2.17.0-60.el8fdp.x86_64                                                               
ovn22.06-22.06.0-115.el8fdp.x86_64                                                                    
ovn22.06-central-22.06.0-115.el8fdp.x86_64

Comment 7 errata-xmlrpc 2023-03-16 10:15:06 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 (ovn22.06 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-2023:1290