diff options
| author | Anna Emese Nyiri <[email protected]> | 2024-12-13 08:44:55 +0000 |
|---|---|---|
| committer | Jakub Kicinski <[email protected]> | 2024-12-17 02:13:44 +0000 |
| commit | a32f3e9d1ed146f81162702605d65447a319eb76 (patch) | |
| tree | 41695029151b8a24d213c707ff399b30942a3e44 /net/unix/af_unix.c | |
| parent | sock: Introduce sk_set_prio_allowed helper function (diff) | |
| download | kernel-a32f3e9d1ed146f81162702605d65447a319eb76.tar.gz kernel-a32f3e9d1ed146f81162702605d65447a319eb76.zip | |
sock: support SO_PRIORITY cmsg
The Linux socket API currently allows setting SO_PRIORITY at the
socket level, applying a uniform priority to all packets sent through
that socket. The exception to this is IP_TOS, when the priority value
is calculated during the handling of
ancillary data, as implemented in commit f02db315b8d8 ("ipv4: IP_TOS
and IP_TTL can be specified as ancillary data").
However, this is a computed
value, and there is currently no mechanism to set a custom priority
via control messages prior to this patch.
According to this patch, if SO_PRIORITY is specified as ancillary data,
the packet is sent with the priority value set through
sockc->priority, overriding the socket-level values
set via the traditional setsockopt() method. This is analogous to
the existing support for SO_MARK, as implemented in
commit c6af0c227a22 ("ip: support SO_MARK cmsg").
If both cmsg SO_PRIORITY and IP_TOS are passed, then the one that
takes precedence is the last one in the cmsg list.
This patch has the side effect that raw_send_hdrinc now interprets cmsg
IP_TOS.
Reviewed-by: Willem de Bruijn <[email protected]>
Suggested-by: Ferenc Fejes <[email protected]>
Signed-off-by: Anna Emese Nyiri <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'net/unix/af_unix.c')
0 files changed, 0 insertions, 0 deletions
