-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
None
-
False
-
-
False
-
-
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"