Commit Graph

67 Commits

Author SHA1 Message Date
brueffer
b61c6e4e79 Fix various mdoc issues.
Found with:	mandoc -Tlint
2014-12-21 09:53:29 +00:00
glebius
2dd39cca12 Make SOCK_RAW sockets to be truly raw, not modifying received and sent
packets at all. Swapping byte order on SOCK_RAW was actually a bug, an
artifact from the BSD network stack, that used to convert a packet to
native byte order once it is received by kernel.

Other operating systems didn't follow this, and later other BSD
descendants fixed this, leaving us alone with the bug. Now it is
clear that we should fix the bug.

In collaboration with:	Olivier Cochard-Labbé <olivier cochard.me>
See also:		https://wiki.freebsd.org/SOCK_RAW
Sponsored by:		Nginx, Inc.
2014-09-01 14:04:51 +00:00
eadler
118094e60b multiple: Remove 3rd clause from BSD license where approved by the
regents and renumber.

This patch skips files in contrib/ and crypto/

Acked by:	imp
Discussed with:	emaste
2014-03-14 03:07:51 +00:00
glebius
f1a41bb5d1 Fix type in last commit.
Submitted by:	brueffer
2012-10-12 19:53:13 +00:00
glebius
d778566d95 Be more explicit on how "intact" incoming packets in raw sockets are. 2012-10-12 12:27:30 +00:00
glebius
2de8d93bb9 Redo r240386 providing more correct information. 2012-09-20 05:49:31 +00:00
glebius
c94209caab Document conditions for IP_SENDSRCADDR socket option.
Obtained from:	r167342 commit message
2012-09-12 10:09:34 +00:00
ru
ab30d1b386 Fixed an example that set IP_ONESBCAST socket option to actually work,
and not return EINVAL.
2012-06-15 09:12:47 +00:00
tuexen
32041f44ed Add a IP_RECVTOS socket option to receive for received UDP/IPv4
packets a cmsg of type IP_RECVTOS which contains the TOS byte.
Much like IP_RECVTTL does for TTL. This allows to implement a
protocol on top of UDP and implementing ECN.

MFC after: 3 days
2012-06-12 14:02:38 +00:00
tuexen
caa3fadb76 The cmsg_len field includes the cmsg header. So use CMSG_LEN().
MFC after: 3 days
2012-06-05 20:48:13 +00:00
gjb
ed459e330b General mdoc(7) and typo fixes.
PR:		167776
Submitted by:	Nobuyuki Koganemaru (kogane!jp.freebsd.org)
MFC after:	3 days
2012-05-12 03:25:46 +00:00
joel
1994f885d3 Remove superfluous paragraph macro. 2012-03-24 13:37:57 +00:00
andre
6521dad4b6 mdoc fix for r227499.
Reported by:	brueffer
2011-11-14 15:57:03 +00:00
andre
f43f28646d Note the ip_len bug fixed in r226105 in the BUGS section. 2011-11-14 15:10:42 +00:00
joel
dd1fff9bcb Fix typos, spelling, formatting and mdoc mistakes found by Nobuyuki while
translating these manual pages.  Minor corrections by me.

Submitted by:	Nobuyuki Koganemaru <n-kogane@syd.odn.ne.jp>
2010-08-16 15:18:30 +00:00
pjd
3683dec373 Document IP_BINDANY IP socket option.
Reviewed by:	brueffer
2009-06-01 10:30:52 +00:00
bms
71233409ea Merge IGMPv3 and Source-Specific Multicast (SSM) to the FreeBSD
IPv4 stack.

Diffs are minimized against p4.
PCS has been used for some protocol verification, more widespread
testing of recorded sources in Group-and-Source queries is needed.
sizeof(struct igmpstat) has changed.

__FreeBSD_version is bumped to 800070.
2009-03-09 17:53:05 +00:00
bms
1b398540f1 Add source-specific multicast (SSM) option documentation. 2009-03-04 02:00:14 +00:00
bms
ffd77d9ba5 Import rewrite of IPv4 socket multicast layer to support source-specific
and protocol-independent host mode multicast. The code is written to
accomodate IPv6, IGMPv3 and MLDv2 with only a little additional work.

This change only pertains to FreeBSD's use as a multicast end-station and
does not concern multicast routing; for an IGMPv3/MLDv2 router
implementation, consider the XORP project.

The work is based on Wilbert de Graaf's IGMPv3 code drop for FreeBSD 4.6,
which is available at: http://www.kloosterhof.com/wilbert/igmpv3.html

