ovn-controller implements traversal from one OVN logical network to another using the Open vSwitch "clone" action. The "clone" action preserves connection tracking state, which is confusing for passing from one logical datapath to another because this state is only relevant for a single logical datapath and does not make sense in the new one. This commit fixes a problem sometimes seen by ensuring that the connection tracking state is cleared when these traversals happen.
Reported-by: Numan Siddique <[email protected]> Reported-at: https://mail.openvswitch.org/pipermail/ovs-dev/2017-January/326948.html Fixes: f1a8bd06d58f ("ovn-controller: Drop most uses of OVS patch ports.") --- ovn/controller/physical.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ovn/controller/physical.c b/ovn/controller/physical.c index 9cc7eb6..1973984 100644 --- a/ovn/controller/physical.c +++ b/ovn/controller/physical.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2016 Nicira, Inc. +/* Copyright (c) 2015, 2016, 2017 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -331,6 +331,7 @@ consider_port_binding(enum mf_field_id mff_ovn_geneve, size_t clone_ofs = ofpacts_p->size; struct ofpact_nest *clone = ofpact_put_CLONE(ofpacts_p); + ofpact_put_CT_CLEAR(ofpacts_p); put_load(0, MFF_LOG_DNAT_ZONE, 0, 32, ofpacts_p); put_load(0, MFF_LOG_SNAT_ZONE, 0, 32, ofpacts_p); put_load(0, MFF_LOG_CT_ZONE, 0, 32, ofpacts_p); -- 2.10.2 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
