netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH net-next 0/9] flower: rework TCA_FLOWER_KEY_ENC_FLAGS usage
@ 2024-06-11 23:53 Asbjørn Sloth Tønnesen
  2024-06-11 23:53 ` [RFC PATCH net-next 1/9] net/sched: flower: define new tunnel flags Asbjørn Sloth Tønnesen
                   ` (9 more replies)
  0 siblings, 10 replies; 20+ messages in thread
From: Asbjørn Sloth Tønnesen @ 2024-06-11 23:53 UTC (permalink / raw)
  To: Davide Caratti, Ilya Maximets, Jamal Hadi Salim, Cong Wang,
	Jiri Pirko
  Cc: Asbjørn Sloth Tønnesen, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, David Ahern, Simon Horman, netdev,
	linux-kernel

This series reworks the recently added TCA_FLOWER_KEY_ENC_FLAGS
attribute, to be more like TCA_FLOWER_KEY_FLAGS, and use
the unused u32 flags field in TCA_FLOWER_KEY_ENC_CONTROL,
instead of adding another u32 in FLOW_DISSECTOR_KEY_ENC_FLAGS.

I have defined the new FLOW_DIS_F_* and TCA_FLOWER_KEY_FLAGS_*
flags to coexists for now, so the meaning of the flags field
in struct flow_dissector_key_control is not depending on the
context that it is used in. If we run out of bits then we can
always make split them up later, if we really want to.

Davide and Ilya would this work for you?

Currently this series is only compile-tested.

Preliminary discussion about these changes:
https://lore.kernel.org/netdev/ZmFuxElwZiYJzBkh@dcaratti.users.ipa.redhat.com/

---
If this series is put directly on top of:
668b6a2ef832 ("flow_dissector: add support for tunnel control
flags") and 1d17568e74de ("net/sched: cls_flower: add support
for matching tunnel control flags") as can be done by reverting
them, cherry-picking them, and then applying this series.

Then it gives this combined diffstat:
$ git diff --stat ...
 include/net/flow_dissector.h |  17 ++++-
 include/uapi/linux/pkt_cls.h |   8 ++
 net/core/flow_dissector.c    |  34 +++++---
 net/sched/cls_flower.c       | 103 ++++++++++++++++++++++----
 4 files changed, 136 insertions(+), 26 deletions(-)

Normal shortlog and diffstat below:

Asbjørn Sloth Tønnesen (9):
  net/sched: flower: define new tunnel flags
  net/sched: cls_flower: prepare fl_{set,dump}_key_flags() for ENC_FLAGS
  net/sched: cls_flower: add policy for TCA_FLOWER_KEY_FLAGS
  flow_dissector: prepare for encapsulated control flags
  flow_dissector: set encapsulated control flags from tun_flags
  net/sched: cls_flower: add tunnel flags to fl_{set,dump}_key_flags()
  net/sched: cls_flower: rework TCA_FLOWER_KEY_ENC_FLAGS usage
  flow_dissector: cleanup FLOW_DISSECTOR_KEY_ENC_FLAGS
  flow_dissector: set encapsulation control flags for non-IP

 include/net/flow_dissector.h |  26 +++----
 include/net/ip_tunnels.h     |  12 ----
 include/uapi/linux/pkt_cls.h |   5 ++
 net/core/flow_dissector.c    |  50 ++++++-------
 net/sched/cls_flower.c       | 135 ++++++++++++++++++++---------------
 5 files changed, 123 insertions(+), 105 deletions(-)

-- 
2.45.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2024-06-26 17:29 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-11 23:53 [RFC PATCH net-next 0/9] flower: rework TCA_FLOWER_KEY_ENC_FLAGS usage Asbjørn Sloth Tønnesen
2024-06-11 23:53 ` [RFC PATCH net-next 1/9] net/sched: flower: define new tunnel flags Asbjørn Sloth Tønnesen
2024-06-12 15:01   ` Davide Caratti
2024-06-11 23:53 ` [RFC PATCH net-next 2/9] net/sched: cls_flower: prepare fl_{set,dump}_key_flags() for ENC_FLAGS Asbjørn Sloth Tønnesen
2024-06-21 10:11   ` Davide Caratti
2024-06-21 14:45     ` Asbjørn Sloth Tønnesen
2024-06-26  9:49       ` Davide Caratti
2024-06-26 10:01         ` Davide Caratti
2024-06-26 11:55           ` Asbjørn Sloth Tønnesen
2024-06-26 17:29             ` Davide Caratti
2024-06-11 23:53 ` [RFC PATCH net-next 3/9] net/sched: cls_flower: add policy for TCA_FLOWER_KEY_FLAGS Asbjørn Sloth Tønnesen
2024-06-11 23:53 ` [RFC PATCH net-next 4/9] flow_dissector: prepare for encapsulated control flags Asbjørn Sloth Tønnesen
2024-06-11 23:53 ` [RFC PATCH net-next 5/9] flow_dissector: set encapsulated control flags from tun_flags Asbjørn Sloth Tønnesen
2024-06-21 15:02   ` Asbjørn Sloth Tønnesen
2024-06-11 23:53 ` [RFC PATCH net-next 6/9] net/sched: cls_flower: add tunnel flags to fl_{set,dump}_key_flags() Asbjørn Sloth Tønnesen
2024-06-11 23:53 ` [RFC PATCH net-next 7/9] net/sched: cls_flower: rework TCA_FLOWER_KEY_ENC_FLAGS usage Asbjørn Sloth Tønnesen
2024-06-11 23:53 ` [RFC PATCH net-next 8/9] flow_dissector: cleanup FLOW_DISSECTOR_KEY_ENC_FLAGS Asbjørn Sloth Tønnesen
2024-06-11 23:53 ` [RFC PATCH net-next 9/9] flow_dissector: set encapsulation control flags for non-IP Asbjørn Sloth Tønnesen
2024-06-12 15:06 ` [RFC PATCH net-next 0/9] flower: rework TCA_FLOWER_KEY_ENC_FLAGS usage Davide Caratti
2024-06-12 19:07   ` Asbjørn Sloth Tønnesen

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).