On Thu, Apr 23, 2020 at 9:59 PM Brendan Doyle <[email protected]> wrote:
>
> 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
There is only one distributed gateway router port allowed per logical router.
If you see the ovn-northd log, you will notice a warning message
***
ovn_northd|WARN|Bad configuration: multiple ports with
redirect-chassis on same logical router lr_vcn1
***
Maybe you can achieve the same by adding another logical router and
connecting to the
same logical switches.
Thanks
Numan
>
>
> 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
_______________________________________________
discuss mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss