We use hping3 to send random tcp, udp from VM1 to VM2. We met a issue that conn_lookup( ) will find rev_conn->conn_type = CT_CONN_TYPE_DEFAULT in nat_clean().
Is this rev_conn->conn_type = CT_CONN_TYPE_DEFAULT ok? I think the rev_conn->conn_type need to be CT_CONN_TYPE_UN_NAT. From: Darrell Ball [mailto:[email protected]] Sent: Tuesday, September 12, 2017 12:38 PM To: wangyunjian <[email protected]> Cc: ovs dev <[email protected]>; Huanglili (lee) <[email protected]>; [email protected] Subject: Re: [ovs-dev] [PATCH] conntrack: Fix conn_type need be checked when remove rev_conn. We cannot merge this patch. Can you provide answers to the questions I asked here https://mail.openvswitch.org/pipermail/ovs-discuss/2017-September/045308.html Thanks Darrell On Mon, Sep 11, 2017 at 2:49 AM, w00273186 <[email protected]<mailto:[email protected]>> wrote: From: Yunjian Wang <[email protected]<mailto:[email protected]>> The rev_conn need will be removed, only when conn_type is CT_CONN_TYPE_UN_NAT. This crash will be triggered when remove conn in ct-clean thread. Reported-by: Lili Huang <[email protected]<mailto:[email protected]>> Signed-off-by: Yunjian Wang <[email protected]<mailto:[email protected]>> --- lib/conntrack.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/conntrack.c b/lib/conntrack.c index 419cb1d..c1adb56 100644 --- a/lib/conntrack.c +++ b/lib/conntrack.c @@ -684,9 +684,10 @@ nat_clean(struct conntrack *ct, struct conn *conn, /* In the unlikely event, rev conn was recreated, then skip * rev_conn cleanup. */ - if (rev_conn && (!nat_conn_key_node || - conn_key_cmp(&nat_conn_key_node->value, - &rev_conn->rev_key))) { + if (rev_conn && + (rev_conn->conn_type == CT_CONN_TYPE_UN_NAT) && + (!nat_conn_key_node || conn_key_cmp(&nat_conn_key_node->value, + &rev_conn->rev_key))) { hmap_remove(&ct->buckets[bucket_rev_conn].connections, &rev_conn->node); free(rev_conn); -- 1.8.3.1 _______________________________________________ dev mailing list [email protected]<mailto:[email protected]> https://mail.openvswitch.org/mailman/listinfo/ovs-dev _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
