about summary refs log tree commit diff
path: root/include/netinet
Commit message (Collapse)AuthorAgeFilesLines
* netinet/in.h: add INADDR_ALLSNOOPERS_GROUP from linux v5.1Szabolcs Nagy2019-07-011-0/+1
| | | | | | | | RFC 4286: "The IPv4 multicast address for All-Snoopers is 224.0.0.106." from linux commit 4effd28c1245303dce7fd290c501ac2c11052114 bridge: join all-snoopers multicast address
* netinet/in.h: add IPV6_ROUTER_ALERT_ISOLATE from linux v5.1Szabolcs Nagy2019-07-011-0/+1
| | | | | | | | restricts router alert packets received by the socket to the socket's namespace only. see linux commit 9036b2fe092a107856edd1a3bad48b83f2b45000 net: ipv6: add socket option IPV6_ROUTER_ALERT_ISOLATE
* netinet/tcp.h: add TCP_NLA_SRTT from linux v5.0Szabolcs Nagy2019-03-131-0/+1
| | | | | smoothed RTT for SCM_TIMESTAMPING_OPT_STATS control messages. added in linux commit e8bd8fca6773ef49390269bd467bf940a0841ccf
* netinet/udp.h: add UDP_GRO from linux v5.0Szabolcs Nagy2019-03-131-0/+1
| | | | | sockopt to enable gro for udp. added in linux commit e20cf8d3f1f763ad28a9cb3b41305b8a8a42653e
* netinet/in.h add IPV6_MULTICAST_ALL from linux v4.20Szabolcs Nagy2019-03-131-0/+1
| | | | | | ipv6 analogue of IP_MULTICAST_ALL sockopt. added in linux commit 15033f0457dca569b284bef0c8d3ad55fb37eacb
* netinet/udp.h: add UDP_ENCAP_RXRPC from linux v4.19Szabolcs Nagy2019-03-131-0/+1
| | | | | used for optimizing the rxrpc protocol added in linux commit 5271953cad31b97dea80f848c16e96ad66401199
* netinet/tcp.h: add tcp_info fields from linux v4.19Szabolcs Nagy2019-03-131-0/+8
| | | | | | | | | | | | new fields for RFC 4898 tcp stats in linux tcpi_bytes_sent added in commit ba113c3aa79a7f941ac162d05a3620bdc985c58d tcpi_bytes_retrans added in commit fb31c9b9f6c85b1bad569ecedbde78d9e37cd87b tcpi_dsack_dups added in commit 7e10b6554ff2ce7f86d5d3eec3af5db8db482caa tcpi_reord_seen added in commit 7ec65372ca534217b53fd208500cf7aac223a383 The new fields change the size of a public struct and thus an ABI break, but this is how the getsockopt TCP_INFO api is designed: the tcp_info type must only be used with a length parameter in extern interfaces.
* update netinet/udp.h for linux v4.18Szabolcs Nagy2018-12-091-0/+3
| | | | | | | add UDP_NO_CHECK6_* to restrict zero UDP6 checksums, new in linux commit 1c19448c9ba6545b80ded18488a64a7f3d8e6998 (pre-v4.18 change, was missed) add UDP_SEGMENT to support generic segmentation offload for udp datagrams, bec1f6f697362c5bc635dacd7ac8499d0a10a4e7 (new in v4.18)
* update netinet/tcp.h for linux v4.18Szabolcs Nagy2018-12-091-0/+18
| | | | | | | | | | | add packet delivery info to tcp_info, new in linux commit feb5f2ec646483fb66f9ad7218b1aad2a93a2a5c add TCP_ZEROCOPY_RECEIVE socket option for zerocopy receive, new in linux commit 05255b823a6173525587f29c4e8f1ca33fd7677d add TCP_INQ socket option and TCP_CM_INQ cmsg to get in-queue bytes in cmsg upon read, new in linux commit b75eba76d3d72e2374fac999926dafef2997edd2 add TCP_REPAIR_* to fix repair socket window probe patch, new in linux commit 31048d7aedf31bf0f69c54a662944632f29d82f2
* add ETH_P_PREAUTH ethertype from linux v4.17Szabolcs Nagy2018-06-191-0/+1
| | | | added in linux commit 4fe0de5b143762d327bfaf1d7be7c5b58041a18c
* add TCP_NLA_* from linux v4.17Szabolcs Nagy2018-06-191-0/+10
| | | | | | | | new and missing netlink attributes types for SCM_TIMESTAMPING_OPT_STATS, new ones were added in commits 7156d194a0772f733865267e7207e0b08f81b02b be631892948060f44b1ceee3132be1266932071e 87ecc95d81d951b0984f2eb9c5c118cb68d0dce8
* netinet/if_ether.h: add ETH_TLEN from linux v4.16Szabolcs Nagy2018-06-191-0/+1
| | | | | octets in ethernet type field added in linux commit 4bbb3e0e8239f9079bf1fe20b3c0cb598714ae61
* netinet/if_ether.h: add ETH_P_ERSPAN2 from linux v4.16Szabolcs Nagy2018-06-191-0/+1
| | | | | protocol number for erspan v2 support added in linux commit f551c91de262ba36b20c3ac19538afb4f4507441
* netinet/in.h: add new IPV6_FREEBIND from linux v4.15Szabolcs Nagy2018-02-221-0/+1
| | | | | new socekt option for AF_INET6 SOL_RAW sockets, added in linux commit 84e14fe353de7624872e582887712079ba0b2d56
* netinet/tcp.h: add TCP_* socket options from linux v4.15Szabolcs Nagy2018-02-221-0/+2
| | | | | TCP_FASTOPEN_KEY is new in 1fba70e5b6bed53496ba1f1f16127f5be01b5fb6 TCP_FASTOPEN_NO_COOKIE is new in 71c02379c762cb616c00fd5c4ed253fbf6bbe11b
* netinet/tcp.h: add tcp_diag_md5sig struct from linux v4.14Szabolcs Nagy2018-02-221-0/+8
| | | | | for querying tcp md5 signing keys. new in linux commit c03fa9bcacd9ac04595cc13f34f3445f0a5ecf13
* netinet/if_ether.h: add new ETH_P_ macros from linux v4.14Szabolcs Nagy2018-02-221-0/+4
| | | | | | | | new ethertypes in linux v4.14: ETH_P_ERSPAN new in 84e54fe0a5eaed696dee4019c396f8396f5a908b ETH_P_IFE new in 2804fd3af6ba5ae5737705b27146455eabe2e2f8 ETH_P_NSH new in 155e6f649757c902901e599c268f8b575ddac1f8 ETH_P_MAP new in 7373ae7e8f0bf2c0718422481da986db5058b005
* add additional uapi guards for Linux kernel header filesHauke Mehrtens2018-01-091-0/+1
| | | | | | | | | | | | With Linux kernel 4.16 it will be possible to guard more parts of the Linux header files from a libc. Make use of this in musl to guard all the structures and other definitions from the Linux header files which are also defined by the header files provided by musl. This will make it possible to compile source files which include both the libc headers and the kernel userspace headers. This extends the definitions done in commit 04983f227238 ("make netinet/in.h suppress clashing definitions from kernel headers")
* fix endian errors in netinet/icmp6.h due to failure to include endian.hRich Felker2017-12-151-0/+1
|
* add new tcp.h socket options from linux v4.13Szabolcs Nagy2017-11-051-2/+7
| | | | | TCP_ULP is new in linux commit 734942cc4ea6478eed125af258da1bdbb4afe578 TCP_MD5SIG_EXT is new in 8917a777be3ba566377be05117f71b93a5fd909d
* add TCP_NLA_* enums from linux v4.11Szabolcs Nagy2017-11-051-0/+2
| | | | | two new stats for SCM_TIMESTAMPING_OPT_STATS, added in linux commit 7e98102f489775d8c000884fca8a0d995ea688a9
* add TCP_FASTOPEN_CONNECT tcp socket option from linux v4.11Szabolcs Nagy2017-11-051-0/+1
| | | | new in linux commit 19f6d3f3c8422d65b5e3d2162e30ef07c6e21ea2
* add ETH_P_IBOE from linux v4.11Szabolcs Nagy2017-11-051-0/+1
| | | | new in linux commit 69ae543969abeba48e04dd93277684c8c0895f3b
* add ETH_MIN_MTU and ETH_MAX_MTU from linux v4.10Szabolcs Nagy2017-11-051-0/+2
| | | | | | min max mtu size definitions mostly for drivers. new in linux commits a52ad514fdf3b8a57ca4322c92d2d8d5c6182485 and d894be57ca92c8a8819ab544d550809e8731137b
* add IP_RECVFRAGSIZE and IPV6_RECVFRAGSIZE from linux v4.10Szabolcs Nagy2017-11-051-0/+2
| | | | added in linux commit 70ecc24841326396a827deb55c3fefac582a729d
* add SCM_TIMESTAMPING_OPT_STATS and related TCP_ enums from linux v4.10Szabolcs Nagy2017-11-051-0/+10
| | | | | | | for tcp timestamp control messages, new in linux commit 1c885808e45601b2b6f68b30ac1d999e10b6f606 and export time measurements via tcp_info, added in linux commit efd90174167530c67a54273fd5d8369c87f9bd32
* move IPPORT_RESERVED from netdb.h to netinet/in.hRich Felker2017-08-291-0/+2
| | | | | it's in the reserved namespace for the latter, where it seems it was historically defined, and some programs expect to find it there.
* update tcp_info struct to linux v4.9Szabolcs Nagy2016-12-291-0/+2
| | | | | export tcp data delivery rate in tcp_info struct. see linux commit eb8329e0a04db0061f714f033b4454326ba147f4
* make netinet/in.h suppress clashing definitions from kernel headersRich Felker2016-11-071-0/+15
| | | | | | | | | | | | | | | the linux kernel uapi headers provide their own definitions of the structures from netinet/in.h, resulting in errors when a program includes both the standard libc header and one or more of the networking-related kernel headers that pull in the kernel definitions. as before, we do not attempt to support the case where kernel headers are included before the libc ones, since the kernel definitions may have subtly incorrect types, namespace violations, etc. however, we can easily support the inclusion of the kernel headers after the libc ones, since the kernel headers provide a public interface for suppressing their definitions. this patch adds the necessary macro definitions for such suppression.
* add missing if_ether.h constantsDaniel Sabogal2016-10-201-0/+3
| | | | | | | | | | | | ETH_P_HSR (IEC 62439-3 HSRv1) added in linux 4.7 commit ee1c27977284907d40f7f72c2d078d709f15811f ETH_P_TSN (IEEE 1722) added in linux 4.3 commit 1ab1e895492d8084dfc1c854efacde219e56b8c1 this constant breaks the ascending order to match the kernel header ETH_P_XDSA (Multiplexed DSA protocol) added in linux 3.18 commit 3e8a72d1dae374cf6fc1dba97cec663585845ff9
* update icmphdr struct following linux v4.8Szabolcs Nagy2016-10-201-0/+1
| | | | | add union field that is used in the kernel for SIT/GRE tunneling ICMPv4 messages. see linux commit 20e1954fe238dbe5f8d3a979e593fe352bd703cf
* add TCP_REPAIR_WINDOW to netinet/tcp.h from linux v4.8Szabolcs Nagy2016-10-201-0/+9
| | | | | another kernel internal state exposure for checkpoint-restore. see linux commit b1ed4c4fa9a5ccf325184fd90edc50978ef6e33a
* add ETH_P_NCSI to netinet/if_ether.h from linux v4.8Szabolcs Nagy2016-10-201-0/+1
| | | | see linux commit 6389eaa7fa9c3ee6c7d39f6087b86660d17236ac
* add UDP_ENCAP_GTP0, UDP_ENCAP_GTP1U from linux v4.7 to netinet/udp.hSzabolcs Nagy2016-08-301-0/+2
| | | | | for GPRS tunneling protocol, new in linux commit 459aa660eb1d8ce67080da1983bb81d716aa5a69
* make brace placement in public header struct definitions consistentRich Felker2016-07-032-24/+12
| | | | | | | | | | | | | | placing the opening brace on the same line as the struct keyword/tag is the style I prefer and seems to be the prevailing practice in more recent additions. these changes were generated by the command: find include/ arch/*/bits -name '*.h' \ -exec sed -i '/^struct [^;{]*$/{N;s/\n/ /;}' {} + and subsequently checked by hand to ensure that the regex did not pick up any false positives.
* add new tcp_info fields from linux v4.6Szabolcs Nagy2016-06-091-0/+4
| | | | | | new fields and associated linux commit: tcpi_notsent_bytes, tcpi_min_rtt cd9b266095f422267bddbec88f9098b48ea548fc tcpi_data_segs_in, tcpi_data_segs_out a44d6eacdaf56f74fad699af7f4925a5f5ac0e7f
* add ETH_P_MACSEC netinet/if_ether.h, new in linux v4.6Szabolcs Nagy2016-06-091-0/+1
| | | | | ethertype for macsec added in linux commit dece8d2b78d19df7fe5e4e965f1f0d1a3e188d1b
* add IPV6_HDRINCL socket option from linux v4.5Szabolcs Nagy2016-03-191-0/+1
| | | | | new in linux commit 715f504b118998c41a2079a17e16bf5a8a114885 same as IP_HDRINCL but for SOL_IPV6 sockets.
* add new IP_BIND_ADDRESS_NO_PORT and IPPROTO_MPLS to netinet/in.hSzabolcs Nagy2016-01-241-0/+2
| | | | | | | | | IP_BIND_ADDRESS_NO_PORT is a SOL_IP socket option to delay src port allocation until connect in case src ip is set with bind(port=0). new in linux v4.2, commit 90c337da1524863838658078ec34241f45d8394d IPPROTO_MPLS protocol number for mpls over ip. new in linux v4.2, commit 730fc4371333636a00fed32c587fc1e85c5367e2
* update netinet/tcp.h for linux v4.2Szabolcs Nagy2016-01-241-0/+7
| | | | | | | | | | | | | TCP_CC_INFO is a new socket option to get congestion control info without netlink (union tcp_cc_info is in linux/inet_diag.h kernel header). linux commit 6e9250f59ef9efb932c84850cd221f22c2a03c4a TCP_SAVE_SYN, TCP_SAVED_SYN socket options are for saving and getting the SYN headers of passive connections in a server application. linux commit cd8ae85299d54155702a56811b2e035e63064d3d Add new tcpi_* fields to struct tcp_info implementing RFC4898 counters. linux commit 2efd055c53c06b7e89c167c98069bab9afce7e59
* netinet/tcp: Add TCPOPT, TCPOLEN constantsKylie McClain2016-01-171-0/+13
| | | | | | | | | Programs such as iptables depend on these constants, which can also be found defined in other libcs. Since only TCP_* is reserved as part of tcp.h's namespace, we hide them behind _BSD_SOURCE (and therefore _DEFAULT_SOURCE) to expose them by default, but keep it standard conforming.
* fix netinet/ether.h for c++Szabolcs Nagy2015-05-081-0/+8
|
* add IPTOS_CLASS_* macros to netinet/ip.hSzabolcs Nagy2015-05-011-0/+12
| | | | | These macros were introduced in glibc 2.12 to follow RFC 2474 which deprecates "IP Precedence" in favor of "Class Selector Codepoints".
* add IP_CHECKSUM socket option to netinet/in.hSzabolcs Nagy2015-04-171-0/+1
| | | | new in linux v4.0, commit ad6f939ab193750cc94a265f58e007fb598c97b7
* add new IPV6_AUTOFLOWLABEL socket option in netinet/in.hSzabolcs Nagy2014-10-081-0/+1
| | | | | added in linux v3.17 commit 753a2ad54ef45e3417a9d49537c2b42b04a2e1be enables automatic flow label generation on transmit
* add pacing rate information to the tcp_info struct in tcp.hSzabolcs Nagy2014-07-201-0/+2
| | | | | used by monitoring applications such as ss from iproute2 introduced in linux 3.15 commit 977cb0ecf82eb6d15562573c31edebf90db35163
* add new ethernet packet types ETH_P_80221, ETH_P_LOOPBACKSzabolcs Nagy2014-07-201-2/+4
| | | | | | | | | | ETH_P_80221 is ethertype for IEEE Std 802.21 - Media Independent Handover Protocol introduced in linux 3.15 commit b62faf3cdc875a1ac5a10696cf6ea0b12bab1596 ETH_P_LOOPBACK is the correct packet type for loopback in IEEE 802.3* introduced in linux 3.15 commit 61ccbb684421d374fdcd7cf5d6b024b06f03ce4e some defines were shuffled to be in ascending order and match the kernel header
* update netinet/in.h to match the current kernel uapiSzabolcs Nagy2014-05-301-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | from linux/in.h and linux/in6.h uapi headers the following missing socket options were added: IP_NODEFRAG - used with customized ipv4 headers IPV6_RECVPATHMTU - for ipv6 path mtu IPV6_PATHMTU - for ipv6 path mtu IPV6_DONTFRAG - for ipv6 path mtu IPV6_ADDR_PREFERENCES - RFC5014 Source Address Selection IPV6_MINHOPCOUNT - RFC5082 Generalized TTL Security Mechanism IPV6_ORIGDSTADDR - used by tproxy IPV6_RECVORIGDSTADDR - used by tproxy IPV6_TRANSPARENT - used by tproxy IPV6_UNICAST_IF - ipv6 version of IP_UNICAST_IF and socket option values: IP_PMTUDISC_OMIT - value for IP_MTU_DISCOVER option, new in linux 3.14 IPV6_PMTUDISC_OMIT - same for IPV6_MTU_DISCOVER IPV6_PMTUDISC_INTERFACE - ipv6 version of IP_PMTUDISC_INTERFACE IPV6_PREFER_* - flags for IPV6_ADDR_PREFERENCES not added: ipv6 flow info and flow label related definitions. (it's unclear if libc should define these and namespace polluting type name is involved so they are not provided for now)
* in.h: new IP_MTU_DISCOVER mode IP_PMTUDISC_INTERFACESzabolcs Nagy2014-02-251-0/+1
| | | | | introduced in linux v3.13, 482fc6094afad572a4ea1fd722e7b11ca72022a0 to mitigate dns cache poisoning via fragmentation
* if_ether.h: new ethernet protocol typeSzabolcs Nagy2014-02-251-0/+1
| | | | | for High-availability Seamless Redundancy (HSR) specified in IEC 62439-3 new in linux v3.13, f421436a591d34fa5279b54a96ac07d70250cc8d