From: Davide Caratti <dcaratti@redhat.com>
To: dcaratti@redhat.com
Cc: davem@davemloft.net, edumazet@google.com, i.maximets@ovn.org,
jhs@mojatatu.com, jiri@resnulli.us, kuba@kernel.org,
lucien.xin@gmail.com, marcelo.leitner@gmail.com,
netdev@vger.kernel.org, pabeni@redhat.com,
xiyou.wangcong@gmail.com, echaudro@redhat.com
Subject: [PATCH net-next v3 0/2] net: allow dissecting/matching tunnel control flags
Date: Wed, 29 May 2024 10:31:56 +0200 [thread overview]
Message-ID: <cover.1716911277.git.dcaratti@redhat.com> (raw)
Ilya says: "for correct matching on decapsulated packets, we should match
on not only tunnel id and headers, but also on tunnel configuration flags
like TUNNEL_NO_CSUM and TUNNEL_DONT_FRAGMENT. This is done to distinguish
similar tunnels with slightly different configs. And it is important since
tunnel configuration is flow based, i.e. can be different for every packet,
even though the main tunnel port is the same."
- patch 1 extends the kernel's flow dissector to extract these flags
from the packet's tunnel metadata.
- patch 2 extends TC flower to match on any combination of TUNNEL_NO_CSUM,
TUNNEL_DONT_FRAGMENT, TUNNEL_OAM, TUNNEL_CRIT_OPT
v3:
- rebase on top of new uAPI bits and internals after commit 5832c4a77d69
("ip_tunnel: convert __be16 tunnel flags to bitmaps"). Use of network
byte order is no more needed, since these bits match on metadata: convert
netlink attributes to be u32.
- also include TUNNEL_CRIT_OPT
v2:
- use NL_REQ_ATTR_CHECK() where possible (thanks Jamal)
- don't overwrite 'ret' in the error path of fl_set_key_flags()
Davide Caratti (2):
flow_dissector: add support for tunnel control flags
net/sched: cls_flower: add support for matching tunnel control flags
include/net/flow_dissector.h | 9 ++++++
include/net/ip_tunnels.h | 12 ++++++++
include/uapi/linux/pkt_cls.h | 3 ++
net/core/flow_dissector.c | 16 ++++++++++-
net/sched/cls_flower.c | 56 +++++++++++++++++++++++++++++++++++-
5 files changed, 94 insertions(+), 2 deletions(-)
--
2.44.0
next reply other threads:[~2024-05-29 8:32 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-29 8:31 Davide Caratti [this message]
2024-05-29 8:31 ` [PATCH net-next v3 1/2] flow_dissector: add support for tunnel control flags Davide Caratti
2024-05-30 2:03 ` Jakub Kicinski
2024-05-29 8:31 ` [PATCH net-next v3 2/2] net/sched: cls_flower: add support for matching " Davide Caratti
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=cover.1716911277.git.dcaratti@redhat.com \
--to=dcaratti@redhat.com \
--cc=davem@davemloft.net \
--cc=echaudro@redhat.com \
--cc=edumazet@google.com \
--cc=i.maximets@ovn.org \
--cc=jhs@mojatatu.com \
--cc=jiri@resnulli.us \
--cc=kuba@kernel.org \
--cc=lucien.xin@gmail.com \
--cc=marcelo.leitner@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=xiyou.wangcong@gmail.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).