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

QE verification: route won't be learned by ovn when dynamic-routing-port-name is set for lrp

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • ovn25.09
    • False
    • Hide

      None

      Show
      None
    • False
    • Hide

      ( ) The bug has been reproduced and verified by QE members
      ( ) Test coverage has been added to downstream CI
      ( ) For new feature, failed test plans have bugs added as children to the epic
      ( ) The bug is cloned to any relevant release that we support and/or is needed

      Show
      ( ) The bug has been reproduced and verified by QE members ( ) Test coverage has been added to downstream CI ( ) For new feature, failed test plans have bugs added as children to the epic ( ) The bug is cloned to any relevant release that we support and/or is needed
    • rhel-9
    • None

      This ticket is tracking the QE verification effort for the solution to the problem described below.

       Problem Description: Clearly explain the issue.

      route won't be learned by ovn when dynamic-routing-port-name is set for lrp

       Impact Assessment: Describe the severity and impact (e.g., network down,availability of a workaround, etc.).

       

       Software Versions: Specify the exact versions in use (e.g.,openvswitch3.1-3.1.0-147.el8fdp).

      ovn25.09-25.09.0-25.el9fdp.x86_64

        Issue Type: Indicate whether this is a new issue or a regression (if a regression, state the last known working version).

      regression

       Reproducibility: Confirm if the issue can be reproduced consistently. If not, describe how often it occurs.

      Always

       Reproduction Steps: Provide detailed steps or scripts to replicate the issue.

       

      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:127.0.0.1:6642 external_ids:ovn-encap-type=geneve external_ids:ovn-encap-ip=127.0.0.1
      systemctl restart ovn-controller
      
      
      ovs-vsctl add-br br-nat
      ovs-vsctl set open . external_ids:ovn-bridge-mappings=phy:br-nat
      ip link set br-nat up
      ovs-vsctl add-port br-nat ens1f1np1
      
      
      ovn-nbctl lr-add lr-tenant          \
      	-- lrp-add lr-tenant lr-tenant-public 00:00:00:00:00:42 20.0.0.42/8 2002::42/64         \
      	-- ls-add ls-tenant             \
      	-- lrp-add lr-tenant lr-tenant-ls 00:00:00:00:01:0a 192.168.1.254/24 1101::254/64               \
      	-- lsp-add ls-tenant ls-tenant-lr               \
      	-- set logical_switch_port ls-tenant-lr                 \
      	type=router options:router-port=lr-tenant-ls            \
      	-- lsp-set-addresses ls-tenant-lr router                \
      	-- lr-route-add lr-tenant 0.0.0.0/0 20.0.0.2 lr-tenant-public
      ovn-nbctl ls-add public             \
      	-- lr-add lr-bgp
      ovn-nbctl           \
      	-- lrp-add lr-bgp lr-bgp-pub 00:00:00:00:00:03 20.0.0.2/8 2002::2/64            \
      	-- lsp-add public pub-lr-bgp            \
      	-- set logical_switch_port pub-lr-bgp type=router               \
      	options:router-port=lr-bgp-pub          \
      	-- lsp-set-addresses pub-lr-bgp router          \
      	-- lsp-add public pub-lr-tenant                 \
      	-- set logical_switch_port pub-lr-tenant type=router            \
      	options:router-port=lr-tenant-public            \
      	-- lsp-add public pub-ln                \
      	-- lsp-set-type pub-ln localnet                 \
      	-- lsp-set-addresses pub-ln unknown             \
      	-- lsp-set-options pub-ln network_name=phy
      
      
      ovn-nbctl lsp-add ls-tenant ls1p1           \
      	-- lsp-set-addresses ls1p1 "00:00:00:00:01:01 192.168.1.1 1101::1"              \
      	-- lsp-add ls-tenant ls1p2              \
      	-- lsp-set-addresses ls1p2 "00:00:00:00:01:02 192.168.1.2 1101::2"
      ovn-nbctl lr-add lr2                \
      	-- lrp-add lr2 lr2-pub 00:00:00:00:00:52 20.2.0.52/8 2202::52/64                \
      	-- ls-add ls2           \
      	-- lrp-add lr2 lr2-ls2 00:00:00:00:02:0a 192.168.2.254/24 1102::254/64          \
      	-- lsp-add ls2 ls2-lr2          \
      	-- set logical_switch_port ls2-lr2 type=router          options:router-port=lr2-ls2             \
      	-- lsp-set-addresses ls2-lr2 router
      ovn-nbctl ls-add public2            \
      	-- lsp-add public2 pub2-lr2             \
      	-- set logical_switch_port pub2-lr2 type=router                 \
      	options:router-port=lr2-pub             \
      	-- lrp-add lr-bgp lr-bgp-pub2 00:00:00:ff:00:02                 \
      	-- lsp-add public2 pub2-bgp             \
      	-- set logical_switch_port pub2-bgp type=router                 \
      	options:router-port=lr-bgp-pub2
      ovn-nbctl lsp-add ls2 ls2p1                 \
      	-- lsp-set-addresses ls2p1 "00:00:00:00:02:01 192.168.2.1 1102::1"              \
      	-- lsp-add ls2 ls2p2            \
      	-- lsp-set-addresses ls2p2 "00:00:00:00:02:02 192.168.2.2 1102::2"
      ovn-nbctl ls-add phy\
      	-- lrp-add lr-bgp lr-bgp-phy 00:00:01:01:ff:01 30.1.1.2/24 30:1:1::2/64\
      	-- lsp-add phy phy-lr-bgp\
      	-- set logical_switch_port phy-lr-bgp  type=router\
      	options:router-port=lr-bgp-phy\
      	-- lsp-set-addresses phy-lr-bgp router\
      	-- lsp-add phy phy-ln\
      	-- lsp-set-type phy-ln localnet\
      	-- lsp-set-addresses phy-ln unknown\
      	-- lsp-set-options phy-ln network_name=phy\
      	-- lsp-add phy vrf_learn
      ovs-vsctl add-port br-int vrf_learn\
      	-- set interface vrf_learn type=internal external-ids:iface-id=vrf_learn
      ip link set vrf_learn up
      ovn-nbctl set logical_router lr-bgp options:chassis=hv1
      ovn-nbctl set logical_router_port lr-bgp-pub2 options:dynamic-routing-maintain-vrf=true\
      	-- set logical_router_port lr-bgp-pub options:dynamic-routing-maintain-vrf=true\
      	-- remove logical_router lr-bgp options dynamic-routing-vrf-name
      ovn-nbctl set logical_router lr-bgp options:dynamic-routing=true\
      	options:requested-tnl-key=15\
      	-- set logical_router lr-bgp options:dynamic-routing-redistribute=connected,connected-as-host,static,lb,nat
      ovn-nbctl set logical_router_port lr-bgp-pub options:dynamic-routing-port-name=vrf_learn
      ovn-nbctl --wait=sb sync
      sleep 1
      ip route add 174.17.17.22 via 192.168.20.20 dev vrf_learn onlink vrf ovnvrf15
      ip -6 route add 174:17:17::22 via 192:168:20::20 dev vrf_learn onlink vrf ovnvrf15
      ip route add 172.20.2.1 via 172.17.86.111 vrf ovnvrf15
      ip route list vrf ovnvrf15
      ovn-nbctl --wait=sb sync
      ovn-sbctl find port_binding logical_port=lr-bgp-pub
      ovn-sbctl find port_binding logical_port=lr-bgp-pub2
      sleep 5
      ovn-sbctl list learned_route
      ovn-nbctl --wait=sb remove logical_router_port lr-bgp-pub options dynamic-routing-port-name
      sleep 1
      ovn-sbctl list learned_route 

       Expected Behavior: Describe what should happen under normal circumstances.

      route should be learned

       Observed Behavior: Explain what actually happens.

      no route is learned by ovn when dynamic-routing-port-name is set for lr-bgp-pub

       Troubleshooting Actions: Outline the steps taken to diagnose or resolve the issue so far.

       

       Logs: If you collected logs please provide them (e.g. sos report, /var/log/openvswitch/* , testpmd console)

       

      [root@wsfd-advnetlab18 test]# rpm -qa | grep -E "ovn|openvswitch"
      openvswitch-selinux-extra-policy-1.0-39.el9fdp.noarch
      openvswitch3.5-3.5.2-51.el9fdp.x86_64
      python3-openvswitch3.5-3.5.2-51.el9fdp.x86_64
      ovn25.09-25.09.0-25.el9fdp.x86_64
      ovn25.09-central-25.09.0-25.el9fdp.x86_64
      ovn25.09-host-25.09.0-25.el9fdp.x86_64
      
       + ip route list vrf ovnvrf15
      blackhole 20.0.0.2 proto 84 metric 100 
      blackhole 20.0.0.42 proto 84 metric 1000 
      blackhole 20.2.0.52 proto 84 metric 1000 
      blackhole 30.1.1.2 proto 84 metric 100 
      174.17.17.22 via 192.168.20.20 dev vrf_learn onlink 
      + ovn-nbctl --wait=sb sync
      + ovn-sbctl find port_binding logical_port=lr-bgp-pub
      _uuid               : 9bfdeae0-b2e2-451c-8c6a-235c2bdd1511
      additional_chassis  : []
      additional_encap    : []
      chassis             : 3f55c003-6549-4855-a1e2-50cbde43e524
      datapath            : 14d05f80-47f1-4867-96f3-e1af59aa0699
      encap               : []
      external_ids        : {}
      gateway_chassis     : []
      ha_chassis_group    : []
      logical_port        : lr-bgp-pub
      mac                 : ["00:00:00:00:00:03 20.0.0.2/8 2002::2/64"]
      mirror_port         : []
      mirror_rules        : []
      nat_addresses       : []
      options             : {dynamic-routing="true", dynamic-routing-maintain-vrf="true", dynamic-routing-port-name=vrf_learn, l3gateway-chassis=hv1, peer=pub-lr-bgp}
      parent_port         : []
      port_security       : []
      requested_additional_chassis: []
      requested_chassis   : []
      tag                 : []
      tunnel_key          : 1
      type                : l3gateway
      up                  : true
      virtual_parent      : []
      + ovn-sbctl find port_binding logical_port=lr-bgp-pub2
      _uuid               : 17d14a06-248b-42b8-8ab6-b740aa65aa25
      additional_chassis  : []
      additional_encap    : []
      chassis             : 3f55c003-6549-4855-a1e2-50cbde43e524
      datapath            : 14d05f80-47f1-4867-96f3-e1af59aa0699
      encap               : []
      external_ids        : {}
      gateway_chassis     : []
      ha_chassis_group    : []
      logical_port        : lr-bgp-pub2
      mac                 : ["00:00:00:ff:00:02"]
      mirror_port         : []
      mirror_rules        : []
      nat_addresses       : []
      options             : {dynamic-routing="true", dynamic-routing-maintain-vrf="true", l3gateway-chassis=hv1, peer=pub2-bgp}
      parent_port         : []
      port_security       : []
      requested_additional_chassis: []
      requested_chassis   : []
      tag                 : []
      tunnel_key          : 2
      type                : l3gateway
      up                  : true
      virtual_parent      : []
      + sleep 5
      + ovn-sbctl list learned_route
      
      <=== no route is learned
      + ovn-nbctl --wait=sb remove logical_router_port lr-bgp-pub options dynamic-routing-port-name
      + sleep 1
      + ovn-sbctl list learned_route
      _uuid               : 7d06b120-efeb-4f21-835a-bdfa398fc271
      datapath            : 14d05f80-47f1-4867-96f3-e1af59aa0699
      external_ids        : {}
      ip_prefix           : "174:17:17::22"
      logical_port        : 9282541d-c419-4706-af9f-fce2460b3706
      nexthop             : "192:168:20::20"
      
      
      _uuid               : 67d3ab98-2388-4299-86fc-22c3d5ca5733
      datapath            : 14d05f80-47f1-4867-96f3-e1af59aa0699
      external_ids        : {}
      ip_prefix           : "174.17.17.22"
      logical_port        : 17d14a06-248b-42b8-8ab6-b740aa65aa25
      nexthop             : "192.168.20.20"
      
      
      _uuid               : e0680b98-05b9-4ba3-89ab-4d822b5bfb84
      datapath            : 14d05f80-47f1-4867-96f3-e1af59aa0699
      external_ids        : {}
      ip_prefix           : "174.17.17.22"
      logical_port        : 9282541d-c419-4706-af9f-fce2460b3706
      nexthop             : "192.168.20.20"
      
      
      _uuid               : c396b964-eab2-4b92-9bd2-f3e342632a70
      datapath            : 14d05f80-47f1-4867-96f3-e1af59aa0699
      external_ids        : {}
      ip_prefix           : "174.17.17.22"
      logical_port        : 9bfdeae0-b2e2-451c-8c6a-235c2bdd1511
      nexthop             : "192.168.20.20"
      
      
      _uuid               : 668afc2d-31cb-4636-84a4-57850ff7eac3
      datapath            : 14d05f80-47f1-4867-96f3-e1af59aa0699
      external_ids        : {}
      ip_prefix           : "174:17:17::22"
      logical_port        : 9bfdeae0-b2e2-451c-8c6a-235c2bdd1511
      nexthop             : "192:168:20::20"
      
      
      _uuid               : 9b5847df-e7f9-4fc2-802e-949c7b575349
      datapath            : 14d05f80-47f1-4867-96f3-e1af59aa0699
      external_ids        : {}
      ip_prefix           : "174:17:17::22"
      logical_port        : 17d14a06-248b-42b8-8ab6-b740aa65aa25
      nexthop             : "192:168:20::20"

      behaviour is different on ovn25.03:

      [root@wsfd-advnetlab18 test]# rpm -qa | grep -E "openvswitch|ovn"
      openvswitch-selinux-extra-policy-1.0-39.el9fdp.noarch
      openvswitch3.5-3.5.2-51.el9fdp.x86_64
      python3-openvswitch3.5-3.5.2-51.el9fdp.x86_64
      ovn25.03-25.03.1-60.el9fdp.x86_64
      ovn25.03-central-25.03.1-60.el9fdp.x86_64
      ovn25.03-host-25.03.1-60.el9fdp.x86_64
      
      + ip route list vrf ovnvrf15
      blackhole 20.0.0.2 proto 84 metric 100 
      blackhole 20.0.0.42 proto 84 metric 1000 
      blackhole 20.2.0.52 proto 84 metric 1000 
      blackhole 30.1.1.2 proto 84 metric 100 
      174.17.17.22 via 192.168.20.20 dev vrf_learn onlink 
      + ovn-nbctl --wait=sb sync
      + ovn-sbctl find port_binding logical_port=lr-bgp-pub
      _uuid               : 6548fc84-5925-469f-b67f-b500bfb60504
      additional_chassis  : []
      additional_encap    : []
      chassis             : fcdc0a19-ecb7-417f-a32f-4ff6a03f96b2
      datapath            : 861c04f6-5e7b-43f6-93f1-21319a6641eb
      encap               : []
      external_ids        : {}
      gateway_chassis     : []
      ha_chassis_group    : []
      logical_port        : lr-bgp-pub
      mac                 : ["00:00:00:00:00:03 20.0.0.2/8 2002::2/64"]
      mirror_rules        : []
      nat_addresses       : []
      options             : {dynamic-routing="true", dynamic-routing-maintain-vrf="true", dynamic-routing-port-name=vrf_learn, l3gateway-chassis=hv1, peer=pub-lr-bgp}
      parent_port         : []
      port_security       : []
      requested_additional_chassis: []
      requested_chassis   : []
      tag                 : []
      tunnel_key          : 1
      type                : l3gateway
      up                  : true
      virtual_parent      : []
      + ovn-sbctl find port_binding logical_port=lr-bgp-pub2
      _uuid               : da40e865-48fd-4aad-8667-2bfdcbb420ec
      additional_chassis  : []
      additional_encap    : []
      chassis             : fcdc0a19-ecb7-417f-a32f-4ff6a03f96b2
      datapath            : 861c04f6-5e7b-43f6-93f1-21319a6641eb
      encap               : []
      external_ids        : {}
      gateway_chassis     : []
      ha_chassis_group    : []
      logical_port        : lr-bgp-pub2
      mac                 : ["00:00:00:ff:00:02"]
      mirror_rules        : []
      nat_addresses       : []
      options             : {dynamic-routing="true", dynamic-routing-maintain-vrf="true", l3gateway-chassis=hv1, peer=pub2-bgp}
      parent_port         : []
      port_security       : []
      requested_additional_chassis: []
      requested_chassis   : []
      tag                 : []
      tunnel_key          : 2
      type                : l3gateway
      up                  : true
      virtual_parent      : []
      + sleep 5
      + ovn-sbctl list learned_route
      _uuid               : 2482e4bc-88ce-4eb8-bbde-0e2e4b7f1418
      datapath            : 861c04f6-5e7b-43f6-93f1-21319a6641eb
      external_ids        : {}
      ip_prefix           : "174:17:17::22"
      logical_port        : 55c99fa9-7bc3-484c-a38e-720e51afd28c
      nexthop             : "192:168:20::20"
      
      
      _uuid               : cbbb83d5-1f59-47cf-be44-c0a7bae5ff24
      datapath            : 861c04f6-5e7b-43f6-93f1-21319a6641eb
      external_ids        : {}
      ip_prefix           : "174.17.17.22"
      logical_port        : da40e865-48fd-4aad-8667-2bfdcbb420ec
      nexthop             : "192.168.20.20"
      
      
      _uuid               : 6cea27a7-2d5a-49db-99ce-64f1ff873dc1
      datapath            : 861c04f6-5e7b-43f6-93f1-21319a6641eb
      external_ids        : {}
      ip_prefix           : "174:17:17::22"
      logical_port        : da40e865-48fd-4aad-8667-2bfdcbb420ec
      nexthop             : "192:168:20::20"
      
      
      _uuid               : 05cd6d2b-d33b-458d-9541-2f97e96f1d1d
      datapath            : 861c04f6-5e7b-43f6-93f1-21319a6641eb
      external_ids        : {}
      ip_prefix           : "174.17.17.22"
      logical_port        : 55c99fa9-7bc3-484c-a38e-720e51afd28c
      nexthop             : "192.168.20.20"
      
      <=== route is learned for lr-bgp-pub and lr-bgp-pub2, but not for lr-bgp-phy
      
      + ovn-nbctl --wait=sb remove logical_router_port lr-bgp-pub options dynamic-routing-port-name
      + sleep 1
      + ovn-sbctl list learned_route
      _uuid               : 2482e4bc-88ce-4eb8-bbde-0e2e4b7f1418
      datapath            : 861c04f6-5e7b-43f6-93f1-21319a6641eb
      external_ids        : {}
      ip_prefix           : "174:17:17::22"
      logical_port        : 55c99fa9-7bc3-484c-a38e-720e51afd28c
      nexthop             : "192:168:20::20"
      
      
      _uuid               : 7f451bf4-f5ff-4c76-ad67-b2386c800452
      datapath            : 861c04f6-5e7b-43f6-93f1-21319a6641eb
      external_ids        : {}
      ip_prefix           : "174:17:17::22"
      logical_port        : 6548fc84-5925-469f-b67f-b500bfb60504
      nexthop             : "192:168:20::20"
      
      
      _uuid               : cbbb83d5-1f59-47cf-be44-c0a7bae5ff24
      datapath            : 861c04f6-5e7b-43f6-93f1-21319a6641eb
      external_ids        : {}
      ip_prefix           : "174.17.17.22"
      logical_port        : da40e865-48fd-4aad-8667-2bfdcbb420ec
      nexthop             : "192.168.20.20"
      
      
      _uuid               : 8a4ab7ba-fd7f-4d2b-863e-4274a1db9d48
      datapath            : 861c04f6-5e7b-43f6-93f1-21319a6641eb
      external_ids        : {}
      ip_prefix           : "174.17.17.22"
      logical_port        : 6548fc84-5925-469f-b67f-b500bfb60504
      nexthop             : "192.168.20.20"
      
      
      _uuid               : 05cd6d2b-d33b-458d-9541-2f97e96f1d1d
      datapath            : 861c04f6-5e7b-43f6-93f1-21319a6641eb
      external_ids        : {}
      ip_prefix           : "174.17.17.22"
      logical_port        : 55c99fa9-7bc3-484c-a38e-720e51afd28c
      nexthop             : "192.168.20.20"
      
      
      _uuid               : 6cea27a7-2d5a-49db-99ce-64f1ff873dc1
      datapath            : 861c04f6-5e7b-43f6-93f1-21319a6641eb
      external_ids        : {}
      ip_prefix           : "174:17:17::22"
      logical_port        : da40e865-48fd-4aad-8667-2bfdcbb420ec
      nexthop             : "192:168:20::20" 

              ovnteam@redhat.com OVN Team
              nstbot NST Bot
              OVN QE OVN QE
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: