musl/include/netinet, branch master musl - an implementation of the standard library for Linux-based systems fix erroneous definition of IN6_IS_ADDR_V4COMPAT 2025年07月30日T13:32:02+00:00 Rich Felker dalias@aerifal.cx 2025年07月30日T13:32:02+00:00 a6244de1c94588cd8cc965c15619d2649418f7a3 v4-compatible addresses in ipv6 are a deprecated feature where the high 96 bits are all zero and an ipv4 address is stored in the low 32 bits. however, since :: and ::1 are the unspecified and loopback addresses, these two particular values are excluded from the definition of the v4-compat class. our version of the macro incorrectly assessed this condition by checking only the high 96 and low 8 bits. this incorrectly excluded the v4compat version of any ipv4 address ending in .1, not just ::1. rather than writing out non-obvious or error-prone conditions on the individual address bytes, just express the "not :: or ::1" condition naturally using the existing IN6_IS_ADDR_UNSPECIFIED and IN6_IS_ADDR_LOOPBACK macros, after checking that the high 96 bits are all zero. any vaguely reasonable compiler will collapse out the redundant tests of the upper bits as part of CSE.
v4-compatible addresses in ipv6 are a deprecated feature where the
high 96 bits are all zero and an ipv4 address is stored in the low
32 bits. however, since :: and ::1 are the unspecified and loopback
addresses, these two particular values are excluded from the
definition of the v4-compat class.
our version of the macro incorrectly assessed this condition by
checking only the high 96 and low 8 bits. this incorrectly excluded
the v4compat version of any ipv4 address ending in .1, not just ::1.
rather than writing out non-obvious or error-prone conditions on the
individual address bytes, just express the "not :: or ::1" condition
naturally using the existing IN6_IS_ADDR_UNSPECIFIED and
IN6_IS_ADDR_LOOPBACK macros, after checking that the high 96 bits are
all zero. any vaguely reasonable compiler will collapse out the
redundant tests of the upper bits as part of CSE.
netinet/in.h: add INADDR_DUMMY from linux v5.13 2022年03月08日T22:21:26+00:00 Szabolcs Nagy nsz@port70.net 2021年07月04日T20:33:25+00:00 dda21f10a7d800812cdc63602556c2d217de1d3c see linux commit 321827477360934dc040e9d3c626bf1de6c3ab3c icmp: don't send out ICMP messages with a source address of 0.0.0.0 "RFC7600 reserves a dummy address to be used as a source for ICMP messages (192.0.0.8/32), so let's teach the kernel to substitute that address as a last resort if the regular source address selection procedure fails."
see
 linux commit 321827477360934dc040e9d3c626bf1de6c3ab3c
 icmp: don't send out ICMP messages with a source address of 0.0.0.0
"RFC7600 reserves a dummy address to be used as a source for ICMP
messages (192.0.0.8/32), so let's teach the kernel to substitute that
address as a last resort if the regular source address selection procedure
fails."
netinet/tcp.h: add tcp_zerocopy_receive fields from linux v5.12 2022年03月08日T22:19:56+00:00 Szabolcs Nagy nsz@port70.net 2021年05月26日T16:01:38+00:00 1ee8109ea01c4ac79e7932a533fead96309f80f3 see linux commit 7eeba1706eba6def15f6cb2fc7b3c3b9a2651edc tcp: Add receive timestamp support for receive zerocopy. linux commit 3c5a2fd042d0bfac71a2dfb99515723d318df47b tcp: Sanitize CMSG flags and reserved args in tcp_zerocopy_receive.
see
 linux commit 7eeba1706eba6def15f6cb2fc7b3c3b9a2651edc
 tcp: Add receive timestamp support for receive zerocopy.
 linux commit 3c5a2fd042d0bfac71a2dfb99515723d318df47b
 tcp: Sanitize CMSG flags and reserved args in tcp_zerocopy_receive.
netinet/tcp.h: add TCP_NLA_* values up to linux v5.12 2022年03月08日T22:19:54+00:00 Szabolcs Nagy nsz@port70.net 2021年05月26日T16:04:38+00:00 bc89c311120111de330c99335d3139ff55fae1fe TCP_NLA_EDT was new in v5.9, see linux commit 48040793fa6003d211f021c6ad273477bcd90d91 tcp: add earliest departure time to SCM_TIMESTAMPING_OPT_STATS TCP_NLA_TTL is new in v5.12, see linux commit e7ed11ee945438b737e2ae2370e35591e16ec371 tcp: add TTL to SCM_TIMESTAMPING_OPT_STATS
TCP_NLA_EDT was new in v5.9, see
 linux commit 48040793fa6003d211f021c6ad273477bcd90d91
 tcp: add earliest departure time to SCM_TIMESTAMPING_OPT_STATS
TCP_NLA_TTL is new in v5.12, see
 linux commit e7ed11ee945438b737e2ae2370e35591e16ec371
 tcp: add TTL to SCM_TIMESTAMPING_OPT_STATS
netinet/tcp.h: add tcp zerocopy related changes from linux v5.11 2022年03月08日T22:19:44+00:00 Szabolcs Nagy nsz@port70.net 2021年03月07日T21:39:24+00:00 30c8a1456ab7a005360f5315ba96f8073593ab51 see linux commit 18fb76ed53865c1b5d5f0157b1b825704590beb5 net-zerocopy: Copy straggler unaligned data for TCP Rx. zerocopy. linux commit 94ab9eb9b234ddf23af04a4bc7e8db68e67b8778 net-zerocopy: Defer vm zap unless actually needed.
see
 linux commit 18fb76ed53865c1b5d5f0157b1b825704590beb5
 net-zerocopy: Copy straggler unaligned data for TCP Rx. zerocopy.
 linux commit 94ab9eb9b234ddf23af04a4bc7e8db68e67b8778
 net-zerocopy: Defer vm zap unless actually needed.
netinet/if_ether.h: add ETH_P_CFM from linux v5.11 2022年03月08日T22:19:43+00:00 Szabolcs Nagy nsz@port70.net 2021年03月07日T21:33:25+00:00 b54f481fbcc5637226fc3d2e0404b7f95b3e2f14 see linux commit fbaedb4129838252570410c65abb2036b5505cbd bridge: uapi: cfm: Added EtherType used by the CFM protocol.
see
 linux commit fbaedb4129838252570410c65abb2036b5505cbd
 bridge: uapi: cfm: Added EtherType used by the CFM protocol.
netinet/in.h: add IP_RECVERR_4884 from linux v5.9 2020年11月29日T05:54:41+00:00 Szabolcs Nagy nsz@port70.net 2020年10月25日T16:42:41+00:00 67f774625e84ad941d722f745f085c0bd4ae7582 see linux commit eba75c587e811d3249c8bd50d22bb2266ccd3c0f icmp: support rfc 4884
see
 linux commit eba75c587e811d3249c8bd50d22bb2266ccd3c0f
 icmp: support rfc 4884
netinet/if_ether.h: add ETH_P_MRP from linux v5.8 2020年09月09日T21:22:04+00:00 Szabolcs Nagy nsz@port70.net 2020年09月09日T07:33:47+00:00 f035c7b1e65b6566c979ed69bada82a466580ba2 Ethernet protocol number for media redundancy protocol, see linux commit 4714d13791f831d253852c8b5d657270becb8b2a bridge: uapi: mrp: Add mrp attributes.
Ethernet protocol number for media redundancy protocol, see
 linux commit 4714d13791f831d253852c8b5d657270becb8b2a
 bridge: uapi: mrp: Add mrp attributes.
netinet/tcp.h: update to linux v5.7 2020年09月09日T21:20:57+00:00 Szabolcs Nagy nsz@port70.net 2020年07月13日T19:59:41+00:00 616a8bf660d6c616aedf1e17adfb3de64f1ab9de add TCP_NLA_BYTES_NOTSENT and new tcp_zerocopy_receive fields, see linux commit c8856c051454909e5059df4e81c77b9c366c5515 tcp-zerocopy: Return inq along with tcp receive zerocopy. linux commit 33946518d493cdf10aedb4a483f1aa41948a3dab tcp-zerocopy: Return sk_err (if set) along with tcp receive zerocopy. linux commit e08ab0b377a1489760533424437c5f4be7f484a4 tcp: add bytes not sent to SCM_TIMESTAMPING_OPT_STATS
add TCP_NLA_BYTES_NOTSENT and new tcp_zerocopy_receive fields, see
 linux commit c8856c051454909e5059df4e81c77b9c366c5515
 tcp-zerocopy: Return inq along with tcp receive zerocopy.
 linux commit 33946518d493cdf10aedb4a483f1aa41948a3dab
 tcp-zerocopy: Return sk_err (if set) along with tcp receive zerocopy.
 linux commit e08ab0b377a1489760533424437c5f4be7f484a4
 tcp: add bytes not sent to SCM_TIMESTAMPING_OPT_STATS
netinet/udp.h: add TCP_ENCAP_ESPINTCP from linux v5.6 2020年09月09日T21:20:19+00:00 Szabolcs Nagy nsz@port70.net 2020年03月31日T20:19:26+00:00 1ab341e89b6d351ef6a01380ca5b2d7c24299965 The use of TCP_ in udp.h is not known, fortunately udp.h is not specified by posix so there are no strict namespace rules, added in linux commit e27cca96cd68fa2c6814c90f9a1cfd36bb68c593 xfrm: add espintcp (RFC 8229)
The use of TCP_ in udp.h is not known, fortunately udp.h is not
specified by posix so there are no strict namespace rules, added in
 linux commit e27cca96cd68fa2c6814c90f9a1cfd36bb68c593
 xfrm: add espintcp (RFC 8229)

AltStyle によって変換されたページ (->オリジナル) /