Currently, if the user wants to track related connections, they have to
specify a helper in all CT actions, which contradicts the behaviour
described in the documentation.

Fix this by using the helper committed along with the connection whenever
a given CT action does not specify a helper of its own.

Signed-off-by: Viacheslav Galaktionov <[email protected]>
Acked-by: Ivan Malov <[email protected]>
---
 lib/conntrack.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/conntrack.c b/lib/conntrack.c
index 4375c03e2..d505ffed1 100644
--- a/lib/conntrack.c
+++ b/lib/conntrack.c
@@ -1323,6 +1323,10 @@ process_one(struct conntrack *ct, struct dp_packet *pkt,
         }
     }
 
+    if (conn && helper == NULL) {
+        helper = conn->alg;
+    }
+
     enum ct_alg_ctl_type ct_alg_ctl = get_alg_ctl_type(pkt, tp_src, tp_dst,
                                                        helper);
 
-- 
2.41.0

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to