Date: Fri, 31 Oct 2025 19:12:44 GMT From: Michael Tuexen <tuexen@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: 984a58c13166 - stable/14 - udp: honor IPV6_TCLASS cmsg for UDP/IPv4 packets Message-ID: <202510311912.59VJCiJM079665@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=984a58c13166f9fffe1c7b03d89e3f3d790d07cb commit 984a58c13166f9fffe1c7b03d89e3f3d790d07cb Author: Michael Tuexen <tuexen@FreeBSD.org> AuthorDate: 2025-10-26 17:58:15 +0000 Commit: Michael Tuexen <tuexen@FreeBSD.org> CommitDate: 2025-10-31 14:12:22 +0000 udp: honor IPV6_TCLASS cmsg for UDP/IPv4 packets Honor the IPPROTO_IPV6-level cmsg of type IPV6_TCLASS when sending an UDP/IPv4 packet on an AF_INET6 socket. Reviewed by: bz Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D53347 (cherry picked from commit d3a3854fdc6e8da3bc6c1c13aab8d371445d2914) --- sys/netinet/udp_usrreq.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c index fdde19bc4475..a1000dadf583 100644 --- a/sys/netinet/udp_usrreq.c +++ b/sys/netinet/udp_usrreq.c @@ -1182,6 +1182,23 @@ udp_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *addr, error = udp_v4mapped_pktinfo(cm, &src, inp, flags); if (error != 0) break; + if (((flags & PRUS_IPV6) != 0) && + (cm->cmsg_level == IPPROTO_IPV6) && + (cm->cmsg_type == IPV6_TCLASS)) { + int tclass; + + if (cm->cmsg_len != CMSG_LEN(sizeof(int))) { + error = EINVAL; + break; + } + tclass = *(int *)CMSG_DATA(cm); + if (tclass < -1 || tclass > 255) { + error = EINVAL; + break; + } + if (tclass != -1) + tos = (u_char)tclass; + } #endif if (cm->cmsg_level != IPPROTO_IP) continue;home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202510311912.59VJCiJM079665>
