[{"id":3684895,"web_url":"http://patchwork.ozlabs.org/comment/3684895/","msgid":"<e301acbb-5ead-4c29-a869-dc2526cf0ff5@ovn.org>","list_archive_url":null,"date":"2026-04-30T18:28:08","subject":"Re: [ovs-dev] [PATCH] ofproto-dpif-xlate: Restore ctx->conntracked\n after reversible clone().","submitter":{"id":76798,"url":"http://patchwork.ozlabs.org/api/people/76798/","name":"Ilya Maximets","email":"i.maximets@ovn.org"},"content":"On 4/30/26 8:00 PM, Naveen Yerramneni wrote:\n> clone_xlate_actions() has two code paths. The non-reversible path\n> saves and restores ctx->conntracked across the inner actions, but\n> the reversible path does not.\n> \n> This is a problem for flows like:\n>     clone(ct_clear, <actions>), ct_clear, resubmit(,N)\n> \n> The ct_clear inside the clone sets ctx->conntracked to false. After\n> the clone returns, the flag stays false but flow.ct_state is\n> restored by xretain_state_restore_and_free(). The ct_clear that\n> follows the clone then does nothing, because OFPACT_CT_CLEAR runs\n> only when ctx->conntracked is true. The original packet keeps its old\n> ct_state, and the ct_clear did not take effect.\n\nGood catch!\n\n> \n> Save and restore ctx->conntracked in the reversible path too, so it\n> behaves the same as the non-reversible path.\n\nWe shouldn't do that.  The real problem here is that ct_clear was reversible\nin the past, but it's no longer reversible since:\n  \n  1fe178d251c8 (\"dpif: Add support for OVS_ACTION_ATTR_CT_CLEAR\")\n\nBecause after that commit we generate the datapath action and we can't\nreverse that without passing a packet through conntrack again, which we\ncan't do as it will break the state.  So, we should just not take the\nreversible path, because it isn't.\n\n> \n> Add a kernel datapath system test to cover this scenario.\n\nThis issue is not related to the conntrack implementation in the datapath,\nso it should not be a system test.  We'll need a test for this in\ntests/ofproto-dpif.at instead.  There are some tests for reversible actions\nin there already.\n\nBest regards, Ilya Maximets.","headers":{"Return-Path":"<ovs-dev-bounces@openvswitch.org>","X-Original-To":["incoming@patchwork.ozlabs.org","dev@openvswitch.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","ovs-dev@lists.linuxfoundation.org"],"Authentication-Results":["legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org\n (client-ip=140.211.166.138; helo=smtp1.osuosl.org;\n envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org)","smtp3.osuosl.org;\n dmarc=none (p=none dis=none) header.from=ovn.org"],"Received":["from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g62jZ58cRz1yHZ\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 01 May 2026 04:28:18 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 50BA8843E9;\n\tThu, 30 Apr 2026 18:28:16 +0000 (UTC)","from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id 8ZBJHWF0aM5L; Thu, 30 Apr 2026 18:28:15 +0000 (UTC)","from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56])\n\tby smtp1.osuosl.org (Postfix) with ESMTPS id 5765884F7C;\n\tThu, 30 Apr 2026 18:28:15 +0000 (UTC)","from lf-lists.osuosl.org (localhost [127.0.0.1])\n\tby lists.linuxfoundation.org (Postfix) with ESMTP id 2FA92C04E8;\n\tThu, 30 Apr 2026 18:28:15 +0000 (UTC)","from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136])\n by lists.linuxfoundation.org (Postfix) with ESMTP id 573E2C04E7\n for <dev@openvswitch.org>; Thu, 30 Apr 2026 18:28:14 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp3.osuosl.org (Postfix) with ESMTP id 431986F4B1\n for <dev@openvswitch.org>; Thu, 30 Apr 2026 18:28:14 +0000 (UTC)","from smtp3.osuosl.org ([127.0.0.1])\n by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id OmpR9Z5pS0OE for <dev@openvswitch.org>;\n Thu, 30 Apr 2026 18:28:13 +0000 (UTC)","from mail-qt1-f195.google.com (mail-qt1-f195.google.com\n [209.85.160.195])\n by smtp3.osuosl.org (Postfix) with ESMTPS id 63F076F4B2\n for <dev@openvswitch.org>; Thu, 30 Apr 2026 18:28:13 +0000 (UTC)","by mail-qt1-f195.google.com with SMTP id\n d75a77b69052e-50faeb8317bso8532651cf.2\n for <dev@openvswitch.org>; Thu, 30 Apr 2026 11:28:13 -0700 (PDT)","from [192.168.88.241] (89-24-32-159.nat.epc.tmcz.cz. [89.24.32.159])\n by smtp.gmail.com with ESMTPSA id\n d75a77b69052e-5103d203fd4sm1864881cf.10.2026.04.30.11.28.10\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Thu, 30 Apr 2026 11:28:11 -0700 (PDT)"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections - client-ip=140.211.9.56;\n helo=lists.linuxfoundation.org;\n envelope-from=ovs-dev-bounces@openvswitch.org; receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp1.osuosl.org 5765884F7C","OpenDKIM Filter v2.11.0 smtp3.osuosl.org 63F076F4B2"],"Received-SPF":"Pass (mailfrom) identity=mailfrom; client-ip=209.85.160.195;\n helo=mail-qt1-f195.google.com; envelope-from=i.maximets.ovn@gmail.com;\n receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp3.osuosl.org 63F076F4B2","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777573692; x=1778178492;\n h=content-transfer-encoding:in-reply-to:autocrypt:from\n :content-language:references:to:subject:cc:user-agent:mime-version\n :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=RSWKC/lm7lotKM0IL7XinZixPRxPxBl+Zp9p8hU2se0=;\n b=eVj10gG+X1npJTriWS1jIcZbVTs/Lkx2VB6LLv8Wq119zWFQl8rXrdy8PWuUBg5bEt\n 2QSl/cUTGaEFvDWvhcx2kT6BBTTbHSZWoYFQMWjZIpjvBv9n0JbFga/B3XiVZfXH6ypD\n WuC8GX+H7q+Urk6IKyVpgxJpUAD/yD03ChJDtbdvobDuUKsKD0MbnHXZH8zSNN/O+tfa\n 6j4UD+Z64Vsdz5i1vpDomXj6wvUmBMN01ZD1JVN+6bGwk3xo7f7JwCfO4IReCW4bpPSt\n +0xy83NMzIFbgEuDPWM9LAuHfxAHZTAb2vZwd/o6Oljxn25WzZrh2b09FoVXDEU8ytp4\n 1zxg==","X-Forwarded-Encrypted":"i=1;\n AFNElJ+d1rQ23AlTxv/hztBHPaIpBaLUz6F0GDTRP79/haa6k9pqaT6LZlOjz34gMi5nUtrS19s=@openvswitch.org","X-Gm-Message-State":"AOJu0YwSDbp7jdXB0ZfRvwYZTRL915mVEqWPlULTg4kCF6H977dCkt+C\n 1w1b/LX1sl2sxFtQ0DV8BDltMIfKaXI1Ip9rqZIDVfg/P6+0WZnYgP6h","X-Gm-Gg":"AeBDieu8S7X4o5hKdVPwNwSYLFmw74jndST411NzhC3BQo+Fhszs2hvbd1rvpqB/DWI\n MC1AtSXbg1zEmsw3d2xp2cGOw59m+RzkZj1Df0EE0YzQfThYkDZHRDas/QMGp5QDvvLga6kMVCR\n CY0AabCbm8k50mreyo2+kOVhmkPVDQLat2JVh9qWGXvhWXJXNL0Ks0WcoOoHXs3vjmCCKE6tiRf\n MaFLcHB43/6JCI9SF6tSssY6qY0L/q27cBnb9sH5yWPzSh4WVs2KsPyUh/EAC+jbFDpsxd2iRL+\n LvrgwnmZkppTCfxhmHk8ID5Z2NdEvIiAFRAndX89dOkB1nxuOVYL4XNTGhrQirV9RIGxmov0IIo\n LgZixk3ZZT1drwraYuHCs8AsbKl1DC7Xx3MVwyH8YMJPb8MGp/Ib1hrU0ULTUHDVk1ZZz2m+wYD\n BsVXIbZVz04vk8q5ty71RTFknqTWRc56DxTEK55G6wjd1a8j6JYqM2dfYIb7kPY5AV7Q==","X-Received":"by 2002:a05:622a:1892:b0:50f:b257:9301 with SMTP id\n d75a77b69052e-5102ae165ecmr58952171cf.52.1777573691955;\n Thu, 30 Apr 2026 11:28:11 -0700 (PDT)","Message-ID":"<e301acbb-5ead-4c29-a869-dc2526cf0ff5@ovn.org>","Date":"Thu, 30 Apr 2026 20:28:08 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Cc":"i.maximets@ovn.org","To":"Naveen Yerramneni <naveen.yerramneni@nutanix.com>, dev@openvswitch.org","References":"<20260430180013.3202907-1-naveen.yerramneni@nutanix.com>","Content-Language":"en-US","From":"Ilya Maximets <i.maximets@ovn.org>","Autocrypt":"addr=i.maximets@ovn.org; keydata=\n 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","In-Reply-To":"<20260430180013.3202907-1-naveen.yerramneni@nutanix.com>","Subject":"Re: [ovs-dev] [PATCH] ofproto-dpif-xlate: Restore ctx->conntracked\n after reversible clone().","X-BeenThere":"ovs-dev@openvswitch.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"<ovs-dev.openvswitch.org>","List-Unsubscribe":"<https://mail.openvswitch.org/mailman/options/ovs-dev>,\n <mailto:ovs-dev-request@openvswitch.org?subject=unsubscribe>","List-Archive":"<http://mail.openvswitch.org/pipermail/ovs-dev/>","List-Post":"<mailto:ovs-dev@openvswitch.org>","List-Help":"<mailto:ovs-dev-request@openvswitch.org?subject=help>","List-Subscribe":"<https://mail.openvswitch.org/mailman/listinfo/ovs-dev>,\n <mailto:ovs-dev-request@openvswitch.org?subject=subscribe>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"ovs-dev-bounces@openvswitch.org","Sender":"\"dev\" <ovs-dev-bounces@openvswitch.org>"}}]