Is update_sb_monitors() in ovn-controller.c not doing the right thing to
ensure that localnet ports are present?  That is the first place to
look, I think.

On Tue, Nov 07, 2017 at 04:36:12PM +0800, Hui Xiang wrote:
> Hi folks,
> 
>   When I am running ovn in one of my node having the gateway port connected
> external network via localnet, the patch port can't be created between
> br-ex(set by ovn-bridge-mappings) with br-int, after gdb, it seems the
> result get from SBREC_PORT_BINDING_FOR_EACH (binding, ctx->ovnsb_idl)
> doesn't include 'localnet' binding type, however it does exist from
> ovn-sbctl list port_binding, either I am missing any configuration to make
> it work or this is a bug.
> 
>   Please have a look and thank much.
> 
> external_ids        : {hostname="node-1.domain.tld",
> ovn-bridge-mappings="physnet1:br-ex", ovn-encap-ip="168.254.101.10",
> ovn-encap-type=geneve, ovn-remote="tcp:192.168.0.2:6642",
> rundir="/var/run/openvswitch",
> system-id="88596f9f-e326-4e15-ae91-8cc014e7be86"}
> iface_types         : [geneve, gre, internal, lisp, patch, stt, system,
> tap, vxlan]
> 
> (gdb) n
> 181             if (!strcmp(binding->type, "localnet")) {
> 4: binding->type = 0x55e7189608b0 "patch"
> (gdb) display binding->logical_port
> 5: binding->logical_port = 0x55e718960650
> "b3edbc9a-3248-43e5-b84e-01689a9c83e2"
> (gdb) n
> 183             } else if (!strcmp(binding->type, "l2gateway")) {
> 5: binding->logical_port = 0x55e718960650
> "b3edbc9a-3248-43e5-b84e-01689a9c83e2"
> 4: binding->type = 0x55e7189608b0 "patch"
> (gdb)
> 193                 continue;
> 5: binding->logical_port = 0x55e718960650
> "b3edbc9a-3248-43e5-b84e-01689a9c83e2"
> 4: binding->type = 0x55e7189608b0 "patch"
> (gdb)
> 179         SBREC_PORT_BINDING_FOR_EACH (binding, ctx->ovnsb_idl) {
> 5: binding->logical_port = 0x55e718960650
> "b3edbc9a-3248-43e5-b84e-01689a9c83e2"
> 4: binding->type = 0x55e7189608b0 "patch"
> (gdb)
> 181             if (!strcmp(binding->type, "localnet")) {
> 5: binding->logical_port = 0x55e7189622d0
> "lrp-3a938edc-8809-4b79-b1a6-8145066e4fe3"
> 4: binding->type = 0x55e718962380 "patch"
> (gdb)
> 183             } else if (!strcmp(binding->type, "l2gateway")) {
> 5: binding->logical_port = 0x55e7189622d0
> "lrp-3a938edc-8809-4b79-b1a6-8145066e4fe3"
> 4: binding->type = 0x55e718962380 "patch"
> (gdb)
> 193                 continue;
> 5: binding->logical_port = 0x55e7189622d0
> "lrp-3a938edc-8809-4b79-b1a6-8145066e4fe3"
> 4: binding->type = 0x55e718962380 "patch"
> (gdb)
> 179         SBREC_PORT_BINDING_FOR_EACH (binding, ctx->ovnsb_idl) {
> 5: binding->logical_port = 0x55e7189622d0
> "lrp-3a938edc-8809-4b79-b1a6-8145066e4fe3"
> 4: binding->type = 0x55e718962380 "patch"
> (gdb)
> 181             if (!strcmp(binding->type, "localnet")) {
> 5: binding->logical_port = 0x55e718962820
> "lrp-b3edbc9a-3248-43e5-b84e-01689a9c83e2"
> 4: binding->type = 0x55e7189628d0 "patch"
> (gdb)
> 183             } else if (!strcmp(binding->type, "l2gateway")) {
> 5: binding->logical_port = 0x55e718962820
> "lrp-b3edbc9a-3248-43e5-b84e-01689a9c83e2"
> 4: binding->type = 0x55e7189628d0 "patch"
> (gdb)
> 193                 continue;
> 5: binding->logical_port = 0x55e718962820
> "lrp-b3edbc9a-3248-43e5-b84e-01689a9c83e2"
> 4: binding->type = 0x55e7189628d0 "patch"
> (gdb)
> 179         SBREC_PORT_BINDING_FOR_EACH (binding, ctx->ovnsb_idl) {
> 5: binding->logical_port = 0x55e718962820
> "lrp-b3edbc9a-3248-43e5-b84e-01689a9c83e2"
> (gdb) n
> 181             if (!strcmp(binding->type, "localnet")) {
> 4: binding->type = 0x55e7189608b0 "patch"
> (gdb) display binding->logical_port
> 5: binding->logical_port = 0x55e718960650
> "b3edbc9a-3248-43e5-b84e-01689a9c83e2"
> (gdb) n 183             } else if (!strcmp(binding->type, "l2gateway")) {
> 5: binding->logical_port = 0x55e718960650
> "b3edbc9a-3248-43e5-b84e-01689a9c83e2"
> 4: binding->type = 0x55e7189608b0 "patch"
> (gdb)
> 193                 continue;
> 5: binding->logical_port = 0x55e718960650
> "b3edbc9a-3248-43e5-b84e-01689a9c83e2"
> 4: binding->type = 0x55e7189608b0 "patch"
> (gdb)
> 179         SBREC_PORT_BINDING_FOR_EACH (binding, ctx->ovnsb_idl) {
> 5: binding->logical_port = 0x55e718960650
> "b3edbc9a-3248-43e5-b84e-01689a9c83e2"
> 4: binding->type = 0x55e7189608b0 "patch"
> (gdb)
> 181             if (!strcmp(binding->type, "localnet")) {
> 5: binding->logical_port = 0x55e7189622d0
> "lrp-3a938edc-8809-4b79-b1a6-8145066e4fe3"
> 4: binding->type = 0x55e718962380 "patch"
> (gdb)
> 183             } else if (!strcmp(binding->type, "l2gateway")) { 5:
> binding->logical_port = 0x55e7189622d0
> "lrp-3a938edc-8809-4b79-b1a6-8145066e4fe3"
> 4: binding->type = 0x55e718962380 "patch"
> (gdb)
> 193                 continue;
> 5: binding->logical_port = 0x55e7189622d0
> "lrp-3a938edc-8809-4b79-b1a6-8145066e4fe3"
> 4: binding->type = 0x55e718962380 "patch"
> (gdb)
> 179         SBREC_PORT_BINDING_FOR_EACH (binding, ctx->ovnsb_idl) {
> 5: binding->logical_port = 0x55e7189622d0
> "lrp-3a938edc-8809-4b79-b1a6-8145066e4fe3"
> 4: binding->type = 0x55e718962380 "patch"
> (gdb)
> 181             if (!strcmp(binding->type, "localnet")) {
> 5: binding->logical_port = 0x55e718962820
> "lrp-b3edbc9a-3248-43e5-b84e-01689a9c83e2"
> 4: binding->type = 0x55e7189628d0 "patch"
> (gdb)
> 183             } else if (!strcmp(binding->type, "l2gateway")) {
> 5: binding->logical_port = 0x55e718962820
> "lrp-b3edbc9a-3248-43e5-b84e-01689a9c83e2"
> 4: binding->type = 0x55e7189628d0 "patch"
> (gdb)
> 193                 continue;
> 5: binding->logical_port = 0x55e718962820
> "lrp-b3edbc9a-3248-43e5-b84e-01689a9c83e2"
> 4: binding->type = 0x55e7189628d0 "patch"
> (gdb)
> 179         SBREC_PORT_BINDING_FOR_EACH (binding, ctx->ovnsb_idl) {
> 5: binding->logical_port = 0x55e718962820
> "lrp-b3edbc9a-3248-43e5-b84e-01689a9c83e2"
> 4: binding->type = 0x55e7189628d0 "patch"
> (gdb)
> 181             if (!strcmp(binding->type, "localnet")) {
> 5: binding->logical_port = 0x55e718961100
> "3a938edc-8809-4b79-b1a6-8145066e4fe3"
> 4: binding->type = 0x55e718961370 "patch"
> (gdb)
> 183             } else if (!strcmp(binding->type, "l2gateway")) {
> 5: binding->logical_port = 0x55e718961100
> "3a938edc-8809-4b79-b1a6-8145066e4fe3"
> 193                 continue;
> 5: binding->logical_port = 0x55e718961100
> "3a938edc-8809-4b79-b1a6-8145066e4fe3"
> 4: binding->type = 0x55e718961370 "patch"
> (gdb)
> 179         SBREC_PORT_BINDING_FOR_EACH (binding, ctx->ovnsb_idl) {
> 5: binding->logical_port = 0x55e718961100
> "3a938edc-8809-4b79-b1a6-8145066e4fe3"
> 4: binding->type = 0x55e718961370 "patch"
> (gdb)
> 181             if (!strcmp(binding->type, "localnet")) {
> 5: binding->logical_port = 0x55e718961b70
> "cr-lrp-b3edbc9a-3248-43e5-b84e-01689a9c83e2"
> 4: binding->type = 0x55e718961c60 "chassisredirect"
> (gdb)
> 183             } else if (!strcmp(binding->type, "l2gateway")) {
> (gdb)
> 193                 continue;
> 5: binding->logical_port = 0x55e718961b70
> "cr-lrp-b3edbc9a-3248-43e5-b84e-01689a9c83e2"
> 4: binding->type = 0x55e718961c60 "chassisredirect"
> (gdb)
> 179         SBREC_PORT_BINDING_FOR_EACH (binding, ctx->ovnsb_idl) {
> 5: binding->logical_port = 0x55e718961b70
> "cr-lrp-b3edbc9a-3248-43e5-b84e-01689a9c83e2"
> 4: binding->type = 0x55e718961c60 "chassisredirect"
> (gdb)
> 222         shash_destroy(&bridge_mappings);
> 
> [root@node-1 ~]# ovn-sbctl list port_binding
> _uuid               : a72d3348-ed6f-4e98-9d79-1515f7653ec3
> chassis             : []
> datapath            : 47447f44-5c5f-4501-9802-0e7822031f32
> gateway_chassis     : []
> logical_port        : "b3edbc9a-3248-43e5-b84e-01689a9c83e2"
> mac                 : [router]
> nat_addresses       : []
> options             : {peer="lrp-b3edbc9a-3248-43e5-b84e-01689a9c83e2"}
> parent_port         : []
> tag                 : []
> tunnel_key          : 2
> type                : patch
> 
> gateway_chassis     : []
> logical_port        : "d94cb413-f53a-4943-9590-c75e60e63568"
> mac                 : [""]
> nat_addresses       : []
> options             : {}
> parent_port         : []
> tag                 : []
> tunnel_key          : 3
> type                : ""
> 
> _uuid               : 45d6d9ac-c432-406e-9e23-bf0abf0add3c
> chassis             : []
> datapath            : 47447f44-5c5f-4501-9802-0e7822031f32
> external_ids        : {}
> gateway_chassis     : []
> logical_port        : "provnet-c6f21507-53c8-459e-9690-1257d389246f"
> mac                 : [unknown]
> nat_addresses       : []
> options             : {network_name="physnet1"}
> parent_port         : []
> tag                 : []
> tunnel_key          : 1
> type                : *localnet *
> 
> _uuid               : 60f823bd-ca39-48f1-bd04-6669d9a48e3d
> gateway_chassis     : []
> logical_port        : "18ea6e6a-76f3-4a10-9907-1d1dda038988"
> mac                 : ["fa:16:3e:c1:f5:95 192.168.10.2"]
> nat_addresses       : []
> options             : {}
> parent_port         : []
> tag                 : []
> tunnel_key          : 1
> type                : ""
> 
> _uuid               : c56b8f65-a11b-471f-ad8a-935602a1816c
> chassis             : []
> datapath            : ddee5a44-0cdc-440a-ab1b-c0d9a6b78ef9
> external_ids        : {}
> gateway_chassis     : []
> logical_port        : "lrp-3a938edc-8809-4b79-b1a6-8145066e4fe3"
> mac                 : []
> nat_addresses       : []
> options             : {peer="3a938edc-8809-4b79-b1a6-8145066e4fe3"}
> parent_port         : []
> tag                 : []
> tunnel_key          : 3
> type                : patch
> 
> _uuid               : 4b603b6e-3420-41de-9382-b9b3fb4d5b35
> gateway_chassis     : []
> logical_port        : "3a938edc-8809-4b79-b1a6-8145066e4fe3"
> mac                 : [router]
> nat_addresses       : []
> options             : {peer="lrp-3a938edc-8809-4b79-b1a6-8145066e4fe3"}
> parent_port         : []
> tag                 : []
> tunnel_key          : 2
> type                : patch
> 
> _uuid               : 371de3de-20d4-4d76-8c0a-dbddd2ff2632
> chassis             : []
> gateway_chassis     : []
> logical_port        : "lrp-b3edbc9a-3248-43e5-b84e-01689a9c83e2"
> mac                 : []
> nat_addresses       : []
> options             : {peer="b3edbc9a-3248-43e5-b84e-01689a9c83e2"}
> parent_port         : []
> tag                 : []
> tunnel_key          : 1
> type                : patch
> 
> _uuid               : f2a93fee-7ec0-4302-9db3-64d13037fa7b
> chassis             : 391e99d0-fcef-4453-867a-875d54ddc316
> datapath            : 6d042f46-86be-49ff-84f9-e923bb4b903a
> external_ids        : {name="nic_1509949090.74", "neutron:cidrs"="
> 192.168.10.3/24",
> "neutron:device_id"="58f85bf0-e737-423a-ac05-f1a8d223eeab",
> "neutron:port_name"="nic_1509949090.74",
> "neutron:project_id"="0a87bdf15bcd4124944fde70f787cc49"}
> gateway_chassis     : []
> logical_port        : "989a951d-a8fc-4231-8494-c0ede61da7c2"
> mac                 : ["fa:16:3e:e9:0e:15 192.168.10.3"]
> nat_addresses       : []
> options             : {}
> parent_port         : []
> tag                 : []
> tunnel_key          : 3
> type                : ""
> 
> _uuid               : 6d396447-0ac4-4af1-bfaa-6746bfa6063b
> chassis             : []
> datapath            : ddee5a44-0cdc-440a-ab1b-c0d9a6b78ef9
> external_ids        : {}
> gateway_chassis     : [889addfe-e29b-4c08-a193-e33da211e3e6,
> d9de02b0-df2c-4000-b91c-fed0cdc7168d]
> logical_port        : "cr-lrp-b3edbc9a-3248-43e5-b84e-01689a9c83e2"
> mac                 : []
> nat_addresses       : []
> options             :
> {distributed-port="lrp-b3edbc9a-3248-43e5-b84e-01689a9c83e2"}
> parent_port         : []
> tag                 : []
> tunnel_key          : 2
> type                : chassisredirect

> _______________________________________________
> discuss mailing list
> disc...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

_______________________________________________
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to