Hi,
Sorry, this feels like another gotya FAQ type of question ..
I have a logical router "lr_vcn1" and an "public" localnet switch
"ls_external_vcn1"
I configured a distributed router port on "lr_vcn1" and connect it to
"ls_external_vcn1",
schedule it and every thing works fine.
But when I create a second distributed router port on "lr_vcn1" and
connect it to the
same switch and schedule it, it does not get scheduled?
I feel like I'm missing something, perhaps I need another "public"
switch or another
localnet port on "ls_external_vcn1". But logically it feels like I
should not need these
as both distributed router ports are going out on the same physical
network, I'd just
like to spread the load across chassis. Some config
First distributed router port
-------------------------------------
ovn-nbctl list gateway_chassis
_uuid : c28a305d-7376-4a3c-b72a-65fa2020a371
chassis_name : ca-rain16
external_ids : {}
name : lr_vcn1_nat1-ls_external_vcn1-ca-rain16
options : {}
priority : 10
_uuid : be0e8e6e-49be-444f-b1d1-6c43720f5d8b
chassis_name : ca-rain06
external_ids : {}
name : lr_vcn1_nat1-ls_external_vcn1-ca-rain06
options : {}
priority : 15
_uuid : a9ea6c87-7a37-41bb-9c21-2937794dc18d
chassis_name : ca-rain05
external_ids : {}
name : lr_vcn1_nat1-ls_external_vcn1-ca-rain05
options : {}
priority : 20
[rca-rain17 ]# ovn-sbctl show
Chassis ca-rain06
hostname: ca-rain06.us.oracle.com
Encap geneve
ip: "172.20.1.6"
options: {csum="true"}
Port_Binding "47433b54-ac10-42f1-ae84-cc6fbb580297"
Port_Binding "06e85cca-867a-44fc-b2c1-be62f2fb06c0"
Port_Binding "284195d2-9280-4334-900e-571ecd00327a"
Chassis ca-rain16
hostname: ca-rain16.us.oracle.com
Encap geneve
ip: "172.20.1.16"
options: {csum="true"}
Chassis ca-rain17
hostname: ca-rain17.us.oracle.com
Encap geneve
ip: "172.20.1.17"
options: {csum="true"}
Chassis ca-rain05
hostname: ca-rain05.us.oracle.com
Encap geneve
ip: "172.20.1.5"
options: {csum="true"}
Port_Binding "ce78fd2b-4c68-428c-baf1-71718e7f3871"
Port_Binding "269089c4-9464-41ec-9f63-6b3804b34b07"
Port_Binding "00bff7c0-2e2d-41ba-9485-3b5fa9801365"
Port_Binding cr-lr_vcn1_nat1-ls_external_vcn1
Port_Binding "1cb7d760-90b0-4201-9517-88cb2de31c79"
Add the second distributed gateway port
-------------------------------------------------------
ovn-nbctl lrp-set-gateway-chassis lr_vcn1_ngw2-ls_external_vcn1 ca-rain05 21
ovn-nbctl lrp-set-gateway-chassis lr_vcn1_ngw2-ls_external_vcn1 ca-rain06 16
ovn-nbctl lrp-set-gateway-chassis lr_vcn1_ngw2-ls_external_vcn1 ca-rain16 11
We can see it shows up as a gateway chassis:
[ra-rain17 ~]# ovn-nbctl list gateway_chassis
_uuid : d83fd9a5-f40c-4101-ad5a-9e7fe017232b
chassis_name : ca-rain05
external_ids : {}
name : lr_vcn1_ngw2-ls_external_vcn1-ca-rain05
options : {}
priority : 21
_uuid : 53919209-e7d7-414a-8774-3a0e5f7aacbb
chassis_name : ca-rain06
external_ids : {}
name : lr_vcn1_ngw2-ls_external_vcn1-ca-rain06
options : {}
priority : 16
_uuid : c28a305d-7376-4a3c-b72a-65fa2020a371
chassis_name : ca-rain16
external_ids : {}
name : lr_vcn1_nat1-ls_external_vcn1-ca-rain16
options : {}
priority : 10
_uuid : be0e8e6e-49be-444f-b1d1-6c43720f5d8b
chassis_name : ca-rain06
external_ids : {}
name : lr_vcn1_nat1-ls_external_vcn1-ca-rain06
options : {}
priority : 15
_uuid : a2444526-0fdc-4077-b3cb-1e5ba342e82c
chassis_name : ca-rain16
external_ids : {}
name : lr_vcn1_ngw2-ls_external_vcn1-ca-rain16
options : {}
priority : 11
_uuid : a9ea6c87-7a37-41bb-9c21-2937794dc18d
chassis_name : ca-rain05
external_ids : {}
name : lr_vcn1_nat1-ls_external_vcn1-ca-rain05
options : {}
priority : 20
But it has not been scheduled:
ovn-sbctl show
Chassis ca-rain06
hostname: ca-rain06.us.oracle.com
Encap geneve
ip: "172.20.1.6"
options: {csum="true"}
Port_Binding "47433b54-ac10-42f1-ae84-cc6fbb580297"
Port_Binding "06e85cca-867a-44fc-b2c1-be62f2fb06c0"
Port_Binding "284195d2-9280-4334-900e-571ecd00327a"
Chassis ca-rain16
hostname: ca-rain16.us.oracle.com
Encap geneve
ip: "172.20.1.16"
options: {csum="true"}
Chassis ca-rain17
hostname: ca-rain17.us.oracle.com
Encap geneve
ip: "172.20.1.17"
options: {csum="true"}
Chassis ca-rain05
hostname: ca-rain05.us.oracle.com
Encap geneve
ip: "172.20.1.5"
options: {csum="true"}
Port_Binding "ce78fd2b-4c68-428c-baf1-71718e7f3871"
Port_Binding "269089c4-9464-41ec-9f63-6b3804b34b07"
Port_Binding "00bff7c0-2e2d-41ba-9485-3b5fa9801365"
Port_Binding cr-lr_vcn1_nat1-ls_external_vcn1
Port_Binding "1cb7d760-90b0-4201-9517-88cb2de31c79"
The full nb config is:
=================
ovn-nbctl show
switch 91e8b1b9-2f7f-4770-a454-ac8a1cf1dfb0 (ls_external_vcn1)
port ls_external_vcn1-lr_vcn1_nat1
type: router
router-port: lr_vcn1_nat1-ls_external_vcn1
port ls_external_vcn1-lr_vcn1_ngw2
type: router
router-port: lr_vcn1_ngw2-ls_external_vcn1
port ln-ls_external_vcn1
type: localnet
addresses: ["unknown"]
switch 10073c55-8f96-411f-a3b6-89b13389a084 (ls_vcn2)
port 06e85cca-867a-44fc-b2c1-be62f2fb06c0
addresses: ["52:54:00:2a:7b:49 192.17.1.6"]
port ce78fd2b-4c68-428c-baf1-71718e7f3871
addresses: ["52:54:00:d8:6e:eb 192.17.1.5"]
port vcn2_subnet1-lr_vcn2
type: router
addresses: ["40:44:00:00:00:50"]
router-port: lr_vcn2-vcn2_subnet1
switch 0e58d3cd-c36a-4651-8b42-4821f653bcb2 (ls_vcn3)
port vcn3_subnet1-lr_vcn3
type: router
addresses: ["40:44:00:00:00:60"]
router-port: lr_vcn3-vcn3_subnet1
port 269089c4-9464-41ec-9f63-6b3804b34b07
addresses: ["52:54:00:30:38:35 192.16.1.5"]
port 284195d2-9280-4334-900e-571ecd00327a
addresses: ["52:54:00:02:55:96 192.16.1.6"]
switch e89dea6b-0fbd-4a6e-aeef-8d6a213efb55 (ls_vcn1)
port vcn1_subnet1-lr_vcn1
type: router
addresses: ["40:44:00:00:00:30"]
router-port: lr_vcn1-vcn1_subnet1
port vcn1_subnet2-lr_vcn1
type: router
addresses: ["40:44:00:00:00:40"]
router-port: lr_vcn1-vcn1_subnet2
port 00bff7c0-2e2d-41ba-9485-3b5fa9801365
addresses: ["52:54:00:e6:4f:46 192.16.1.5"]
port 1cb7d760-90b0-4201-9517-88cb2de31c79
addresses: ["52:54:00:80:d0:c8 192.16.2.5"]
port 47433b54-ac10-42f1-ae84-cc6fbb580297
addresses: ["52:54:00:be:06:16 192.16.1.6"]
router 6019ef0c-d5c3-428a-8fa2-4f7db3af2f4b (lr_vcn2)
port lr_vcn2-vcn2_subnet1
mac: "40:44:00:00:00:50"
networks: ["192.17.1.1/24"]
port lr_vcn2-lr_vcn1
mac: "40:44:00:00:00:80"
networks: ["100.64.30.2/10"]
router 318562e0-6c1d-4bc7-9da0-d8ccbd63c0b6 (lr_vcn3)
port lr_vcn3-vcn3_subnet1
mac: "40:44:00:00:00:60"
networks: ["192.16.1.1/24"]
router 61d04449-adaf-406f-b280-ad5aa24f24ca (lr_vcn1)
port lr_vcn1-lr_vcn2
mac: "40:44:00:00:00:70"
networks: ["100.64.30.1/10"]
port lr_vcn1-vcn1_subnet2
mac: "40:44:00:00:00:40"
networks: ["192.16.2.1/24"]
port lr_vcn1_nat1-ls_external_vcn1
mac: "40:44:00:00:00:d0"
networks: ["172.20.1.105/24"]
gateway chassis: [ca-rain05 ca-rain06 ca-rain16]
port lr_vcn1_ngw2-ls_external_vcn1
mac: "40:44:00:00:00:f0"
networks: ["172.20.1.107/24"]
gateway chassis: [ca-rain05 ca-rain06 ca-rain16]
port lr_vcn1-vcn1_subnet1
mac: "40:44:00:00:00:30"
networks: ["192.16.1.1/24"]
nat 3abfbd91-eb71-4c14-b58f-ca28ccd0592c
external ip: "172.20.1.205"
logical ip: "192.16.1.0/24"
type: "snat"
nat b1b87b03-34b8-4cf9-b9e9-4d7ed3b0fe20
external ip: "172.20.1.207"
logical ip: "192.16.2.0/24"
type: "snat"
ovs-vsctl show on each hypervisor
=============================
[ca-rain05 ~]# ovs-vsctl show
169dc085-7224-42c3-b119-390b7d0fe450
Bridge br-int
fail_mode: secure
Port vnet6
Interface vnet6
Port patch-br-int-to-ln-ls_external_vcn1
Interface patch-br-int-to-ln-ls_external_vcn1
type: patch
options: {peer=patch-ln-ls_external_vcn1-to-br-int}
Port ovn-ca-rai-0
Interface ovn-ca-rai-0
type: geneve
options: {csum="true", key=flow, remote_ip="172.20.1.6"}
bfd_status: {diagnostic="No Diagnostic",
flap_count="1", forwarding="true", remote_diagnostic="No Diagnostic",
remote_state=up, state=up}
Port br-int
Interface br-int
type: internal
Port ovn-ca-rai-2
Interface ovn-ca-rai-2
type: geneve
options: {csum="true", key=flow, remote_ip="172.20.1.17"}
Port ovn-ca-rai-1
Interface ovn-ca-rai-1
type: geneve
options: {csum="true", key=flow, remote_ip="172.20.1.16"}
bfd_status: {diagnostic="No Diagnostic",
flap_count="1", forwarding="true", remote_diagnostic="No Diagnostic",
remote_state=up, state=up}
Port vnet4
Interface vnet4
Port vnet8
Interface vnet8
Port vnet2
Interface vnet2
Bridge br-ext
Port patch-ln-ls_external_vcn1-to-br-int
Interface patch-ln-ls_external_vcn1-to-br-int
type: patch
options: {peer=patch-br-int-to-ln-ls_external_vcn1}
Port bond0
Interface bond0
Port br-ext
Interface br-ext
type: internal
ovs_version: "2.13.90"
[ca-rain06 ]# ovs-vsctl show
dbcc7c2e-cf07-4052-b40d-d4f47f5560b0
Bridge br-ext
Port bond0
Interface bond0
Port br-ext
Interface br-ext
type: internal
Port patch-ln-ls_external_vcn1-to-br-int
Interface patch-ln-ls_external_vcn1-to-br-int
type: patch
options: {peer=patch-br-int-to-ln-ls_external_vcn1}
Bridge br-int
fail_mode: secure
Port ovn-ca-rai-1
Interface ovn-ca-rai-1
type: geneve
options: {csum="true", key=flow, remote_ip="172.20.1.17"}
Port vnet3
Interface vnet3
Port vnet1
Interface vnet1
Port vnet5
Interface vnet5
Port br-int
Interface br-int
type: internal
Port ovn-ca-rai-0
Interface ovn-ca-rai-0
type: geneve
options: {csum="true", key=flow, remote_ip="172.20.1.16"}
bfd_status: {diagnostic="No Diagnostic",
flap_count="1", forwarding="true", remote_diagnostic="No Diagnostic",
remote_state=up, state=up}
Port ovn-ca-rai-2
Interface ovn-ca-rai-2
type: geneve
options: {csum="true", key=flow, remote_ip="172.20.1.5"}
bfd_status: {diagnostic="No Diagnostic",
flap_count="1", forwarding="true", remote_diagnostic="No Diagnostic",
remote_state=up, state=up}
Port patch-br-int-to-ln-ls_external_vcn1
Interface patch-br-int-to-ln-ls_external_vcn1
type: patch
options: {peer=patch-ln-ls_external_vcn1-to-br-int}
ovs_version: "2.13.90"
[ca-rain16]ovs-vsctl show
d713dd73-1566-454c-9dd2-895b308955a7
Bridge br-ext
Port br-ext
Interface br-ext
type: internal
Port bond0
Interface bond0
Port patch-ln-ls_external_vcn1-to-br-int
Interface patch-ln-ls_external_vcn1-to-br-int
type: patch
options: {peer=patch-br-int-to-ln-ls_external_vcn1}
Bridge br-int
fail_mode: secure
Port ovn-ca-rai-2
Interface ovn-ca-rai-2
type: geneve
options: {csum="true", key=flow, remote_ip="172.20.1.5"}
bfd_status: {diagnostic="No Diagnostic",
flap_count="1", forwarding="true", remote_diagnostic="No Diagnostic",
remote_state=up, state=up}
Port ovn-ca-rai-0
Interface ovn-ca-rai-0
type: geneve
options: {csum="true", key=flow, remote_ip="172.20.1.6"}
bfd_status: {diagnostic="No Diagnostic",
flap_count="1", forwarding="true", remote_diagnostic="No Diagnostic",
remote_state=up, state=up}
Port br-int
Interface br-int
type: internal
Port ovn-ca-rai-1
Interface ovn-ca-rai-1
type: geneve
options: {csum="true", key=flow, remote_ip="172.20.1.17"}
Port patch-br-int-to-ln-ls_external_vcn1
Interface patch-br-int-to-ln-ls_external_vcn1
type: patch
options: {peer=patch-ln-ls_external_vcn1-to-br-int}
ovs_version: "2.13.90"
The commands used to create each distributed router port
===================================================
distributed router port 1:
------------------------------------
ovn-nbctl ls-add ls_external_vcn1
ovn-nbctl lsp-add ls_external_vcn1 ln-ls_external_vcn1
ovn-nbctl lsp-set-type ln-ls_external_vcn1 localnet
ovn-nbctl lsp-set-addresses ln-ls_external_vcn1 unknown
ovn-nbctl lsp-set-options ln-ls_external_vcn1 network_name=physnet
ovn-nbctl lrp-add lr_vcn1 lr_vcn1_nat1-ls_external_vcn1
40:44:00:00:00:d0 172.20.1.105/24
ovn-nbctl lsp-add ls_external_vcn1 ls_external_vcn1-lr_vcn1_nat1
ovn-nbctl lsp-set-type ls_external_vcn1-lr_vcn1_nat1 router
ovn-nbctl lsp-set-addresses ls_external_vcn1-lr_vcn1_nat1 router
ovn-nbctl lsp-set-options ls_external_vcn1-lr_vcn1_nat1
router-port=lr_vcn1_nat1-ls_external_vcn1
ovn-nbctl lr-nat-add lr_vcn1 snat 172.20.1.205 192.16.1.0/24
ovn-nbctl lr-route-add lr_vcn1 "0.0.0.0/0" 172.20.1.1
lr_vcn1_nat1-ls_external_vcn1
ovn-nbctl lrp-set-gateway-chassis lr_vcn1_nat1-ls_external_vcn1 ca-rain05 20
ovn-nbctl lrp-set-gateway-chassis lr_vcn1_nat1-ls_external_vcn1 ca-rain06 15
ovn-nbctl lrp-set-gateway-chassis lr_vcn1_nat1-ls_external_vcn1 ca-rain16 10
distributed router port 2:
------------------------------------
ovn-nbctl lrp-add lr_vcn1 lr_vcn1_ngw2-ls_external_vcn1
40:44:00:00:00:f0 172.20.1.107/24
ovn-nbctl lsp-add ls_external_vcn1 ls_external_vcn1-lr_vcn1_ngw2
ovn-nbctl lsp-set-type ls_external_vcn1-lr_vcn1_ngw2 router
ovn-nbctl lsp-set-addresses ls_external_vcn1-lr_vcn1_ngw2 router
ovn-nbctl lsp-set-options ls_external_vcn1-lr_vcn1_ngw2
router-port=lr_vcn1_ngw2-ls_external_vcn1
ovn-nbctl lr-nat-add lr_vcn1 snat 172.20.1.207 192.16.2.0/24
ovn-nbctl lrp-set-gateway-chassis lr_vcn1_ngw2-ls_external_vcn1 ca-rain05 21
ovn-nbctl lrp-set-gateway-chassis lr_vcn1_ngw2-ls_external_vcn1 ca-rain06 16
ovn-nbctl lrp-set-gateway-chassis lr_vcn1_ngw2-ls_external_vcn1 ca-rain16 11
Any thoughts?
Thanks
Brendan
_______________________________________________
discuss mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss