summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--datapath/conntrack.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/datapath/conntrack.c b/datapath/conntrack.c
index 49c299b5b..13cacf423 100644
--- a/datapath/conntrack.c
+++ b/datapath/conntrack.c
@@ -695,6 +695,10 @@ int ovs_ct_copy_action(struct net *net, const struct nlattr *attr,
OVS_NLERR(log, "Failed to allocate conntrack template");
return -ENOMEM;
}
+
+ __set_bit(IPS_CONFIRMED_BIT, &ct_info.ct->status);
+ nf_conntrack_get(&ct_info.ct->ct_general);
+
if (helper) {
err = ovs_ct_add_helper(&ct_info, helper, key, log);
if (err)
@@ -706,8 +710,6 @@ int ovs_ct_copy_action(struct net *net, const struct nlattr *attr,
if (err)
goto err_free_ct;
- __set_bit(IPS_CONFIRMED_BIT, &ct_info.ct->status);
- nf_conntrack_get(&ct_info.ct->ct_general);
return 0;
err_free_ct:
__ovs_ct_free_action(&ct_info);