Uploaded image for project: 'Fast Datapath Product'
  1. Fast Datapath Product
  2. FDP-398

route is not learned for special subnet in ovn interconnection

    • Icon: Bug Bug
    • Resolution: Not a Bug
    • Icon: Major Major
    • None
    • OVN FDP 24.C
    • ovn23.09
    • 8
    • False
    • Hide

      None

      Show
      None
    • False
    • None
    • FDP 24.E
    • 1
    • Moderate
    • -

      description:

      route is not learnt for special subnet

      affected version:

      ovn23.09-23.09.0-103.el9fdp.x86_64

      reproducer:

       

      1. server:
      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.209.25:6642 external_ids:ovn-encap-type=geneve external_ids:ovn-encap-ip=20.0.209.25
      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 ls-add ls3                                                                                  
      ovn-nbctl lsp-add ls3 ls3p1             
      ovn-nbctl lsp-set-addresses ls3p1 "00:00:00:00:03:01 192.168.3.1 2003::1"
                                                                                                            
      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-ls3 00:00:00:00:03:00 192.168.3.254/24 2003::a/64
      ovn-nbctl lsp-add ls3 ls3-lr1 \
      	-- lsp-set-addresses ls3-lr1 router \
      	-- lsp-set-type ls3-lr1 router \
      	-- lsp-set-options ls3-lr1 router-port=lr1-ls3 
      
      
      ovs-vsctl add-port br-int ls3p1 -- set interface ls3p1 type=internal external_ids:iface-id=ls3p1
      ip netns add ls3p1                                                                                                                                                                                          
      ip link set ls3p1 netns ls3p1                                                                                                                                                                               
      ip netns exec ls3p1 ip link set ls3p1 address 00:00:00:00:03:01
      ip netns exec ls3p1 ip link set ls3p1 up           
      ip netns exec ls3p1 ip addr add 192.168.3.1/24 dev ls3p1                       
      ip netns exec ls3p1 ip route add default via 192.168.3.254    
      ip netns exec ls3p1 ip -6 addr add 2003::1/64 dev ls3p1
      ip netns exec ls3p1 ip -6 route add default via 2003::a
                                                         
      ovs-vsctl add-port br-int ls1p1 -- set interface ls1p1 type=internal external_ids:iface-id=ls1p1
      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 route add default via 192.168.1.254
      ip netns exec ls1p1 ip -6 addr add 2001::1/64 dev ls1p1
      ip netns exec ls1p1 ip -6 route add default via 2001::a
      ovs-vsctl add-port br-int ls1p2 -- set interface ls1p2 type=internal external_ids:iface-id=ls1p2
      ip netns add ls1p2
      ip link set ls1p2 netns ls1p2
      ip netns exec ls1p2 ip link set ls1p2 address 00:00:00:01:01:02
      ip netns exec ls1p2 ip link set ls1p2 up
      ip netns exec ls1p2 ip addr add 192.168.1.2/24 dev ls1p2
      ip netns exec ls1p2 ip route add default via 192.168.1.254
      ip netns exec ls1p2 ip -6 addr add 2001::2/64 dev ls1p2
      ip netns exec ls1p2 ip -6 route add default via 2001::a
      
      
      ovn-nbctl set NB_Global . name=az2
      /usr/share/ovn/scripts/ovn-ctl --db-ic-nb-create-insecure-remote=yes --db-ic-sb-create-insecure-remote=yes start_ic_ovsdb
      /usr/share/ovn/scripts/ovn-ctl --ovn-ic-nb-db=tcp:20.0.209.25:6645 --ovn-ic-sb-db=tcp:20.0.209.25:6646 --ovn-northd-nb-db=tcp:20.0.209.25:6641 --ovn-northd-sb-db=tcp:20.0.209.25:6642 start_ic
      ovs-vsctl set open_vswitch . external_ids:ovn-is-interconn=true
      ovn-ic-nbctl ts-add ts1
      
      
      ovn-nbctl lrp-add lr1 lr1-ts1 aa:aa:aa:aa:aa:02 169.254.100.2/24 169:254:100::2/64
      ovn-nbctl lsp-add ts1 ts1-lr1 -- \
      	        lsp-set-addresses ts1-lr1 router -- \
      		        lsp-set-type ts1-lr1 router -- \
      			        lsp-set-options ts1-lr1 router-port=lr1-ts1
      ovn-nbctl lrp-set-gateway-chassis lr1-ts1 hv1
      ovn-nbctl set NB_Global . options:ic-route-adv=true options:ic-route-learn=true
      2. client:
      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=hv0 external_ids:ovn-remote=tcp:20.0.209.26:6642 external_ids:ovn-encap-type=geneve external_ids:ovn-encap-ip=20.0.209.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.2.1 2002::1"                             
      ovn-nbctl lsp-add ls1 ls1p2
      ovn-nbctl lsp-set-addresses ls1p2 "00:00:00:01:01:02 192.168.2.2 2002::2"                             
      
      
      ovn-nbctl lr-add lr2
      ovn-nbctl lrp-add lr2 lr2-ls1 00:00:00:00:00:01 192.168.2.254/24 2002::a/64                           
      ovn-nbctl lsp-add ls1 ls1-lr2                                                                         
      ovn-nbctl lsp-set-addresses ls1-lr2 "00:00:00:00:00:01 192.168.2.254 2002::a"
      ovn-nbctl lsp-set-type ls1-lr2 router                                                                 
      ovn-nbctl lsp-set-options ls1-lr2 router-port=lr2-ls1                                                 
      
      
      ovs-vsctl add-port br-int ls1p1 -- set interface ls1p1 type=internal external_ids:iface-id=ls1p1      
      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.2.1/24 dev ls1p1                                              
      ip netns exec ls1p1 ip route add default via 192.168.2.254
      ip netns exec ls1p1 ip -6 addr add 2002::1/64 dev ls1p1                                               
      ip netns exec ls1p1 ip -6 route add default via 2002::a                                               
      
      
      ovs-vsctl add-port br-int ls1p2 -- set interface ls1p2 type=internal external_ids:iface-id=ls1p2      
      ip netns add ls1p2
      ip link set ls1p2 netns ls1p2
      ip netns exec ls1p2 ip link set ls1p2 address 00:00:00:01:01:02                                       
      ip netns exec ls1p2 ip link set ls1p2 up
      ip netns exec ls1p2 ip addr add 192.168.2.2/24 dev ls1p2                                              
      ip netns exec ls1p2 ip route add default via 192.168.2.254                                            
      ip netns exec ls1p2 ip -6 addr add 2002::2/64 dev ls1p2
      ip netns exec ls1p2 ip -6 route add default via 2002::a                                               
      
      
      ovn-nbctl set NB_Global . name=az1
      /usr/share/ovn/scripts/ovn-ctl --ovn-ic-nb-db=tcp:20.0.209.25:6645 --ovn-ic-sb-db=tcp:20.0.209.25:6646 --ovn-northd-nb-db=tcp:20.0.209.26:6641 --ovn-northd-sb-db=tcp:20.0.209.26:6642 start_ic
      ovs-vsctl set open_vswitch . external_ids:ovn-is-interconn=true                                       
                          
      ovn-nbctl lrp-add lr2 lr2-ts1 aa:aa:aa:aa:aa:01 169.254.100.1/24 169:254:100::1/64
      ovn-nbctl lsp-add ts1 ts1-lr2 -- \
      	lsp-set-addresses ts1-lr2 router -- \
      	lsp-set-type ts1-lr2 router -- \
      	lsp-set-options ts1-lr2 router-port=lr2-ts1                                                   
      ovn-nbctl lrp-add lr2 lr2-ts2 aa:aa:aa:aa:02:01 169.254.102.1/24 169:254:102::1/64
      ovn-nbctl lrp-set-gateway-chassis lr2-ts1 hv0                                                         
      ovn-nbctl set NB_Global . options:ic-route-adv=true options:ic-route-learn=true

      expected result:

      route for 169.254.102.0/24 should be learned

      actual result:

      the route is not learned

      [root@wsfd-advnetlab18 test]# ovn-nbctl lr-route-list lr1                                             

      IPv4 Routes                                                                                           

      Route Table <main>:                                                                                   

                 192.168.2.0/24             169.254.100.1 dst-ip (learned)                                  

                                                                                                            

      IPv6 Routes                                                                                           

      Route Table <main>:                                                                                   

               169:254:102::/64            169:254:100::1 dst-ip (learned)                                  

                      2002::/64            169:254:100::1 dst-ip (learned)

       

      [root@wsfd-advnetlab18 test]# rpm -qa | grep -E "openvswitch|ovn"

      openvswitch-selinux-extra-policy-1.0-34.el9fdp.noarch                                                 

      openvswitch3.2-3.2.0-52.el9fdp.x86_64                                                                 

      python3-openvswitch3.2-3.2.0-52.el9fdp.x86_64                                                         

      ovn23.09-23.09.0-103.el9fdp.x86_64                                                                    

      ovn23.09-central-23.09.0-103.el9fdp.x86_64                                                            

      ovn23.09-host-23.09.0-103.el9fdp.x86_64                                                               

      [root@wsfd-advnetlab18 test]# uname -a                                                                

      Linux wsfd-advnetlab18.anl.eng.rdu2.dc.redhat.com 5.14.0-422.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Feb 15 21:08:17 EST 2024 x86_64 x86_64 x86_64 GNU/Linux

       

              mheib@redhat.com Mohammad Heib
              rhn-support-jishi Jianlin Shi
              Jianlin Shi Jianlin Shi
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: