summaryrefslogtreecommitdiffstats
path: root/sys/netinet/ip.h
Commit message (Collapse)AuthorAgeFilesLines
* Add ToS definitions for DiffServ Codepoints as per RFC2474.delphij2012-05-041-0/+25
| | | | | Obtained from: OpenBSD MFC after: 2 weeks
* use u_char instead of u_int for short bitfields.luigi2010-02-011-4/+4
| | | | | | | | | | | | For our compiler the two constructs are completely equivalent, but some compilers (including MSC and tcc) use the base type for alignment, which in the cases touched here result in aligning the bitfields to 32 bit instead of the 8 bit that is meant here. Note that almost all other headers where small bitfields are used have u_int8_t instead of u_int. MFC after: 3 days
* Use uint32_t instead of n_long and n_time, and uint16_t instead of n_short.luigi2009-02-131-2/+2
| | | | | | | | | Add a note next to fields in network format. The n_* types are not enough for compiler checks on endianness, and their use often requires an otherwise unnecessary #include <netinet/in_systm.h> The typedef in in_systm.h are still there.
* Move CTASSERT from header file to source file, per implementation note nowemaste2008-09-261-4/+0
| | | | | | in the CTASSERT man page. Submitted by: Ryan Stone
* Remove IPTOS_CE and IPTOS_ECT constants. They were defined in RFC 2481rpaulo2007-10-191-5/+0
| | | | | | | but later obsoleted by RFC 3168. Discussed on freebsd-net with no objections. Approved by: njl (mentor), rwatson
* White space and style cleanup.rwatson2007-05-111-10/+11
|
* Marking this as __packed was needed to get the alignment and offset ofimp2007-01-121-1/+1
| | | | | | | | | | members right. However, it also said it was aligned(1), which meant that gcc generated really bad code. Mark this as aligned(4). This makes things a little faster on arm (a couple percent), but also saves about 30k on the size of the kernel for arm. I talked about doing this with bde, but didn't check with him before the commit, so I'm hesitant say 'reviewed by: bde'.
* /* -> /*- for license, minor formatting changesimp2005-01-071-1/+1
|
* Remove advertising clause from University of California Regent'simp2004-04-071-4/+0
| | | | | | | license, per letter dated July 22, 1999 and email from Peter Wemm, Alan Cox and Robert Watson. Approved by: core, peter, alc, rwatson
* Spell types consistently throughout this file. Do not use the __packed ↵bms2004-02-161-4/+4
| | | | | | attribute, as we are often #include'd from userland without <sys/cdefs.h> in front of us, and it is not strictly necessary. Noticed by: Sascha Blank
* Initial import of RFC 2385 (TCP-MD5) digest support.bms2004-02-111-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the first of two commits; bringing in the kernel support first. This can be enabled by compiling a kernel with options TCP_SIGNATURE and FAST_IPSEC. For the uninitiated, this is a TCP option which provides for a means of authenticating TCP sessions which came into being before IPSEC. It is still relevant today, however, as it is used by many commercial router vendors, particularly with BGP, and as such has become a requirement for interconnect at many major Internet points of presence. Several parts of the TCP and IP headers, including the segment payload, are digested with MD5, including a shared secret. The PF_KEY interface is used to manage the secrets using security associations in the SADB. There is a limitation here in that as there is no way to map a TCP flow per-port back to an SPI without polluting tcpcb or using the SPD; the code to do the latter is unstable at this time. Therefore this code only supports per-host keying granularity. Whilst FAST_IPSEC is mutually exclusive with KAME IPSEC (and thus IPv6), TCP_SIGNATURE applies only to IPv4. For the vast majority of prospective users of this feature, this will not pose any problem. This implementation is output-only; that is, the option is honoured when responding to a host initiating a TCP session, but no effort is made [yet] to authenticate inbound traffic. This is, however, sufficient to interwork with Cisco equipment. Tested with a Cisco 2501 running IOS 12.0(27), and Quagga 0.96.4 with local patches. Patches for tcpdump to validate TCP-MD5 sessions are also available from me upon request. Sponsored by: sentex.net
* add ECN support in layer-3.ume2003-10-291-4/+15
| | | | | | | | | - implement the tunnel egress rule in ip_ecn_egress() in ip_ecn.c. make ip{,6}_ecn_egress() return integer to tell the caller that this packet should be dropped. - handle ECN at fragment reassembly in ip_input.c and frag6.c. Obtained from: KAME
* Back out support for RFC3514.mdodd2003-04-021-1/+0
| | | | RFC3514 poses an unacceptale risk to compliant systems.
* Sync constant define with NetBSD.mdodd2003-04-021-1/+1
| | | | Requested by: Tom Spindler <dogcow@babymeat.com>
* Implement support for RFC 3514 (The Security Flag in the IPv4 Header).mdodd2003-04-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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.
* Use __packed instead of __attribute__((__packed__)).mux2003-03-221-1/+3
|
* Fix two instances of variant struct definitions in sys/netinet:phk2002-10-201-10/+3
| | | | | | | | | | | | | | Remove the never completed _IP_VHL version, it has not caught on anywhere and it would make us incompatible with other BSD netstacks to retain this version. Add a CTASSERT protecting sizeof(struct ip) == 20. Don't let the size of struct ipq depend on the IPDIVERT option. This is a functional no-op commit. Approved by: re
* o Add IPOPT_ESO for the 'Extended Security' IP option (RFC1108)rwatson2001-12-141-0/+1
| | | | Obtained from: TrustedBSD Project
* o Add definition for IPOPT_CIPSO, the commercial security IP optionrwatson2001-12-141-0/+1
| | | | | | | number. Submitted by: Ilmar S. Habibulin <ilmar@watson.org> Obtained from: TrustedBSD Project
* IPSEC support in the kernel.shin1999-12-221-0/+4
| | | | | | | | pr_input() routines prototype is also changed to support IPSEC and IPV6 chained protocol headers. Reviewed by: freebsd-arch, cvs-committers Obtained from: KAME project
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Fixed pedantic semantics errors (bitfields not of type int, signed intbde1998-06-071-5/+5
| | | | or unsigned int).
* NetBSD PR# 2772dima1998-02-261-1/+2
| | | | Reviewed by: David Greenman
* Removed a stale comment. (We don't declare ip_len and ip_offset asbde1997-12-191-5/+1
| | | | | short. I guess we depend on bogus ANSI value-preserving extension of u_short to int to avoid unsigned comparison bugs.)
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notpeter1997-02-221-1/+1
| | | | ready for it yet.
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-141-1/+1
| | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
* Give ip_len and ip_off more natural, unsigned types.wollman1996-10-231-3/+3
|
* Define a few macros useful in the _IP_VHL case.wollman1996-04-181-1/+8
|
* IGMPv2 routines rewritten, to be more compact and to fully complyfenner1996-03-141-1/+2
| | | | with the IGMPv2 Internet Draft (including Router Alert IP option)
* If _IP_VHL is defined, declare a single ip_vhl member in struct ip ratherwollman1995-12-211-1/+5
| | | | | than separate ip_v and ip_hl members. Should have no effect on current code, but I'd eventually like to get rid of those obnoxious bitfields completely.
* Merge 4.4-Lite-2 by updating the version number.wollman1995-09-211-2/+2
| | | | Obtained from: 4.4BSD-Lite-2
* Remove trailing whitespace.rgrimes1995-05-301-5/+5
|
* Add IPTOS_MINCOST according to RFC 1349ache1995-05-051-2/+3
| | | | | | Change IPTOS_PREC_ROUTINE to 0 (was conflict with IPTOS_LOWDELAY) according to RFC 791 (unchanged since it) and BSDI 2.0 style Submitted by: Igor Sviridov <siac@ua.net>
* Made idempotent.paul1994-08-211-1/+6
| | | | Submitted by: Paul
* Added $Id$dg1994-08-021-0/+1
|
* BSD 4.4 Lite Kernel Sourcesrgrimes1994-05-241-0/+168
OpenPOWER on IntegriCloud