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 1937662

Summary: ping over localport after destroy port_binding for localport
Product: Red Hat Enterprise Linux Fast Datapath Reporter: Jianlin Shi <jishi>
Component: ovn2.13Assignee: lorenzo bianconi <lorenzo.bianconi>
Status: CLOSED CURRENTRELEASE QA Contact: Jianlin Shi <jishi>
Severity: medium Docs Contact:
Priority: medium    
Version: FDP 21.BCC: ctrautma, eelahi, jiji, jishi, lorenzo.bianconi, ralongi, yinxu
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: Environment:
Last Closed: 2023-03-13 07:21:20 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 2021-03-11 09:45:38 UTC
Description of problem:
ping over localport after destroy port_binding for localport

Version-Release number of selected component (if applicable):
ovn2.13-20.12.0-24

How reproducible:
Always

Steps to Reproduce:
systemctl start openvswitch
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.174.26:6642 external_ids:ovn-encap-type=geneve external_ids:ovn-encap-ip=20.0.174.26
systemctl restart ovn-controller
                                                                                                
ovn-nbctl ls-add ls1                                                                   
ovn-nbctl lsp-add ls1 ls1p1                                                                     
ovn-nbctl lsp-set-addresses ls1p1 "00:00:00:01:01:01 192.168.1.1 2001::1"
ovn-nbctl lsp-add ls1 ls1p2 
ovn-nbctl lsp-set-addresses ls1p2 "00:00:00:01:01:02 192.168.1.2 2001::2"
ovn-nbctl lsp-add ls1 lp                                       
ovn-nbctl lsp-set-type lp localport     
ovn-nbctl lsp-set-addresses lp "00:00:00:01:01:11 192.168.1.11 2001::11"
                                                    
ovn-nbctl lr-add lr1                                                
ovn-nbctl lrp-add lr1 lr1-ls1 00:00:00:00:00:01 192.168.1.254/24 2001::a/64
ovn-nbctl lsp-add ls1 ls1-lr1
ovn-nbctl lsp-set-addresses ls1-lr1 "00:00:00:00:00:01 192.168.1.254 2001::a"
ovn-nbctl lsp-set-type ls1-lr1 router
ovn-nbctl lsp-set-options ls1-lr1 router-port=lr1-ls1    
                                  
ovn-nbctl lrp-add lr1 lr1-ls2 00:00:00:00:00:02 192.168.2.254/24 2002::a/64
                                               
ovn-nbctl ls-add ls2                                          
ovn-nbctl lsp-add ls2 ls2-lr1                              
ovn-nbctl lsp-set-addresses ls2-lr1 "00:00:00:00:00:02 192.168.2.254 2002::a"
ovn-nbctl lsp-set-type ls2-lr1 router
ovn-nbctl lsp-set-options ls2-lr1 router-port=lr1-ls2
                                                               
ovn-nbctl lsp-add ls2 ls2p1             
ovn-nbctl lsp-set-addresses ls2p1 "00:00:00:01:02:01 192.168.2.1 2002::1"
ovn-nbctl lsp-add ls2 ls2p2                         
ovn-nbctl lsp-set-addresses ls2p2 "00:00:00:01:02:02 192.168.2.2 2002::2"
                                                                 
ovs-vsctl add-port br-int ls1p1 -- set interface ls1p1 type=internal external_ids:iface-id=ls1p1
ovs-vsctl add-port br-int lp -- set interface lp type=internal external_ids:iface-id=lp
ovs-vsctl add-port br-int ls2p1 -- set interface ls2p1 type=internal external_ids:iface-id=ls2p1
                                                                                
ip netns add ls1p1                     
ip link set ls1p1 netns ls1p1              
ip netns exec ls1p1 ip link set ls1p1 address 00:00:00:01:01:01
ip netns exec ls1p1 ip link set ls1p1 up
ip netns exec ls1p1 ip addr add 192.168.1.1/24 dev ls1p1
ip netns exec ls1p1 ip addr add 2001::1/64 dev ls1p1
ip netns exec ls1p1 ip route add default via 192.168.1.254 dev ls1p1
ip netns exec ls1p1 ip -6 route add default via 2001::a dev ls1p1

