Thread (11 messages) 11 messages, 4 authors, 2024-11-05

Re: [PATCH net-next v2 0/2] support SO_PRIORITY cmsg

From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Date: 2024-11-05 15:01:17

Anna Nyiri wrote:
Ido Schimmel [off-list ref] ezt írta (időpont: 2024. nov. 3., V, 17:25):
quoted
On Sat, Nov 02, 2024 at 01:51:34PM +0100, Anna Emese Nyiri wrote:
quoted
The changes introduce a new helper function,
`sk_set_prio_allowed`, which centralizes the logic for validating
priority settings. This series adds support for the `SO_PRIORITY`
control message, allowing user-space applications to set socket
priority via control messages (cmsg).

Patch Overview:
Patch 1/2: Introduces `sk_set_prio_allowed` helper function.
Patch 2/2: Implements support for setting `SO_PRIORITY` via control
messages.

v2:
- Suggested by Willem de Bruijn [off-list ref]
  introduce "sk_set_prio_allowed" helper to check priority setting
  capability
- drop new fields and change sockcm_cookie::priority from "char" to
  "u32" to match with sk_buff::priority
- cork->tos value check before priority setting
  moved from __ip_make_skb() to ip_setup_cork()
- rebased on net-next

v1:
https://lore.kernel.org/all/20241029144142.31382-1-annaemesenyiri@gmail.com/ (local)

Anna Emese Nyiri (2):
  Introduce sk_set_prio_allowed helper function
  support SO_PRIORITY cmsg

 include/net/inet_sock.h |  2 +-
 include/net/ip.h        |  3 ++-
 include/net/sock.h      |  4 +++-
 net/can/raw.c           |  2 +-
 net/core/sock.c         | 19 ++++++++++++++++---
 net/ipv4/ip_output.c    |  7 +++++--
 net/ipv4/raw.c          |  2 +-
 net/ipv6/ip6_output.c   |  3 ++-
 net/ipv6/raw.c          |  2 +-
 net/packet/af_packet.c  |  2 +-
 10 files changed, 33 insertions(+), 13 deletions(-)
Please consider adding a selftest for this feature. Willem already
extended tools/testing/selftests/net/cmsg_sender.c so that it could be
used to set SO_PRIORITY via setsockopt. You can extend it to set
SO_PRIORITY via cmsg and then use it in a test like
tools/testing/selftests/net/cmsg_so_mark.sh is doing for SO_MARK.
Of course, I will send the test. However, I would first like to
clarify which option I should assign in cmsg_sender for setting
priority via cmsg. The -P option is already used for setting priority
with setsockopt(), and -p is used to specify the protocol.
Thanks for adding test coverage.

If all the Ps are taken, use Q. It's a rare letter, and happens to be
the next. In the end, whatever is available.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help