@@ -140,6 +140,7 @@ Q: Are all features available with all datapaths?
Conntrack Zone Limit 4.18 2.10 2.13 YES
Conntrack NAT 4.6 2.6 2.8 YES
Conntrack NAT6 4.6 2.6 2.8 3.0
+ Conntrack Helper Persist. YES YES 3.2 NO
Tunnel - LISP NO 2.11 NO NO
Tunnel - STT NO 2.4 NO YES
Tunnel - GRE 3.11 1.0 2.4 YES
@@ -15,6 +15,10 @@ Post-v3.2.0
a.k.a. 'configured' values, can be found in the 'status' column of
the Interface table, i.e. with 'ovs-vsctl get interface <..> status'.
Reported names adjusted accordingly.
+ - conntrack:
+ * The userspace conntrack module no longer requires the user to specify
+ connection helpers in all flow rules. Instead, the helper specified
+ during connection commit will be used by default.
v3.2.0 - 17 Aug 2023
@@ -1245,6 +1245,10 @@ process_one(struct conntrack *ct, struct dp_packet *pkt,
conn = NULL;
}
+ if (conn && helper == NULL) {
+ helper = conn->alg;
+ }
+
enum ct_alg_ctl_type ct_alg_ctl = get_alg_ctl_type(pkt, helper);
if (OVS_LIKELY(conn)) {
@@ -1334,6 +1338,11 @@ conntrack_execute(struct conntrack *ct, struct dp_packet_batch *pkt_batch,
DP_PACKET_BATCH_FOR_EACH (i, packet, pkt_batch) {
struct conn *conn = packet->md.conn;
+
+ if (helper == NULL && conn != NULL) {
+ helper = conn->alg;
+ }
+
if (OVS_UNLIKELY(packet->md.ct_state == CS_INVALID)) {
write_ct_md(packet, zone, NULL, NULL, NULL);
} else if (conn &&