summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorEelco Chaudron <echaudro@redhat.com>2023-02-07 15:04:42 +0100
committerIlya Maximets <i.maximets@ovn.org>2023-02-09 00:25:36 +0100
commit564d09ef53ebecca66f0f932a82e2acad9ed0567 (patch)
treebe1f6256a12731e5157dae05f729f7f705f94351 /lib
parent3209287103efd422bbdc7ba8ad6b9572b9fbd17b (diff)
downloadopenvswitch-564d09ef53ebecca66f0f932a82e2acad9ed0567.tar.gz
netdev-offload-tc: Fix tc conntrack force commit support.
tc was not setting the OVS_CT_ATTR_FORCE_COMMIT flag when a forced commit was requested. This patch will fix this. Fixes: 576126a931cd ("netdev-offload-tc: Add conntrack support") Signed-off-by: Eelco Chaudron <echaudro@redhat.com> Acked-by: Roi Dayan <roid@nvidia.com> Reviewed-by: Simon Horman <simon.horman@corigine.com> Tested-by: Simon Horman <simon.horman@corigine.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/netdev-offload-tc.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/netdev-offload-tc.c b/lib/netdev-offload-tc.c
index a13f2fe6b..5a2b26651 100644
--- a/lib/netdev-offload-tc.c
+++ b/lib/netdev-offload-tc.c
@@ -888,7 +888,11 @@ parse_tc_flower_to_actions__(struct tc_flower *flower, struct ofpbuf *buf,
ct_offset = nl_msg_start_nested(buf, OVS_ACTION_ATTR_CT);
if (action->ct.commit) {
- nl_msg_put_flag(buf, OVS_CT_ATTR_COMMIT);
+ if (action->ct.force) {
+ nl_msg_put_flag(buf, OVS_CT_ATTR_FORCE_COMMIT);
+ } else {
+ nl_msg_put_flag(buf, OVS_CT_ATTR_COMMIT);
+ }
}
if (action->ct.zone) {
@@ -1377,7 +1381,12 @@ parse_put_flow_ct_action(struct tc_flower *flower,
NL_ATTR_FOR_EACH_UNSAFE (ct_attr, ct_left, ct, ct_len) {
switch (nl_attr_type(ct_attr)) {
case OVS_CT_ATTR_COMMIT: {
- action->ct.commit = true;
+ action->ct.commit = true;
+ }
+ break;
+ case OVS_CT_ATTR_FORCE_COMMIT: {
+ action->ct.commit = true;
+ action->ct.force = true;
}
break;
case OVS_CT_ATTR_ZONE: {