Summary
 * IPv4 multicast socket processing is now moved out of ip_output.c
   into a new module, in_mcast.c.
 * The in_mcast.c module implements the IPv4 legacy any-source API in
   terms of the protocol-independent source-specific API.
 * Source filters are lazy allocated as the common case does not use them.
   They are part of per inpcb state and are covered by the inpcb lock.
 * struct ip_mreqn is now supported to allow applications to specify
   multicast joins by interface index in the legacy IPv4 any-source API.
 * In UDP, an incoming multicast datagram only requires that the source
   port matches the 4-tuple if the socket was already bound by source port.
   An unbound socket SHOULD be able to receive multicasts sent from an
   ephemeral source port.
 * The UDP socket multicast filter mode defaults to exclusive, that is,
   sources present in the per-socket list will be blocked from delivery.
 * The RFC 3678 userland functions have been added to libc: setsourcefilter,
   getsourcefilter, setipv4sourcefilter, getipv4sourcefilter.
 * Definitions for IGMPv3 are merged but not yet used.
 * struct sockaddr_storage is now referenced from <netinet/in.h>. It
   is therefore defined there if not already declared in the same way
   as for the C99 types.
 * The RFC 1724 hack (specify 0.0.0.0/8 addresses to IP_MULTICAST_IF
   which are then interpreted as interface indexes) is now deprecated.
 * A patch for the Rhyolite.com routed in the FreeBSD base system
   is available in the -net archives. This only affects individuals
   running RIPv1 or RIPv2 via point-to-point and/or unnumbered interfaces.
 * Make IPv6 detach path similar to IPv4's in code flow; functionally same.
 * Bump __FreeBSD_version to 700048; see UPDATING.

This work was financially supported by another FreeBSD committer.

Obtained from:  p4://bms_netdev
Submitted by:   Wilbert de Graaf (original work)
Reviewed by:    rwatson (locking), silence from fenner,
		net@ (but with encouragement)
2007-06-12 16:24:56 +00:00
bms
d0cd4f87d4 Document a major IGMP related annoyance.
Add comments about IGMP bits which will go when we take SSM.
Xref multicast(4).

MFC after:	3 days
2007-03-18 15:31:06 +00:00
bms
28c1069b5c Don't quote IP_MAX_MEMBERSHIPS as 20 any more. 2006-05-14 14:13:30 +00:00
ru
8a2652d669 -mdoc sweep. 2005-11-18 10:56:28 +00:00
andre
9e496bb419 Document the IP_DONTFRAG IP socket option.
Sponsored by:   TCP/IP Optimization Fundraise 2005
2005-09-26 20:58:49 +00:00
andre
efa833e8d9 Document IP_MINTTL socket option.
MFC after:	2 weeks
Sponsored by:	TCP/IP Optimization Fundraise 2005
2005-08-22 16:14:53 +00:00
maxim
56ed6f8b75 o Document net.inet.ip.portrange.random* sysctls.
o Correct a comment about random port allocation threshold
implementation.

Reviewed by:	silby, ru
MFC after:	3 days
2005-03-23 09:26:38 +00:00
ru
1541af42f1 Expand *n't contractions. 2005-02-13 22:25:33 +00:00
ru
0f1929cc0e Fixed xrefs. 2005-01-21 10:35:40 +00:00
mpp
2897581d0a Spelling fixes. 2004-06-21 17:42:49 +00:00
ru
aa52a5a900 Assorted markup, spelling, and grammar fixes. 2004-06-16 08:33:57 +00:00
bms
9756fdf768 Document the behaviour of IP_ADD_MEMBERSHIP as per RFC 1724.
PR:		bin/51927
2004-06-16 05:04:17 +00:00
bms
e9a675dec9 mdoc(7) police
Submitted by:	ru
2004-06-15 16:48:42 +00:00
bms
dbea17bc83 Add a paragraph about the importance of byte order when using raw
sockets with the IP_HDRINCL option.
Add a list entry about the errors which IP_HDRINCL can return.
Bump .Dd.

PR:		docs/30873
Submitted by:	Douglas De Couto
Obtained from:	BSD/OS (byte order), some old libnet stuff I did years ago.
2004-06-15 01:08:09 +00:00
silby
e3daaa170b Document the net.inet.ip.portrange.randomized sysctl. 2004-04-22 08:49:51 +00:00
bms
3af3c5ae44 Add the IP_ONESBCAST option, to enable undirected IP broadcasts to be sent on
specific interfaces. This is required by aodvd, and may in future help us
in getting rid of the requirement for BPF from our import of isc-dhcp.

