Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4767011pxj; Wed, 9 Jun 2021 01:04:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxP05QGMHilzJWGoIPnNTyA1egvBK37H1iU/igJdonu20nYOz/IGWl/f66hxJHYZkGKe9ry X-Received: by 2002:a50:fd89:: with SMTP id o9mr29702370edt.336.1623225861993; Wed, 09 Jun 2021 01:04:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623225861; cv=none; d=google.com; s=arc-20160816; b=bhW+Gr+Ju+Q2a3A5l/AtSbVTWjgtnrmva/C9gy1h/ZJd8Jj7bNBES0ecaHxSTmlB6B WTr/kOyfW/2Nz2x9pRPb5ZKX1EkjfADQy4UxirIXJVbde3oJmv3tX4yzzr+S+exgWTeB 8Ouxzww7qD34h9dtIDTfSDl6WHTSmGKcyODbROPm1MHw1Impjab5v3v1auRSMtnlFz+C pvwuw1tp1IwjetKgdfZgmtzyhPvYjlqAJFiG8chC3Xoc6W1D8PYjk6XAe9ID7ZJePJlJ XlTyut0hfQnnmU1B7CBBDf9Ec6SGqXnl+EvGspclfWhL7xx2T2kDuYp6OfEuq+DMwGBD 1jpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=bjB+/M0rCxRRnbzy6DeNei/tE0qwNjGCXtVMt/UMtbM=; b=SMgSuQci3QUHGZB2R/sa3oTJGrLkr+oAu1zZmmMi+rT24xUiqorYVkoVbYTYXFYcf4 ySfx2ZumZXYjGIklVxBYYnakTTNeF105SiANp7I39TbGH94O4OiTnH16Hf4CbwhnRFDT 5rwIPka2xSgdwhYgyfBARuq1WFIxRz3xTHvQKfZMFcLgTBqDXyBwO/lGM6klk81KI5/Y 4LLPnKyaQJ+L8TWnc8l7ly7q6qowApHhvUmrV8RGGNhphYL7mttxilIz6eQsulbkxYQ7 X3ZSknjy3L88mDV0w99UDlhJh3N5q6NWnrMN08T0wt5cbo+PlXRQMXM3zekIRhG1itS/ 8i4Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=xoQXTelz; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cm8si1776898edb.480.2021.06.09.01.03.59; Wed, 09 Jun 2021 01:04:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=xoQXTelz; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238273AbhFHTOc (ORCPT + 99 others); Tue, 8 Jun 2021 15:14:32 -0400 Received: from mail.kernel.org ([198.145.29.99]:45022 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236986AbhFHTDl (ORCPT ); Tue, 8 Jun 2021 15:03:41 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 643D0613C0; Tue, 8 Jun 2021 18:45:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1623177951; bh=JiNZlSikyQwZnPoSF3ec5ikNZ5ygRYEjh3PqydSZK+k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=xoQXTelzktkqv+DxXvu5hGXQXbNQle8KwO11BOzxKdhk2ZUDLCf2qiU+/Zckn0ct4 BwdmU7oee2u+bZDRly0JWUfOgU0Wv3F8kHe1sYuSfGlHw+OSz3iB5yvnjst05g3C+0 is8CdSLcbp6YURvIkHt8xqBFG9ybYoSQmDI6mc3Y= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Oz Shlomo , Jiri Pirko , Marcelo Ricardo Leitner , Paul Blakey , Jakub Kicinski , Sasha Levin Subject: [PATCH 5.12 022/161] net/sched: act_ct: Offload connections with commit action Date: Tue, 8 Jun 2021 20:25:52 +0200 Message-Id: <20210608175946.199786615@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210608175945.476074951@linuxfoundation.org> References: <20210608175945.476074951@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Paul Blakey [ Upstream commit 0cc254e5aa37cf05f65bcdcdc0ac5c58010feb33 ] Currently established connections are not offloaded if the filter has a "ct commit" action. This behavior will not offload connections of the following scenario: $ tc_filter add dev $DEV ingress protocol ip prio 1 flower \ ct_state -trk \ action ct commit action goto chain 1 $ tc_filter add dev $DEV ingress protocol ip chain 1 prio 1 flower \ action mirred egress redirect dev $DEV2 $ tc_filter add dev $DEV2 ingress protocol ip prio 1 flower \ action ct commit action goto chain 1 $ tc_filter add dev $DEV2 ingress protocol ip prio 1 chain 1 flower \ ct_state +trk+est \ action mirred egress redirect dev $DEV Offload established connections, regardless of the commit flag. Fixes: 46475bb20f4b ("net/sched: act_ct: Software offload of established flows") Reviewed-by: Oz Shlomo Reviewed-by: Jiri Pirko Acked-by: Marcelo Ricardo Leitner Signed-off-by: Paul Blakey Link: https://lore.kernel.org/r/1622029449-27060-1-git-send-email-paulb@nvidia.com Signed-off-by: Jakub Kicinski Signed-off-by: Sasha Levin --- net/sched/act_ct.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/net/sched/act_ct.c b/net/sched/act_ct.c index 48fdf7293dea..371fd64638d2 100644 --- a/net/sched/act_ct.c +++ b/net/sched/act_ct.c @@ -984,7 +984,7 @@ static int tcf_ct_act(struct sk_buff *skb, const struct tc_action *a, */ cached = tcf_ct_skb_nfct_cached(net, skb, p->zone, force); if (!cached) { - if (!commit && tcf_ct_flow_table_lookup(p, skb, family)) { + if (tcf_ct_flow_table_lookup(p, skb, family)) { skip_add = true; goto do_nat; } @@ -1024,10 +1024,11 @@ do_nat: * even if the connection is already confirmed. */ nf_conntrack_confirm(skb); - } else if (!skip_add) { - tcf_ct_flow_table_process_conn(p->ct_ft, ct, ctinfo); } + if (!skip_add) + tcf_ct_flow_table_process_conn(p->ct_ft, ct, ctinfo); + out_push: skb_push_rcsum(skb, nh_ofs); -- 2.30.2