1afe61c15SRodney W. Grimes.\" Copyright (c) 1983, 1991, 1993 2afe61c15SRodney W. Grimes.\" The Regents of the University of California. All rights reserved. 3afe61c15SRodney W. Grimes.\" 4afe61c15SRodney W. Grimes.\" Redistribution and use in source and binary forms, with or without 5afe61c15SRodney W. Grimes.\" modification, are permitted provided that the following conditions 6afe61c15SRodney W. Grimes.\" are met: 7afe61c15SRodney W. Grimes.\" 1. Redistributions of source code must retain the above copyright 8afe61c15SRodney W. Grimes.\" notice, this list of conditions and the following disclaimer. 9afe61c15SRodney W. Grimes.\" 2. Redistributions in binary form must reproduce the above copyright 10afe61c15SRodney W. Grimes.\" notice, this list of conditions and the following disclaimer in the 11afe61c15SRodney W. Grimes.\" documentation and/or other materials provided with the distribution. 12dda5b397SEitan Adler.\" 3. Neither the name of the University nor the names of its contributors 13afe61c15SRodney W. Grimes.\" may be used to endorse or promote products derived from this software 14afe61c15SRodney W. Grimes.\" without specific prior written permission. 15afe61c15SRodney W. Grimes.\" 16afe61c15SRodney W. Grimes.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 17afe61c15SRodney W. Grimes.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18afe61c15SRodney W. Grimes.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19afe61c15SRodney W. Grimes.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 20afe61c15SRodney W. Grimes.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21afe61c15SRodney W. Grimes.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22afe61c15SRodney W. Grimes.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23afe61c15SRodney W. Grimes.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24afe61c15SRodney W. Grimes.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25afe61c15SRodney W. Grimes.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26afe61c15SRodney W. Grimes.\" SUCH DAMAGE. 27afe61c15SRodney W. Grimes.\" 28a2cc1fa2SGarrett Wollman.\" From: @(#)inet.4 8.1 (Berkeley) 6/5/93 297f3dea24SPeter Wemm.\" $FreeBSD$ 30afe61c15SRodney W. Grimes.\" 31a30cb315SGleb Smirnoff.Dd September 8, 2022 32afe61c15SRodney W. Grimes.Dt INET 4 333d45e180SRuslan Ermilov.Os 34afe61c15SRodney W. Grimes.Sh NAME 35afe61c15SRodney W. Grimes.Nm inet 36afe61c15SRodney W. Grimes.Nd Internet protocol family 37afe61c15SRodney W. Grimes.Sh SYNOPSIS 3832eef9aeSRuslan Ermilov.In sys/types.h 3932eef9aeSRuslan Ermilov.In netinet/in.h 40afe61c15SRodney W. Grimes.Sh DESCRIPTION 41afe61c15SRodney W. GrimesThe Internet protocol family is a collection of protocols 42afe61c15SRodney W. Grimeslayered atop the 43afe61c15SRodney W. Grimes.Em Internet Protocol 44afe61c15SRodney W. Grimes.Pq Tn IP 45afe61c15SRodney W. Grimestransport layer, and utilizing the Internet address format. 46afe61c15SRodney W. GrimesThe Internet family provides protocol support for the 47afe61c15SRodney W. Grimes.Dv SOCK_STREAM , SOCK_DGRAM , 48afe61c15SRodney W. Grimesand 49afe61c15SRodney W. Grimes.Dv SOCK_RAW 50afe61c15SRodney W. Grimessocket types; the 51afe61c15SRodney W. Grimes.Dv SOCK_RAW 52afe61c15SRodney W. Grimesinterface provides access to the 53afe61c15SRodney W. Grimes.Tn IP 54afe61c15SRodney W. Grimesprotocol. 55afe61c15SRodney W. Grimes.Sh ADDRESSING 56afe61c15SRodney W. GrimesInternet addresses are four byte quantities, stored in 574d721ca3SWarner Loshnetwork standard format (on little endian machines, such as the 584d721ca3SWarner Losh.Tn alpha , 59e7d939bdSMarcel Moolenaar.Tn amd64 604d721ca3SWarner Loshand 61e7d939bdSMarcel Moolenaar.Tn i386 624d721ca3SWarner Loshthese are word and byte reversed). 63b5e7e999SRuslan ErmilovThe include file 64fe08efe6SRuslan Ermilov.In netinet/in.h 65afe61c15SRodney W. Grimesdefines this address 66afe61c15SRodney W. Grimesas a discriminated union. 67afe61c15SRodney W. Grimes.Pp 68afe61c15SRodney W. GrimesSockets bound to the Internet protocol family utilize 69afe61c15SRodney W. Grimesthe following addressing structure, 70afe61c15SRodney W. Grimes.Bd -literal -offset indent 71afe61c15SRodney W. Grimesstruct sockaddr_in { 7275eb8a43SRuslan Ermilov uint8_t sin_len; 7375eb8a43SRuslan Ermilov sa_family_t sin_family; 7475eb8a43SRuslan Ermilov in_port_t sin_port; 75afe61c15SRodney W. Grimes struct in_addr sin_addr; 76afe61c15SRodney W. Grimes char sin_zero[8]; 77afe61c15SRodney W. Grimes}; 78afe61c15SRodney W. Grimes.Ed 79afe61c15SRodney W. Grimes.Pp 80afe61c15SRodney W. GrimesSockets may be created with the local address 81afe61c15SRodney W. Grimes.Dv INADDR_ANY 82db3357b8SSheldon Hearnto affect 83afe61c15SRodney W. Grimes.Dq wildcard 84afe61c15SRodney W. Grimesmatching on incoming messages. 85afe61c15SRodney W. GrimesThe address in a 86afe61c15SRodney W. Grimes.Xr connect 2 87afe61c15SRodney W. Grimesor 88afe61c15SRodney W. Grimes.Xr sendto 2 89afe61c15SRodney W. Grimescall may be given as 90afe61c15SRodney W. Grimes.Dv INADDR_ANY 91afe61c15SRodney W. Grimesto mean 92afe61c15SRodney W. Grimes.Dq this host . 93afe61c15SRodney W. GrimesThe distinguished address 94afe61c15SRodney W. Grimes.Dv INADDR_BROADCAST 95afe61c15SRodney W. Grimesis allowed as a shorthand for the broadcast address on the primary 96afe61c15SRodney W. Grimesnetwork if the first network configured supports broadcast. 97afe61c15SRodney W. Grimes.Sh PROTOCOLS 98afe61c15SRodney W. GrimesThe Internet protocol family is comprised of 99afe61c15SRodney W. Grimesthe 100afe61c15SRodney W. Grimes.Tn IP 101a2cc1fa2SGarrett Wollmannetwork protocol, Internet Control 102afe61c15SRodney W. GrimesMessage Protocol 103afe61c15SRodney W. Grimes.Pq Tn ICMP , 104a2cc1fa2SGarrett WollmanInternet Group Management Protocol 105a2cc1fa2SGarrett Wollman.Pq Tn IGMP , 106afe61c15SRodney W. GrimesTransmission Control 107afe61c15SRodney W. GrimesProtocol 108afe61c15SRodney W. Grimes.Pq Tn TCP , 109afe61c15SRodney W. Grimesand User Datagram Protocol 110afe61c15SRodney W. Grimes.Pq Tn UDP . 111afe61c15SRodney W. Grimes.Tn TCP 112afe61c15SRodney W. Grimesis used to support the 113afe61c15SRodney W. Grimes.Dv SOCK_STREAM 114afe61c15SRodney W. Grimesabstraction while 115afe61c15SRodney W. Grimes.Tn UDP 116afe61c15SRodney W. Grimesis used to support the 117afe61c15SRodney W. Grimes.Dv SOCK_DGRAM 118b5e7e999SRuslan Ermilovabstraction. 119b5e7e999SRuslan ErmilovA raw interface to 120afe61c15SRodney W. Grimes.Tn IP 121afe61c15SRodney W. Grimesis available 122afe61c15SRodney W. Grimesby creating an Internet socket of type 123afe61c15SRodney W. Grimes.Dv SOCK_RAW . 124afe61c15SRodney W. GrimesThe 125afe61c15SRodney W. Grimes.Tn ICMP 126afe61c15SRodney W. Grimesmessage protocol is accessible from a raw socket. 127afe61c15SRodney W. Grimes.Pp 128c1f9914bSGleb SmirnoffThe 129c1f9914bSGleb Smirnoff.Nm 130c1f9914bSGleb Smirnoffaddress on an interface consist of the address itself, the 131c1f9914bSGleb Smirnoffnetmask, either broadcast address in case of a broadcast 132c1f9914bSGleb Smirnoffinterface or peers address in case of point-to-point interface. 133c1f9914bSGleb SmirnoffThe following 134afe61c15SRodney W. Grimes.Xr ioctl 2 135c1f9914bSGleb Smirnoffcommands are provided for a datagram socket in the Internet domain: 136c1f9914bSGleb Smirnoff.Pp 137c1f9914bSGleb Smirnoff.Bl -tag -width ".Dv SIOCGIFBRDADDR" -offset indent -compact 138c1f9914bSGleb Smirnoff.It Dv SIOCAIFADDR 139c1f9914bSGleb SmirnoffAdd address to an interface. 140c1f9914bSGleb SmirnoffThe command requires 141c1f9914bSGleb Smirnoff.Ft struct in_aliasreq 142c1f9914bSGleb Smirnoffas argument. 143c1f9914bSGleb Smirnoff.It Dv SIOCDIFADDR 144c1f9914bSGleb SmirnoffDelete address from an interface. 145c1f9914bSGleb SmirnoffThe command requires 146c1f9914bSGleb Smirnoff.Ft struct ifreq 147c1f9914bSGleb Smirnoffas argument. 148c1f9914bSGleb Smirnoff.It Dv SIOCGIFADDR 149c1f9914bSGleb Smirnoff.It Dv SIOCGIFBRDADDR 150c1f9914bSGleb Smirnoff.It Dv SIOCGIFDSTADDR 151afe61c15SRodney W. Grimes.It Dv SIOCGIFNETMASK 15225972509SEdward Tomasz NapieralaReturn address information from interface. 15325972509SEdward Tomasz NapieralaThe returned value is in 154c1f9914bSGleb Smirnoff.Ft struct ifreq . 155c1f9914bSGleb SmirnoffThis way of address information retrieval is obsoleted, a 156c1f9914bSGleb Smirnoffpreferred way is to use 157c1f9914bSGleb Smirnoff.Xr getifaddrs 3 158c1f9914bSGleb SmirnoffAPI. 159afe61c15SRodney W. Grimes.El 160cf2ca148SMike Karels.Ss MIB (sysctl) Variables 161b691e485SMike KarelsIn addition to the variables supported by the transport protocols in 162b691e485SMike Karels.Va net.inet 163b691e485SMike Karels(for which the respective manual pages may be consulted), 164b691e485SMike Karelsthere are a number of general variables implemented in the 165b691e485SMike Karels.Va net.inet.ip 166b691e485SMike Karelsbranch of the 167a2cc1fa2SGarrett Wollman.Xr sysctl 3 168cf2ca148SMike KarelsMIB, which can be also read or modified with 169cf2ca148SMike Karels.Xr sysctl 8 . 17060052a11SMike KarelsThe following general variables are defined: 171b691e485SMike Karels.Bl -tag -width ".Va accept_sourceroute" 172ace68b1fSMike Karels.It Va accept_sourceroute 173ace68b1fSMike KarelsBoolean: enable/disable accepting of source-routed IP packets (default false). 174ace68b1fSMike Karels.It Va allow_net0 175ace68b1fSMike KarelsBoolean: allow experimental use of addresses in 0.0.0.0/8 as endpoints, 176ace68b1fSMike Karelsand allow forwarding of packets with these addresses. 177ace68b1fSMike Karels.It Va allow_net240 178ace68b1fSMike KarelsBoolean: allow experimental use of addresses in 240.0.0.0/4 as endpoints, 179ace68b1fSMike Karelsand allow forwarding of packets with these addresses. 180cf2ca148SMike Karels.It Va curfrags 181cf2ca148SMike KarelsInteger: Current number of IPv4 fragments across all reassembly queues 182cf2ca148SMike Karelsin all VNETs (read-only). 183b691e485SMike Karels.It Va forwarding 1840f5d195dSDag-Erling SmørgravBoolean: enable/disable forwarding of IP packets. 1850f5d195dSDag-Erling SmørgravDefaults to off. 186cf2ca148SMike Karels.It Va fragpackets 187cf2ca148SMike KarelsInteger: Current number of IPv4 fragment reassembly queue entries 188cf2ca148SMike Karelsfor the VNET (read-only). 189a30cb315SGleb Smirnoff.It Va fragttl 190a30cb315SGleb SmirnoffInteger: time to live for IPv4 packet fragments in the per-VNET reassemby queue. 191ace68b1fSMike Karels.It Va loopback_prefixlen 192ace68b1fSMike KarelsInteger: prefix length of the address space reserved for loopback purposes. 193ace68b1fSMike KarelsThe default is 8, meaning that 127.0.0.0/8 is reserved for loopback, 194ace68b1fSMike Karelsand cannot be sent, received, or forwarded on a non-loopback interface. 195ace68b1fSMike KarelsUse of other values is experimental. 196ace68b1fSMike Karels.It Va maxfragbucketsize 197ace68b1fSMike KarelsInteger: maximum number of reassembly queues per bucket. 198ace68b1fSMike KarelsFragmented packets are hashed to buckets. 199ace68b1fSMike KarelsEach bucket has a list of reassembly queues. 200ace68b1fSMike KarelsThe system must compare the incoming packets to the existing reassembly queues 201ace68b1fSMike Karelsin the bucket to find a matching reassembly queue. 202ace68b1fSMike KarelsTo preserve system resources, the system limits the number of reassembly 203ace68b1fSMike Karelsqueues allowed in each bucket. 204ace68b1fSMike KarelsThis limit is recalculated when the number of mbuf clusters is changed or 205ace68b1fSMike Karelswhen the value of 206ace68b1fSMike Karels.Va maxfragpackets 207ace68b1fSMike Karelschanges. 208ace68b1fSMike KarelsThis is a per-VNET limit. 209ace68b1fSMike Karels.It Va maxfragpackets 210ace68b1fSMike KarelsInteger: maximum number of fragmented packets the host will accept and 211ace68b1fSMike Karelssimultaneously hold in the reassembly queue for a particular VNET. 212ace68b1fSMike Karels0 means that the host will not accept any fragmented packets for that VNET. 213ace68b1fSMike Karels\-1 means that the host will not apply this limit for that VNET. 214ace68b1fSMike KarelsThis limit is recalculated when the number of mbuf clusters is changed. 215ace68b1fSMike KarelsThis is a per-VNET limit. 216ace68b1fSMike Karels.It Va maxfrags 217ace68b1fSMike KarelsInteger: maximum number of fragments the host will accept and simultaneously 218ace68b1fSMike Karelshold across all reassembly queues in all VNETs. 219ace68b1fSMike KarelsIf set to 0, reassembly is disabled. 220ace68b1fSMike KarelsIf set to -1, this limit is not applied. 221ace68b1fSMike KarelsThis limit is recalculated when the number of mbuf clusters is changed. 222ace68b1fSMike KarelsThis is a global limit. 223ace68b1fSMike Karels.It Va maxfragsperpacket 224ace68b1fSMike KarelsInteger: maximum number of fragments the host will accept and hold 225ace68b1fSMike Karelsin the reassembly queue for a packet. 226ace68b1fSMike Karels0 means that the host will not accept any fragmented packets for the VNET. 227ace68b1fSMike KarelsThis is a per-VNET limit. 228cf2ca148SMike Karels.It Va mcast 229cf2ca148SMike KarelsVariables under the 230cf2ca148SMike Karels.Va net.inet.ip.mcast 231cf2ca148SMike Karelsnode are documented in 232cf2ca148SMike Karels.Xr ip 4 . 233cf2ca148SMike Karels.It Va no_same_prefix 234cf2ca148SMike KarelsBoolean: Refuse to create same prefixes on different interfaces. 235cf2ca148SMike KarelsThis is a per-VNET value. 236cf2ca148SMike Karels.It Va portrange 237cf2ca148SMike KarelsVariables under the 238cf2ca148SMike Karels.Va net.inet.ip.portrange 239cf2ca148SMike Karelsnode control port ranges used by transport protocols; see 240cf2ca148SMike Karels.Xr ip 4 241cf2ca148SMike Karelsfor details. 242b691e485SMike Karels.It Va process_options 243a65cfc98SMaxim KonovalovInteger: control IP options processing. 244a65cfc98SMaxim KonovalovBy setting this variable to 0, all IP options in the incoming packets 245a65cfc98SMaxim Konovalovwill be ignored, and the packets will be passed unmodified. 246a65cfc98SMaxim KonovalovBy setting to 1, IP options in the incoming packets will be processed 247a65cfc98SMaxim Konovalovaccordingly. 248a65cfc98SMaxim KonovalovBy setting to 2, an 249a65cfc98SMaxim Konovalov.Tn ICMP 250a65cfc98SMaxim Konovalov.Dq "prohibited by filter" 2510af22117SMike Pritchardmessage will be sent back in response to incoming packets with IP options. 252a65cfc98SMaxim KonovalovDefault is 1. 253a65cfc98SMaxim KonovalovThis 254a65cfc98SMaxim Konovalov.Xr sysctl 8 255a65cfc98SMaxim Konovalovvariable affects packets destined for a local host as well as packets 256a65cfc98SMaxim Konovalovforwarded to some other host. 257b691e485SMike Karels.It Va random_id 258ace68b1fSMike KarelsBoolean: control IP IDs generation behavior. 2594892c9a4SMaxim KonovalovSetting this 2604892c9a4SMaxim Konovalov.Xr sysctl 8 2616d947416SGleb Smirnoffto 1 causes the ID field in 2626d947416SGleb Smirnoff.Em non-atomic 2636d947416SGleb SmirnoffIP datagrams (or all IP datagrams, if 264b691e485SMike Karels.Va rfc6864 2656d947416SGleb Smirnoffis disabled) to be randomized instead of incremented by 1 with each packet 2666d947416SGleb Smirnoffgenerated. 26710e69389SHans Petter SelaskyThis closes a minor information leak which allows remote observers to 26810e69389SHans Petter Selaskydetermine the rate of packet generation on the machine by watching the 26910e69389SHans Petter Selaskycounter. 2707ab169a3SHans Petter SelaskyAt the same time, on high-speed links, it can decrease the ID reuse 271b2df3ab1SMaxim Konovalovcycle greatly. 2724892c9a4SMaxim KonovalovDefault is 0 (sequential IP IDs). 2734892c9a4SMaxim KonovalovIPv6 flow IDs and fragment IDs are always random. 274cf2ca148SMike Karels.It Va random_id_collisions 275cf2ca148SMike KarelsInteger: count of IP ID collisions (read-only, per-VNET). 276cf2ca148SMike Karels.It Va random_id_period 277cf2ca148SMike KarelsInteger: size of the IP ID array, which is the number of previous packets 278cf2ca148SMike Karelsfor which the IDs are recorded. 279cf2ca148SMike KarelsThe number must be between 512 and 32768 inclusive. 280cf2ca148SMike KarelsThis is a per-VNET value. 281cf2ca148SMike Karels.It Va random_id_total 282cf2ca148SMike KarelsInteger: count of IP IDs created (read-only, per-VNET). 283*1494f477SGleb Smirnoff.It Va reass_hashsize 284*1494f477SGleb SmirnoffNumber of hash slots in the IPv4 reassembly queue (loader tunable). 285ace68b1fSMike Karels.It Va redirect 286ace68b1fSMike KarelsBoolean: enable/disable sending of ICMP redirects in response to 287ace68b1fSMike Karels.Tn IP 288ace68b1fSMike Karelspackets for which a better, and for the sender directly reachable, route 289ace68b1fSMike Karelsand next hop is known. 290ace68b1fSMike KarelsDefaults to on. 291ace68b1fSMike Karels.It Va rfc1122_strong_es 292ace68b1fSMike KarelsBoolean: in non-forwarding mode 293ace68b1fSMike Karels.Pq forwarding is disabled 294ace68b1fSMike Karelspartially implement the Strong End System model per RFC1122. 295ace68b1fSMike KarelsIf a packet with destination address that is local arrives on a different 296ace68b1fSMike Karelsinterface than the interface the address belongs to, the packet would be 297ace68b1fSMike Karelssilently dropped. 298ace68b1fSMike KarelsEnabling this option may break certain setups, e.g. having an alias address(es) 299ace68b1fSMike Karelson loopback that are expected to be reachable by outside traffic. 300ace68b1fSMike KarelsEnabling some other network features, e.g. 301ace68b1fSMike Karels.Xr carp 4 302ace68b1fSMike Karelsor destination address rewriting 303ace68b1fSMike Karels.Xr pfil 4 304ace68b1fSMike Karelsfilters may override and bypass this check. 305ace68b1fSMike KarelsDisabled by default. 306ace68b1fSMike Karels.It Va rfc6864 307ace68b1fSMike KarelsBoolean: control IP IDs generation behaviour. 308ace68b1fSMike KarelsTrue value enables RFC6864 support, which specifies that IP ID field of 309ace68b1fSMike Karels.Em atomic 310ace68b1fSMike Karelsdatagrams can be set to any value. 311ace68b1fSMike KarelsThe 312ace68b1fSMike Karels.Fx implementation sets it to zero. 313ace68b1fSMike KarelsEnabled by default. 314ace68b1fSMike Karels.It Va source_address_validation 315ace68b1fSMike KarelsBoolean: perform source address validation for packets destined for the local 316ace68b1fSMike Karelshost. 317ace68b1fSMike KarelsConsider this as following Section 3.2 of RFC3704/BCP84, where we treat local 318ace68b1fSMike Karelshost as our own infrastructure. 319ace68b1fSMike KarelsForwarded packets are unaffected by this 320ace68b1fSMike Karelsand it should not be considered an anti-spoof feature for a router. 321ace68b1fSMike KarelsEnabled by default. 322ace68b1fSMike Karels.It Va sourceroute 323ace68b1fSMike KarelsBoolean: enable/disable forwarding of source-routed IP packets (default false). 324ace68b1fSMike Karels.It Va ttl 325ace68b1fSMike KarelsInteger: default time-to-live 326ace68b1fSMike Karels.Pq Dq TTL 327ace68b1fSMike Karelsto use for outgoing 328ace68b1fSMike Karels.Tn IP 329ace68b1fSMike Karelspackets. 330a2cc1fa2SGarrett Wollman.El 331afe61c15SRodney W. Grimes.Sh SEE ALSO 332afe61c15SRodney W. Grimes.Xr ioctl 2 , 333afe61c15SRodney W. Grimes.Xr socket 2 , 334c1f9914bSGleb Smirnoff.Xr getifaddrs 3 , 335a2cc1fa2SGarrett Wollman.Xr sysctl 3 , 3360b992c1dSWolfram Schneider.Xr icmp 4 , 337afe61c15SRodney W. Grimes.Xr intro 4 , 3380b992c1dSWolfram Schneider.Xr ip 4 , 3390f5d195dSDag-Erling Smørgrav.Xr ipfirewall 4 , 340bf59255fSAndre Oppermann.Xr route 4 , 341afe61c15SRodney W. Grimes.Xr tcp 4 , 342bf59255fSAndre Oppermann.Xr udp 4 , 343cf2ca148SMike Karels.Xr sysctl 8 , 344bf59255fSAndre Oppermann.Xr pfil 9 345afe61c15SRodney W. Grimes.Rs 346afe61c15SRodney W. Grimes.%T "An Introductory 4.3 BSD Interprocess Communication Tutorial" 347afe61c15SRodney W. Grimes.%B PS1 348afe61c15SRodney W. Grimes.%N 7 349afe61c15SRodney W. Grimes.Re 350afe61c15SRodney W. Grimes.Rs 351afe61c15SRodney W. Grimes.%T "An Advanced 4.3 BSD Interprocess Communication Tutorial" 352afe61c15SRodney W. Grimes.%B PS1 353afe61c15SRodney W. Grimes.%N 8 354afe61c15SRodney W. Grimes.Re 355afe61c15SRodney W. Grimes.Sh HISTORY 356afe61c15SRodney W. GrimesThe 357afe61c15SRodney W. Grimes.Nm 358afe61c15SRodney W. Grimesprotocol interface appeared in 359afe61c15SRodney W. Grimes.Bx 4.2 . 360a2cc1fa2SGarrett WollmanThe 361a2cc1fa2SGarrett Wollman.Dq protocol cloning 362a2cc1fa2SGarrett Wollmancode appeared in 36346f84fcbSMike Pritchard.Fx 2.1 . 3640afc94c1SUlrich Spörlein.Sh CAVEATS 3650afc94c1SUlrich SpörleinThe Internet protocol support is subject to change as 3660afc94c1SUlrich Spörleinthe Internet protocols develop. 3670afc94c1SUlrich SpörleinUsers should not depend 3680afc94c1SUlrich Spörleinon details of the current implementation, but rather 3690afc94c1SUlrich Spörleinthe services exported. 370