netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Paul Blakey <paulb@mellanox.com>
To: Paul Blakey <paulb@mellanox.com>,
	Saeed Mahameed <saeedm@mellanox.com>,
	Oz Shlomo <ozsh@mellanox.com>,
	Jakub Kicinski <jakub.kicinski@netronome.com>,
	Vlad Buslov <vladbu@mellanox.com>,
	David Miller <davem@davemloft.net>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	Jiri Pirko <jiri@mellanox.com>, Roi Dayan <roid@mellanox.com>
Subject: [PATCH net-next 0/6] act_ct: Software offload of conntrack_in
Date: Sun, 23 Feb 2020 13:45:01 +0200	[thread overview]
Message-ID: <1582458307-17067-1-git-send-email-paulb@mellanox.com> (raw)

This series adds software offload of connections with an established
ct state using the NF flow table offload infrastructure, so
once such flows are offloaded, they will not pass through conntrack
again, and instead act_ct will restore the conntrack info metadata
on the skb to the state it had on the offload event - established.

Act_ct maintains an FT instance per ct zone. Flow table entries
are created, per ct connection, when connections enter an established
state and deleted otherwise. Once an entry is created, the FT assumes
ownership of the entry, and manages it's aging.

On the datapath, first lookup the skb in the zone's FT before going
into conntrack, and if a matching flow is found, restore the conntrack
info metadata on the skb, and skip calling conntrack.

Netfilter flowtable patches provide the cleanup callback so act_ct can
cleanup the flow table once all entries are removed, as these are
managed by the flowtable.

Note that this patchset is part of the connection tracking offload feature.
Hardware offload of connections with an established ct state series will follow
this one.

Pablo Neira Ayuso (3):
  netfilter: flowtable: pass flowtable to nf_flow_table_iterate()
  netfilter: flowtable: nf_flow_table_iterate() returns the number of
    entries
  netfilter: flowtable: add cleanup callback from garbage collector

Paul Blakey (3):
  net/sched: act_ct: Create nf flow table per zone
  net/sched: act_ct: Offload established connections to flow table
  net/sched: act_ct: Software offload of established flows

 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c |   1 +
 include/net/netfilter/nf_flow_table.h           |   1 +
 include/net/tc_act/tc_ct.h                      |   2 +
 net/netfilter/nf_flow_table_core.c              |  28 +-
 net/sched/Kconfig                               |   2 +-
 net/sched/act_ct.c                              | 381 +++++++++++++++++++++++-
 6 files changed, 402 insertions(+), 13 deletions(-)

-- 
1.8.3.1


             reply	other threads:[~2020-02-23 11:45 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-23 11:45 Paul Blakey [this message]
2020-02-23 11:45 ` [PATCH net-next 1/6] netfilter: flowtable: pass flowtable to nf_flow_table_iterate() Paul Blakey
2020-02-23 11:45 ` [PATCH net-next 2/6] netfilter: flowtable: nf_flow_table_iterate() returns the number of entries Paul Blakey
2020-02-23 11:45 ` [PATCH net-next 3/6] netfilter: flowtable: add cleanup callback from garbage collector Paul Blakey
2020-02-23 11:45 ` [PATCH net-next 4/6] net/sched: act_ct: Create nf flow table per zone Paul Blakey
2020-02-24 15:58   ` Edward Cree
2020-02-26  9:44     ` Paul Blakey
2020-02-28 13:45   ` Marcelo Ricardo Leitner
2020-03-01 12:38     ` Paul Blakey
2020-02-23 11:45 ` [PATCH net-next 5/6] net/sched: act_ct: Offload established connections to flow table Paul Blakey
2020-02-23 11:45 ` [PATCH net-next 6/6] net/sched: act_ct: Software offload of established flows Paul Blakey
2020-02-24 16:04   ` Edward Cree
2020-02-25 12:16     ` Paul Blakey
2020-02-28 14:52   ` Marcelo Ricardo Leitner
2020-03-01 12:50     ` Paul Blakey
2020-02-29 14:18   ` Paul Blakey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1582458307-17067-1-git-send-email-paulb@mellanox.com \
    --to=paulb@mellanox.com \
    --cc=davem@davemloft.net \
    --cc=jakub.kicinski@netronome.com \
    --cc=jiri@mellanox.com \
    --cc=netdev@vger.kernel.org \
    --cc=ozsh@mellanox.com \
    --cc=roid@mellanox.com \
    --cc=saeedm@mellanox.com \
    --cc=vladbu@mellanox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).