Suggested by:   fenestro
Obtained from:  BSD/OS
Reviewed by:    mini, sam
Approved by:    jake (mentor)
2003-08-20 14:46:40 +00:00
ru
515a384919 Add missing markup bits. 2003-05-20 22:07:55 +00:00
mdodd
6afaafd2aa IP_RECVTTL socket option.
Reviewed by:	Stuart Cheshire <cheshire@apple.com>
2003-04-29 21:36:18 +00:00
mdodd
373ef8a1bd Document the IP_RECVIF socket option.
Submitted by:	 Bruce M Simpson
2003-04-29 08:37:52 +00:00
mdodd
ccc6071f7e Back out support for RFC3514.
RFC3514 poses an unacceptale risk to compliant systems.
2003-04-02 20:14:44 +00:00
mdodd
e72fdee732 Implement support for RFC 3514 (The Security Flag in the IPv4 Header).
(See: ftp://ftp.rfc-editor.org/in-notes/rfc3514.txt)

This fulfills the host requirements for userland support by
way of the setsockopt() IP_EVIL_INTENT message.

There are three sysctl tunables provided to govern system behavior.

	net.inet.ip.rfc3514:

		Enables support for rfc3514.  As this is an
		Informational RFC and support is not yet widespread
		this option is disabled by default.

	net.inet.ip.hear_no_evil

		 If set the host will discard all received evil packets.

	net.inet.ip.speak_no_evil

		If set the host will discard all transmitted evil packets.

The IP statistics counter 'ips_evil' (available via 'netstat') provides
information on the number of 'evil' packets recieved.

For reference, the '-E' option to 'ping' has been provided to demonstrate
and test the implementation.
2003-04-01 08:21:44 +00:00
ru
0dea541567 mdoc(7) police: Scheduled sweep. 2003-02-24 22:53:26 +00:00
cjc
b8c7e26405 Document the net.inet.ip.portrange.reserved{high,low} sysctl knobs
added in sys/netinet/in_pcb.c 1.120.

Prodded by:	ru
2003-02-21 21:09:35 +00:00
iedowse
4d33fec541 Implement a new IP_SENDSRCADDR ancillary message type that permits
a server process bound to a wildcard UDP socket to select the IP
address from which outgoing packets are sent on a per-datagram
basis. When combined with IP_RECVDSTADDR, such a server process can
guarantee to reply to an incoming request using the same source IP
address as the destination IP address of the request, without having
to open one socket per server IP address.

Discussed on:	-net
Approved by:	re
2002-10-21 20:40:02 +00:00
silby
d1c813d025 Update ip(4) manpage to reflect recent ephemeral port range
change.

Noticed by:	ru
MFC after:	1 day
2002-04-09 18:03:18 +00:00
ru
623da62a5a mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
schweikh
511e378b14 Removed whitespace at end-of-line; no content changes. I simply did
cd src/share; find man[1-9] -type f|xargs perl -pi -e 's/[ \t]+$//'

BTW, what editors are the culprits? I'm using vim and it shows
me whitespace at EOL in troff files with a thick blue block...

Reviewed by:	Silence from cvs diff -b
MFC after:	7 days
2001-07-14 19:41:16 +00:00
dd
949740204f mdoc(7) police: rename the DIAGNOSTICS section to ERRORS to match the
content, and correct the parameters to the -tag list therein.

Reviewed by:	ru
2001-04-13 19:49:07 +00:00
ben
601f4f9326 Correct the description of the "low" (< 1024) port range.
PR:		25500
Submitted by:	Barry Irwin <bvi@devco.net>
2001-03-29 01:00:42 +00:00
ru
5639e86bdd Make it possible to use IP_TTL and IP_TOS setsockopt(2) options
on certain types of SOCK_RAW sockets.  Also, use the ip.ttl MIB
variable instead of MAXTTL constant as the default time-to-live
value for outgoing IP packets all over the place, as we already
do this for TCP and UDP.

Reviewed by:	wollman
2001-03-09 12:22:51 +00:00
ru
8a6f8b5fe4 mdoc(7) police: split punctuation characters + misc fixes. 2001-02-01 16:38:02 +00:00
ben
310d1292be Fix typo; s/demon/daemon/
PR:		22955, 22956
Submitted by:	Jimmy Olgeni <olgeni@uli.it>
2000-11-20 10:15:38 +00:00