mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH net-next v4 00/13] flower: rework TCA_FLOWER_KEY_ENC_FLAGS usage
@ 2024-07-13  2:18 Asbjørn Sloth Tønnesen
  2024-07-13  2:18 ` [PATCH net-next v4 01/13] net/sched: flower: refactor control flag definitions Asbjørn Sloth Tønnesen
                   ` (13 more replies)
  0 siblings, 14 replies; 18+ messages in thread
From: Asbjørn Sloth Tønnesen @ 2024-07-13  2:18 UTC (permalink / raw)
  To: netdev
  Cc: Asbjørn Sloth Tønnesen, Davide Caratti, Ilya Maximets,
	Jamal Hadi Salim, Cong Wang, Jiri Pirko, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, David Ahern,
	Simon Horman, Ratheesh Kannoth, Florian Westphal,
	Alexander Lobakin, Donald Hunter, 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 FLOW_DISSECTOR_KEY_ENC_CONTROL, instead of adding
a new flags field as FLOW_DISSECTOR_KEY_ENC_FLAGS.

I have defined the new FLOW_DIS_F_* and TCA_FLOWER_KEY_FLAGS_*
flags to co-exist with the existing flags, so the meaning
of the flags field in struct flow_dissector_key_control is not
depending on the context it is used in. If we run out of bits
then we can always split them up later, if we really want to.
Future flags might also be valid in both contexts.

iproute2 RFC v2 patch:
https://lore.kernel.org/560bcd549ca8ab24b1ad5abe352580a621f6d426.1720790774.git.dcaratti@redhat.com/

---
Changelog:

v4:
- Define control flags in ynl
- Describe enc-flags in ynl
- Propagate tca[TCA_OPTIONS] to NL_REQ_ATTR_CHECK
  (all 3 requested by Jakub)
- Link to new iproute2 patch in cover
- Add Reviewed-By from Davide to patches that haven't changed since v3.

v3: https://lore.kernel.org/20240709163825.1210046-1-ast@fiberby.net/
- Retitle patch 1 (tunnel flags -> control flags)

v2: https://lore.kernel.org/20240705133348.728901-1-ast@fiberby.net/
- Refactor flower control flag definitions
  (requested by Jakub and Alexander)
- Add Tested-by from Davide Caratti on patch 3-10.

v1: https://lore.kernel.org/20240703104600.455125-1-ast@fiberby.net/
- Change netlink attribute type from NLA_U32 to NLA_BE32.
- Ensure that the FLOW_DISSECTOR_KEY_ENC_CONTROL
  is also masked for non-IP.
- Fix preexisting typo in kdoc for struct flow_dissector_key_control
  (all suggested by Davide)

RFC: https://lore.kernel.org/20240611235355.177667-1-ast@fiberby.net/

Asbjørn Sloth Tønnesen (13):
  net/sched: flower: refactor control flag definitions
  doc: netlink: specs: tc: describe flower control flags
  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
  doc: netlink: specs: tc: flower: add enc-flags
  flow_dissector: cleanup FLOW_DISSECTOR_KEY_ENC_FLAGS
  flow_dissector: set encapsulation control flags for non-IP
  net/sched: cls_flower: propagate tca[TCA_OPTIONS] to NL_REQ_ATTR_CHECK

 Documentation/netlink/specs/tc.yaml |  26 +++++
 include/net/flow_dissector.h        |  30 ++---
 include/net/ip_tunnels.h            |  12 --
 include/uapi/linux/pkt_cls.h        |  11 +-
 net/core/flow_dissector.c           |  50 +++++----
 net/sched/cls_flower.c              | 168 ++++++++++++++++------------
 6 files changed, 177 insertions(+), 120 deletions(-)

-- 
2.45.2


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

end of thread, other threads:[~2024-07-15 16:40 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-07-13  2:18 [PATCH net-next v4 00/13] flower: rework TCA_FLOWER_KEY_ENC_FLAGS usage Asbjørn Sloth Tønnesen
2024-07-13  2:18 ` [PATCH net-next v4 01/13] net/sched: flower: refactor control flag definitions Asbjørn Sloth Tønnesen
2024-07-13  2:18 ` [PATCH net-next v4 02/13] doc: netlink: specs: tc: describe flower control flags Asbjørn Sloth Tønnesen
2024-07-13 13:16   ` Donald Hunter
2024-07-13  2:19 ` [PATCH net-next v4 03/13] net/sched: flower: define new tunnel flags Asbjørn Sloth Tønnesen
2024-07-13 13:19   ` Donald Hunter
2024-07-13  2:19 ` [PATCH net-next v4 04/13] net/sched: cls_flower: prepare fl_{set,dump}_key_flags() for ENC_FLAGS Asbjørn Sloth Tønnesen
2024-07-13  2:19 ` [PATCH net-next v4 05/13] net/sched: cls_flower: add policy for TCA_FLOWER_KEY_FLAGS Asbjørn Sloth Tønnesen
2024-07-13  2:19 ` [PATCH net-next v4 06/13] flow_dissector: prepare for encapsulated control flags Asbjørn Sloth Tønnesen
2024-07-13  2:19 ` [PATCH net-next v4 07/13] flow_dissector: set encapsulated control flags from tun_flags Asbjørn Sloth Tønnesen
2024-07-13  2:19 ` [PATCH net-next v4 08/13] net/sched: cls_flower: add tunnel flags to fl_{set,dump}_key_flags() Asbjørn Sloth Tønnesen
2024-07-13  2:19 ` [PATCH net-next v4 09/13] net/sched: cls_flower: rework TCA_FLOWER_KEY_ENC_FLAGS usage Asbjørn Sloth Tønnesen
2024-07-13  2:19 ` [PATCH net-next v4 10/13] doc: netlink: specs: tc: flower: add enc-flags Asbjørn Sloth Tønnesen
2024-07-13 13:21   ` Donald Hunter
2024-07-13  2:19 ` [PATCH net-next v4 11/13] flow_dissector: cleanup FLOW_DISSECTOR_KEY_ENC_FLAGS Asbjørn Sloth Tønnesen
2024-07-13  2:19 ` [PATCH net-next v4 12/13] flow_dissector: set encapsulation control flags for non-IP Asbjørn Sloth Tønnesen
2024-07-13  2:19 ` [PATCH net-next v4 13/13] net/sched: cls_flower: propagate tca[TCA_OPTIONS] to NL_REQ_ATTR_CHECK Asbjørn Sloth Tønnesen
2024-07-15 16:40 ` [PATCH net-next v4 00/13] flower: rework TCA_FLOWER_KEY_ENC_FLAGS usage patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®