I create 3 networks, "internal" and "internal1" are tenant network, "provider" is provider network.
steve@ovn1:~/devstack$ neutron net-list
+--------------------------------------+-----------+--------------------------------------------------+
| id | name | subnets |
+--------------------------------------+-----------+--------------------------------------------------+
| aa91f20f-55e8-43a1-9367-3aadc056b97d | provider | 77a8cc62-7fce-47cb-8eac-7830e9fb2254 9.0.0.0/24 |
| 033d4003-f84c-418b-aef7-73554fe20481 | internal1 | 0e455994-926d-491c-b238-c1d31ed9494f 40.0.0.0/24 |
| 2aea8463-0893-46b0-b3f3-a8856655a999 | internal | 0a0ded34-5010-453b-9a4b-d080f3d56734 30.0.0.0/24 |
+--------------------------------------+-----------+--------------------------------------------------+
steve@ovn1:~/devstack$
I create a router and add 3 router interface connects above 3 networks.
steve@ovn1:~/devstack$ neutron router-port-list test
+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------+
| id | name | mac_address | fixed_ips |
+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------+
| 787f556b-3a06-4fcd-ae6f-e4f20f1d9924 | | fa:16:3e:62:86:64 | {"subnet_id": "77a8cc62-7fce-47cb-8eac-7830e9fb2254", "ip_address": "9.0.0.1"} |
| c77afb14-398d-41c3-9fd0-e1c25eedd00b | | fa:16:3e:40:00:fe | {"subnet_id": "0e455994-926d-491c-b238-c1d31ed9494f", "ip_address": "40.0.0.1"} |
| fdbb4a9a-bea5-44dc-98b0-5a1d329292a0 | | fa:16:3e:43:4f:d4 | {"subnet_id": "0a0ded34-5010-453b-9a4b-d080f3d56734", "ip_address": "30.0.0.1"} |
+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------+
steve@ovn1:~/devstack$
steve@ovn1:~/devstack$ ovs-vsctl show
eb1bca48-a0bd-4910-95c9-911e90dac7ea
Bridge br-provider
Port "ens9"
Interface "ens9"
Port "patch-provnet-aa91f20f-55e8-43a1-9367-3aadc056b97d-to-br-int"
Interface "patch-provnet-aa91f20f-55e8-43a1-9367-3aadc056b97d-to-br-int"
type: patch
options: {peer="patch-br-int-to-provnet-aa91f20f-55e8-43a1-9367-3aadc056b97d"}
Port br-provider
Interface br-provider
type: internal
Bridge br-int
fail_mode: secure
Port "patch-c77afb14-398d-41c3-9fd0-e1c25eedd00b-to-lrp-c77afb14-398d-41c3-9fd0-e1c25eedd00b"
Interface "patch-c77afb14-398d-41c3-9fd0-e1c25eedd00b-to-lrp-c77afb14-398d-41c3-9fd0-e1c25eedd00b"
type: patch
options: {peer="patch-lrp-c77afb14-398d-41c3-9fd0-e1c25eedd00b-to-c77afb14-398d-41c3-9fd0-e1c25eedd00b"}
Port "patch-br-int-to-provnet-aa91f20f-55e8-43a1-9367-3aadc056b97d"
Interface "patch-br-int-to-provnet-aa91f20f-55e8-43a1-9367-3aadc056b97d"
type: patch
options: {peer="patch-provnet-aa91f20f-55e8-43a1-9367-3aadc056b97d-to-br-int"}
Port "tapacdd7486-fa"
Interface "tapacdd7486-fa"
type: internal
Port "patch-lrp-c77afb14-398d-41c3-9fd0-e1c25eedd00b-to-c77afb14-398d-41c3-9fd0-e1c25eedd00b"
Interface "patch-lrp-c77afb14-398d-41c3-9fd0-e1c25eedd00b-to-c77afb14-398d-41c3-9fd0-e1c25eedd00b"
type: patch
options: {peer="patch-c77afb14-398d-41c3-9fd0-e1c25eedd00b-to-lrp-c77afb14-398d-41c3-9fd0-e1c25eedd00b"}
Port "tapa48d4f20-bb"
Interface "tapa48d4f20-bb"
type: internal
Port br-int
Interface br-int
type: internal
Port "tapd3baa3ec-30"
Interface "tapd3baa3ec-30"
type: internal
Port "patch-787f556b-3a06-4fcd-ae6f-e4f20f1d9924-to-lrp-787f556b-3a06-4fcd-ae6f-e4f20f1d9924"
Interface "patch-787f556b-3a06-4fcd-ae6f-e4f20f1d9924-to-lrp-787f556b-3a06-4fcd-ae6f-e4f20f1d9924"
type: patch
options: {peer="patch-lrp-787f556b-3a06-4fcd-ae6f-e4f20f1d9924-to-787f556b-3a06-4fcd-ae6f-e4f20f1d9924"}
Port "patch-fdbb4a9a-bea5-44dc-98b0-5a1d329292a0-to-lrp-fdbb4a9a-bea5-44dc-98b0-5a1d329292a0"
Interface "patch-fdbb4a9a-bea5-44dc-98b0-5a1d329292a0-to-lrp-fdbb4a9a-bea5-44dc-98b0-5a1d329292a0"
type: patch
options: {peer="patch-lrp-fdbb4a9a-bea5-44dc-98b0-5a1d329292a0-to-fdbb4a9a-bea5-44dc-98b0-5a1d329292a0"}
Port "patch-lrp-fdbb4a9a-bea5-44dc-98b0-5a1d329292a0-to-fdbb4a9a-bea5-44dc-98b0-5a1d329292a0"
Interface "patch-lrp-fdbb4a9a-bea5-44dc-98b0-5a1d329292a0-to-fdbb4a9a-bea5-44dc-98b0-5a1d329292a0"
type: patch
options: {peer="patch-fdbb4a9a-bea5-44dc-98b0-5a1d329292a0-to-lrp-fdbb4a9a-bea5-44dc-98b0-5a1d329292a0"}
Port "ovn-8a178c-0"
Interface "ovn-8a178c-0"
type: geneve
options: {key=flow, remote_ip="9.70.33.148"}
Port "patch-lrp-787f556b-3a06-4fcd-ae6f-e4f20f1d9924-to-787f556b-3a06-4fcd-ae6f-e4f20f1d9924"
Interface "patch-lrp-787f556b-3a06-4fcd-ae6f-e4f20f1d9924-to-787f556b-3a06-4fcd-ae6f-e4f20f1d9924"
type: patch
options: {peer="patch-787f556b-3a06-4fcd-ae6f-e4f20f1d9924-to-lrp-787f556b-3a06-4fcd-ae6f-e4f20f1d9924"}
steve@ovn1:~/devstack$
I config br-privider with IP address 9.0.0.100/24
steve@ovn1:~/devstack$ ifconfig br-provider
br-provider Link encap:Ethernet HWaddr f2:38:49:25:b5:40
inet addr:9.0.0.100 Bcast:9.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::f038:49ff:fe25:b540/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8 errors:0 dropped:27 overruns:0 frame:0
TX packets:23 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:408 (408.0 B) TX bytes:1894 (1.8 KB)
steve@ovn1:~/devstack$
I can not ping 9.0.0.1 on hypervisor
steve@ovn1:~/devstack$ ping 9.0.0.1
PING 9.0.0.1 (9.0.0.1) 56(84) bytes of data.
^C
--- 9.0.0.1 ping statistics ---
13 packets transmitted, 0 received, 100% packet loss, time 11999ms
But the arping is success.
steve@ovn1:~/devstack$ arping -I br-provider 9.0.0.1
ARPING 9.0.0.1 from 9.0.0.100 br-provider
Unicast reply from 9.0.0.1 [FA:16:3E:62:86:64] 1.091ms
Unicast reply from 9.0.0.1 [FA:16:3E:62:86:64] 0.771ms
Unicast reply from 9.0.0.1 [FA:16:3E:62:86:64] 0.702ms
^CSent 3 probes (1 broadcast(s))
Received 3 response(s)
steve@ovn1:~/devstack$
Refer to the attachment for the database dump result.
This is not currently a supported architecture unless you use the Neutron L3 agent.
I do expect this to be supported eventually, but it depends on work not yet completed in OVN.