On Wed, Dec 07, 2016 at 10:46:22AM -0800, Ben Pfaff wrote: > On Wed, Dec 07, 2016 at 10:08:25AM -0800, Guru Shetty wrote: > > On 4 December 2016 at 23:17, Ben Pfaff <b...@ovn.org> wrote: > > > > > Until now, ovn-controller has implemented OVN logical patch ports and > > > l3gateway ports in terms of OVS patch ports. It is a hassle to create and > > > destroy ports, and it is also wasteful compared to what the patch ports > > > actually buy us: the ability to "save and restore" a packet around a > > > recursive trip through the flow table. The "clone" action can do that > > > too, > > > without the need to create a port. This commit takes advantage of the > > > clone action for that purpose, getting rid of most of the patch ports > > > previously created by ovn-controller. > > > > > > Signed-off-by: Ben Pfaff <b...@ovn.org> > > > > > > > Though all the unit tests pass, all the system tests related to the gateway > > fail. > > make check-kernel TESTSUITEFLAGS="-k ovn" > > Uh-oh. Is there something obviously wrong?
Does the following incremental fix the problem? (I'll repost the whole series in a while though.) diff --git a/ovn/controller/physical.c b/ovn/controller/physical.c index 678b62d..f33750e 100644 --- a/ovn/controller/physical.c +++ b/ovn/controller/physical.c @@ -321,12 +321,12 @@ consider_port_binding(enum mf_field_id mff_ovn_geneve, struct zone_ids zone_ids = { .ct = 0 }; if (!strcmp(binding->type, "l3gateway")) { - char *dnat = alloc_nat_zone_key(&binding->datapath->header_.uuid, + char *dnat = alloc_nat_zone_key(&peer->datapath->header_.uuid, "dnat"); zone_ids.dnat = simap_get(ct_zones, dnat); free(dnat); - char *snat = alloc_nat_zone_key(&binding->datapath->header_.uuid, + char *snat = alloc_nat_zone_key(&peer->datapath->header_.uuid, "snat"); zone_ids.snat = simap_get(ct_zones, snat); free(snat); -- 2.10.2 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev