Re: [ovs-discuss] OVN patch port for localnet can't be created
By manually adding nat-addresses=router for logical router type switch port make it go further, above are not the problem now, thanks all. On Thu, Nov 9, 2017 at 5:54 PM, Hui Xiangwrote: > The ovn-trace target to vm floatingip is finally identified as MC_unknown > because there are only three lflows in the lswitch for public net, does it > correct for normal case, where should I look next? > > lflow: > table=15(ls_in_l2_lkup ), priority=100 , match=(eth.mcast), > action=(outport = "_MC_flood"; output;) > table=15(ls_in_l2_lkup ), priority=50 , match=(eth.dst == > fa:16:3e:2e:ea:e9 && > is_chassis_resident("cr-lrp-640d0475-ff83-47b7-8a4d-9ea0e770fb24")), > action=(outport = "640d0475-ff83-47b7-8a4d-9ea0e770fb24"; output;) > table=15(ls_in_l2_lkup ), priority=0, match=(1), > action=(outport = "_MC_unknown"; output;) > > > vm floatingip detail: > | b20f8e5d-8e91-4f12-84b1-409728706844 | | > fa:16:3e:23:33:fa | {"subnet_id": "3659502b-a41b-4c3f-964c-457e6782ae79", > "ip_address": "172.16.0.131"} | > > > > [root@node-1 ~]# ovn-trace --detail 9ac587cd-becc-4584-99c9-24282f8707e2 > 'inport == "provnet-668bf1b8-cfec-44d1-b659-30a42c83e29f" && eth.src == > 96:95:d8:7d:b9:4c && ip4.src == 172.16.0.2 && eth.dst == fa:16:3e:23:33:fa > && ip4.dst == 172.16.0.131 && ip.ttl == 32' > # ip,reg14=0x1,vlan_tci=0x,dl_src=96:95:d8:7d:b9:4c,dl_ > dst=fa:16:3e:23:33:fa,nw_src=172.16.0.2,nw_dst=172.16.0. > 131,nw_proto=0,nw_tos=0,nw_ecn=0,nw_ttl=32 > > ingress(dp="public", inport="provnet-668bf1") > - > 0. ls_in_port_sec_l2 (ovn-northd.c:3556): inport == "provnet-668bf1", > priority 50, uuid 25b99b9a > next; > 10. ls_in_arp_rsp (ovn-northd.c:3588): inport == "provnet-668bf1", > priority 100, uuid b3607f68 > next; > 15. ls_in_l2_lkup (ovn-northd.c:3975): 1, priority 0, uuid 83de4750 > outport = "_MC_unknown"; > output; > > multicast(dp="public", mcgroup="_MC_unknown") > - > > egress(dp="public", inport="provnet-668bf1", outport="provnet-668bf1") > -- > /* omitting output because inport == outport && !flags.loopback */ > > > On Thu, Nov 9, 2017 at 5:26 PM, Hui Xiang wrote: > >> Hi Numan, >> >> Yes, it is the openstack setup with networking-ovn. >> "ovn-nbctl list logical_router_port | grep redirect-chassis" has >> null, and I had followed your command to set the redirect-chassis, but >> before that the patch ports for localnet are >> created successfully because I am recreating the environment again. >> >>Last time the patch ports are deleted by not clear reason when I am >> doing ofproto/trace. I am trying to do it again because the vm >> dnat_and_snat doesn't work in my openstack >> and ovn environment. >> >> ovn: 2.8.1, networking-ovn: master(with most latest patches) >> >> VM: | dcb35bb8-12d5-444b-96ba-22b60c70f950 | A| ACTIVE | - >> | Running | private=20.0.0.2, 172.16.0.131 | >> >> >> >> [root@node-1 ~]# ovn-nbctl list logical_router_port >> _uuid : e0c7e73e-42a7-469c-9b01-86dd9cc5563e >> enabled : [] >> external_ids: {} >> gateway_chassis : [] >> mac : "fa:16:3e:b5:99:71" >> name: "lrp-82f21142-a15a-4cbc-9c59-c4cbf88e2348" >> networks: ["20.0.0.1/24"] >> options : {redirect-chassis="f49d19ac-d1 >> 40-44d4-9f1c-3601a23d67d1"} >> peer: [] >> >> _uuid : 6d67d962-38a5-4a29-86b5-067dc26f78d4 >> enabled : [] >> external_ids: {} >> gateway_chassis : [22ab4c4e-3bbc-4b41-8f65-09ddc060efb0] >> mac : "fa:16:3e:2e:ea:e9" >> name: "lrp-640d0475-ff83-47b7-8a4d-9ea0e770fb24" >> networks: ["172.16.0.130/16"] >> options : {} >> peer: [] >> >> [root@node-1 ~]# ovn-nbctl show >> switch 9ac587cd-becc-4584-99c9-24282f8707e2 >> (neutron-668bf1b8-cfec-44d1-b659-30a42c83e29f) (aka public) >> port provnet-668bf1b8-cfec-44d1-b659-30a42c83e29f >> type: localnet >> addresses: ["unknown"] >> port 9572b4f3-0e02-4803-acab-1bf1d0b716cb (aka internal_gw) >> addresses: [""] >> port 640d0475-ff83-47b7-8a4d-9ea0e770fb24 >> type: router >> router-port: lrp-640d0475-ff83-47b7-8a4d-9ea0e770fb24 >> switch 1a4ccee6-86ff-4ec4-9e42-3fffa1709d59 >> (neutron-599de5c1-200d-4962-a3ae-ca3e0434cc0a) (aka private) >> port 6fd717e1-572e-4bad-8e74-cdda95d1ce49 (aka nic_1510210943.93) >> addresses: ["fa:16:3e:b9:c2:dd 20.0.0.2"] >> port 82f21142-a15a-4cbc-9c59-c4cbf88e2348 >> type: router >> router-port: lrp-82f21142-a15a-4cbc-9c59-c4cbf88e2348 >> router e2acff1f-b71e-4c74-83cf-0481b66a004b >>
Re: [ovs-discuss] OVN patch port for localnet can't be created
The ovn-trace target to vm floatingip is finally identified as MC_unknown because there are only three lflows in the lswitch for public net, does it correct for normal case, where should I look next? lflow: table=15(ls_in_l2_lkup ), priority=100 , match=(eth.mcast), action=(outport = "_MC_flood"; output;) table=15(ls_in_l2_lkup ), priority=50 , match=(eth.dst == fa:16:3e:2e:ea:e9 && is_chassis_resident("cr-lrp-640d0475-ff83-47b7-8a4d-9ea0e770fb24")), action=(outport = "640d0475-ff83-47b7-8a4d-9ea0e770fb24"; output;) table=15(ls_in_l2_lkup ), priority=0, match=(1), action=(outport = "_MC_unknown"; output;) vm floatingip detail: | b20f8e5d-8e91-4f12-84b1-409728706844 | | fa:16:3e:23:33:fa | {"subnet_id": "3659502b-a41b-4c3f-964c-457e6782ae79", "ip_address": "172.16.0.131"} | [root@node-1 ~]# ovn-trace --detail 9ac587cd-becc-4584-99c9-24282f8707e2 'inport == "provnet-668bf1b8-cfec-44d1-b659-30a42c83e29f" && eth.src == 96:95:d8:7d:b9:4c && ip4.src == 172.16.0.2 && eth.dst == fa:16:3e:23:33:fa && ip4.dst == 172.16.0.131 && ip.ttl == 32' # ip,reg14=0x1,vlan_tci=0x,dl_src=96:95:d8:7d:b9:4c,dl_dst=fa:16:3e:23:33:fa,nw_src=172.16.0.2,nw_dst=172.16.0.131,nw_proto=0,nw_tos=0,nw_ecn=0,nw_ttl=32 ingress(dp="public", inport="provnet-668bf1") - 0. ls_in_port_sec_l2 (ovn-northd.c:3556): inport == "provnet-668bf1", priority 50, uuid 25b99b9a next; 10. ls_in_arp_rsp (ovn-northd.c:3588): inport == "provnet-668bf1", priority 100, uuid b3607f68 next; 15. ls_in_l2_lkup (ovn-northd.c:3975): 1, priority 0, uuid 83de4750 outport = "_MC_unknown"; output; multicast(dp="public", mcgroup="_MC_unknown") - egress(dp="public", inport="provnet-668bf1", outport="provnet-668bf1") -- /* omitting output because inport == outport && !flags.loopback */ On Thu, Nov 9, 2017 at 5:26 PM, Hui Xiangwrote: > Hi Numan, > > Yes, it is the openstack setup with networking-ovn. > "ovn-nbctl list logical_router_port | grep redirect-chassis" has null, > and I had followed your command to set the redirect-chassis, but before > that the patch ports for localnet are > created successfully because I am recreating the environment again. > >Last time the patch ports are deleted by not clear reason when I am > doing ofproto/trace. I am trying to do it again because the vm > dnat_and_snat doesn't work in my openstack > and ovn environment. > > ovn: 2.8.1, networking-ovn: master(with most latest patches) > > VM: | dcb35bb8-12d5-444b-96ba-22b60c70f950 | A| ACTIVE | - > | Running | private=20.0.0.2, 172.16.0.131 | > > > > [root@node-1 ~]# ovn-nbctl list logical_router_port > _uuid : e0c7e73e-42a7-469c-9b01-86dd9cc5563e > enabled : [] > external_ids: {} > gateway_chassis : [] > mac : "fa:16:3e:b5:99:71" > name: "lrp-82f21142-a15a-4cbc-9c59-c4cbf88e2348" > networks: ["20.0.0.1/24"] > options : {redirect-chassis="f49d19ac- > d140-44d4-9f1c-3601a23d67d1"} > peer: [] > > _uuid : 6d67d962-38a5-4a29-86b5-067dc26f78d4 > enabled : [] > external_ids: {} > gateway_chassis : [22ab4c4e-3bbc-4b41-8f65-09ddc060efb0] > mac : "fa:16:3e:2e:ea:e9" > name: "lrp-640d0475-ff83-47b7-8a4d-9ea0e770fb24" > networks: ["172.16.0.130/16"] > options : {} > peer: [] > > [root@node-1 ~]# ovn-nbctl show > switch 9ac587cd-becc-4584-99c9-24282f8707e2 > (neutron-668bf1b8-cfec-44d1-b659-30a42c83e29f) > (aka public) > port provnet-668bf1b8-cfec-44d1-b659-30a42c83e29f > type: localnet > addresses: ["unknown"] > port 9572b4f3-0e02-4803-acab-1bf1d0b716cb (aka internal_gw) > addresses: [""] > port 640d0475-ff83-47b7-8a4d-9ea0e770fb24 > type: router > router-port: lrp-640d0475-ff83-47b7-8a4d-9ea0e770fb24 > switch 1a4ccee6-86ff-4ec4-9e42-3fffa1709d59 > (neutron-599de5c1-200d-4962-a3ae-ca3e0434cc0a) > (aka private) > port 6fd717e1-572e-4bad-8e74-cdda95d1ce49 (aka nic_1510210943.93) > addresses: ["fa:16:3e:b9:c2:dd 20.0.0.2"] > port 82f21142-a15a-4cbc-9c59-c4cbf88e2348 > type: router > router-port: lrp-82f21142-a15a-4cbc-9c59-c4cbf88e2348 > router e2acff1f-b71e-4c74-83cf-0481b66a004b > (neutron-18bb9c8c-30f7-4ada-bd64-c02dfa198e75) > (aka shared_router) > port lrp-640d0475-ff83-47b7-8a4d-9ea0e770fb24 > mac: "fa:16:3e:2e:ea:e9" > networks: ["172.16.0.130/16"] > port lrp-82f21142-a15a-4cbc-9c59-c4cbf88e2348 > mac: "fa:16:3e:b5:99:71" > networks: ["20.0.0.1/24"] > nat 78d9f764-ff99-4718-a8e2-9c769a26b675 >
Re: [ovs-discuss] OVN patch port for localnet can't be created
Thanks Ben. After adding sbrec_port_binding_add_clause_type(, OVSDB_F_EQ, "localnet"); in the update_sb_monitors() function, the patch ports for localnet can be created, but that is very confused when debugging the program, initially this hypervisor is set as the gateway chassis where other vms spawned in other hypervisor can go dnat_and_snat through this node that without any vm spawned. In the begginging the patch ports are created successfully, then I booted two vms, assigned floatiingips, they are not recheable, so I begin to do ofproto/trace, during that time, the patch ports suddenly deleted and can't be created well. The GDB showed that no localnet type binding can be found from ovn sb idl, I am not quite understand the ovn sb idl update/monitor logistic so far. Anyway probably my environment is messed up, I have re-create the environment and try to do again. On Wed, Nov 8, 2017 at 11:11 AM, Ben Pfaffwrote: > 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 > >
Re: [ovs-discuss] OVN patch port for localnet can't be created
Is this openstack setup with networking-ovn ? Can you run "ovn-nbctl list logical_router_port | grep redirect-chassis" and make sure that networking-ovn has scheduled the gateway router port to the desired chassis ? May be the gateway router port is scheduled to some other chassis. You can can run "ovn-nbctl set logical_router_port options:redirect-chassis="CHASSIS_UUID_WHERE_YOU_WANT_TO_SCHEDULE" to schedule it to your desired chassis. Thanks Numan On Wed, Nov 8, 2017 at 8:41 AM, Ben Pfaffwrote: > 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:
Re: [ovs-discuss] OVN patch port for localnet can't be created
Seems it even doesn't get the "" type, just only patch and chassisredirect. gateway_chassis : [] logical_port: "d94cb413-f53a-4943-9590-c75e60e63568" mac : [""] nat_addresses : [] options : {} parent_port : [] tag : [] tunnel_key : 3 type: "" On Tue, Nov 7, 2017 at 4:36 PM, Hui Xiangwrote: > 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
[ovs-discuss] OVN patch port for localnet can't be created
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 =