ip netns add lp
ip link set lp netns lp
ip netns exec lp ip link set lp address 00:00:00:01:01:11
ip netns exec lp ip link set lp up
ip netns exec lp ip addr add 192.168.1.11/24 dev lp
ip netns exec lp ip addr add 2001::11/64 dev lp
ip netns exec lp ip route add default via 192.168.1.254 dev lp
ip netns exec lp ip -6 route add default via 2001::a dev lp 

ip netns add ls2p1
ip link set ls2p1 netns ls2p1
ip netns exec ls2p1 ip link set ls2p1 address 00:00:00:01:02:01
ip netns exec ls2p1 ip link set ls2p1 up
ip netns exec ls2p1 ip addr add 192.168.2.1/24 dev ls2p1
ip netns exec ls2p1 ip addr add 2002::1/64 dev ls2p1
ip netns exec ls2p1 ip route add default via 192.168.2.254 dev ls2p1
ip netns exec ls2p1 ip -6 route add default via 2002::a dev ls2p1

ip netns exec lp ping 192.168.1.1 -c 1
ovn-sbctl find port_binding logical_port=lp
lp_uuid=$(ovn-sbctl find port_binding logical_port=lp | awk '/_uuid/{print $3}')
ovn-sbctl destroy port_binding $lp_uuid
ovn-sbctl find port_binding logical_port=lp
ip netns exec lp ping 192.168.1.1 -c 1

Actual results:
+ ip netns exec lp ping 192.168.1.1 -c 1                                                                                                                                                                    
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.                                                                                                                                                        
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=1001 ms                                                                                                                                                   
                                                                                                                                                                                                            
--- 192.168.1.1 ping statistics ---                                                                                                                                                                         
1 packets transmitted, 1 received, 0% packet loss, time 0ms                                                                                                                                                 
rtt min/avg/max/mdev = 1001.860/1001.860/1001.860/0.000 ms                                                                                                                                                  
+ ovn-sbctl find port_binding logical_port=lp                                                                                                                                                               
_uuid               : e08880f1-39c9-43b2-90a8-2d3278d99454                                                                                                                                                  
chassis             : []                                                                                                                                                                                    
datapath            : 932f2e63-0d06-4afb-9523-59b4cecb0685                                                                                                                                                  
encap               : []                                                                                                                                                                                    
external_ids        : {}                                                                                                                                                                                    
gateway_chassis     : []                                                                                                                                                                                    
ha_chassis_group    : []       
logical_port        : lp                                                   
mac                 : ["00:00:00:01:01:11 192.168.1.11 2001::11"]
nat_addresses       : []                                                     
options             : {}                            
parent_port         : []                             
tag                 : []           
tunnel_key          : 3                                                    
type                : localport
up                  : false                              
virtual_parent      : []                
++ ovn-sbctl find port_binding logical_port=lp                               
++ awk '/_uuid/{print $3}'           
+ lp_uuid=e08880f1-39c9-43b2-90a8-2d3278d99454       
+ ovn-sbctl destroy port_binding e08880f1-39c9-43b2-90a8-2d3278d99454
+ ovn-sbctl find port_binding logical_port=lp
_uuid               : 61351186-ceee-457a-8d5b-19c5cfee6621               
chassis             : []          
datapath            : 932f2e63-0d06-4afb-9523-59b4cecb0685                                                                                                           
encap               : []        
external_ids        : {}                                                                        
gateway_chassis     : []                                                               
ha_chassis_group    : []                                                                        
logical_port        : lp                                                 
mac                 : ["00:00:00:01:01:11 192.168.1.11 2001::11"]
nat_addresses       : []                                                 
options             : {}                                       
parent_port         : []                
tag                 : []                                                
tunnel_key          : 5                             
type                : localport                                     
up                  : false                                                
virtual_parent      : []     
+ ip netns exec lp ping 192.168.1.1 -c 1                                     
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
                                                         
--- 192.168.1.1 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms

Expected results:
ping should pass

Additional info:

Comment 6 lorenzo bianconi 2021-10-12 14:40:34 UTC
fixed in ovn-21.09.90-1.el8.x86_64