diff options
-rw-r--r-- | datapath/conntrack.c | 6 |
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); |