summaryrefslogtreecommitdiffstats
path: root/sys/netinet6/in6.h
Commit message (Collapse)AuthorAgeFilesLines
* Clean up VCS Ids.obrien2007-12-101-3/+3
|
* Restore behavior changed with rev. 1.46 and makebz2007-07-191-1/+1
| | | | | | | | | | IPV6_IPSEC_POLICY always visible again. This unbreaks some third party user space applications. PR: 114491 Reported by: sumikawa Reviewed by: sumikawa Approved by: re (hrs)
* Space cleanupdelphij2007-07-051-5/+5
| | | | Approved by: re (rwatson)
* ANSIfy[1] plus some style cleanup nearby.delphij2007-07-051-1/+0
| | | | | | Discussed with: gnn, rwatson Submitted by: Karl Sj?dahl - dunceor <dunceor gmail com> [1] Approved by: re (rwatson)
* Link pf 4.1 to the build:mlaier2007-07-031-0/+5
| | | | | | | | - move ftp-proxy from libexec to usr.sbin - add tftp-proxy - new altq mtag link Approved by: re (kensmith)
* Commit the change from FAST_IPSEC to IPSEC. The FAST_IPSECgnn2007-07-031-2/+2
| | | | | | | | option is now deprecated, as well as the KAME IPsec code. What was FAST_IPSEC is now IPSEC. Approved by: re Sponsored by: Secure Computing
* Commit IPv6 support for FAST_IPSEC to the tree.gnn2007-07-011-2/+3
| | | | | | | | | This commit includes only the kernel files, the rest of the files will follow in a second commit. Reviewed by: bz Approved by: re Supported by: Secure Computing
* Import rewrite of IPv4 socket multicast layer to support source-specificbms2007-06-121-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* This comment on various IPPORT_ defines was copied from in.h anddwmalone2006-03-281-25/+3
| | | | | | | | probably never fully applied to IPv6. Over time it has become more stale, so replace it with something more up to date. Reviewed by: ume MFC after: 1 month
* updates net.inet6.ip6.kame_version as the proof of the latest KAME mergesuz2006-03-191-1/+1
| | | | | Reviewed by: KAME MFC after: 2 days
* sync with KAME regarding NDPsuz2005-10-211-4/+6
| | | | | | | | | | | | - introduced fine-grain-timer to manage ND-caches and IPv6 Multicast-Listeners - supports Router-Preference <draft-ietf-ipv6-router-selection-07.txt> - better prefix lifetime management - more spec-comformant DAD advertisement - updated RFC/internet-draft revisions Obtained from: KAME Reviewed by: ume, gnn MFC after: 2 month
* sync with KAME (removed a unnecesary non-standard macro)suz2005-10-191-8/+0
| | | | | Obtained from: KAME Reviewd by: ume, gnn
* added a knob to enable path MTU discovery for multicast packets.ume2005-08-131-1/+5
| | | | | | | (by default, it is disabled) Submitted by: suz Obtained from: KAME
* supports stealth forwarding in IPv6, as well as in IPv4suz2005-08-101-1/+3
| | | | | PR: kern/54625 MFC after: 1 week
* scope cleanup. with this changeume2005-07-251-0/+1
| | | | | | | | | | | | | | | | | | | - most of the kernel code will not care about the actual encoding of scope zone IDs and won't touch "s6_addr16[1]" directly. - similarly, most of the kernel code will not care about link-local scoped addresses as a special case. - scope boundary check will be stricter. For example, the current *BSD code allows a packet with src=::1 and dst=(some global IPv6 address) to be sent outside of the node, if the application do: s = socket(AF_INET6); bind(s, "::1"); sendto(s, some_global_IPv6_addr); This is clearly wrong, since ::1 is only meaningful within a single node, but the current implementation of the *BSD kernel cannot reject this attempt. Submitted by: JINMEI Tatuya <jinmei__at__isl.rdc.toshiba.co.jp> Obtained from: KAME
* update comments:ume2005-07-201-3/+3
| | | | | | | | - RFC2292bis -> RFC3542 - typo fixes Submitted by: Keiichi SHIMA <keiichi__at__iijlab.net> Obtained from: KAME
* /* -> /*- for license, minor formatting changes, separate for KAMEimp2005-01-071-2/+2
|
* 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
* byebye in6_ifawithscope(). it was a function for old sourceume2003-11-051-1/+0
| | | | | | address selection. Obtained from: KAME
* source address selection part of RFC3484.ume2003-11-041-1/+1
| | | | | | | | TODO: since there is scope issue to be solved, multicast and link-local address are treated as special for workaround for now. Obtained from: KAME
* add management part of address selection policy described inume2003-10-301-0/+3
| | | | | | RFC3484. Obtained from: KAME
* use uint32_t instead of u_int32_t for newly introducedume2003-10-261-1/+1
| | | | struct definition.
* revert following unwanted changes:ume2003-10-251-7/+7
| | | | | | | - __packed to __attribute__((__packed__) - uintN_t back to u_intN_t Reported by: bde
* correct namespace pollution.ume2003-10-251-0/+5
| | | | Submitted by: bde
* Switch Advanced Sockets API for IPv6 from RFC2292 to RFC3542ume2003-10-241-33/+90
| | | | | | | | | | (aka RFC2292bis). Though I believe this commit doesn't break backward compatibility againt existing binaries, it breaks backward compatibility of API. Now, the applications which use Advanced Sockets API such as telnet, ping6, mld6query and traceroute6 use RFC3542 API. Obtained from: KAME
* - implement lock around IPv6 reassembly, to avoid panic due toume2003-10-221-1/+3
| | | | | | | frag6_drain (mutex version will come later). - limit number of fragments (not fragment queues) in kernel. Obtained from: KAME
* - change scope to zone.ume2003-10-211-3/+8
| | | | | | | | - change node-local to interface-local. - better error handling of address-to-scope mapping. - use in6_clearscope(). Obtained from: KAME
* nuke unused CTL_IPV6PROTO_NAMES macro.ume2003-10-071-47/+0
|
* Add definitions for IN6ADDR_LINKLOCAL_ALLMDNS_INIT and INADDR_ALLMDNS_GROUP.mdodd2003-04-291-0/+3
|
* o Merge <machine/ansi.h> and <machine/types.h> into a new headermike2002-08-211-3/+3
| | | | | | | | | | | | | | | | | | | | | called <machine/_types.h>. o <machine/ansi.h> will continue to live so it can define MD clock macros, which are only MD because of gratuitous differences between architectures. o Change all headers to make use of this. This mainly involves changing: #ifdef _BSD_FOO_T_ typedef _BSD_FOO_T_ foo_t; #undef _BSD_FOO_T_ #endif to: #ifndef _FOO_T_DECLARED typedef __foo_t foo_t; #define _FOO_T_DECLARED #endif Concept by: bde Reviewed by: jake, obrien
* correct comment for setsockopt arg size.ume2002-07-251-3/+3
| | | | | | Reported by: Martin Laabs <martin@martin.erfurt.thur.de> Obtained from: KAME MFC after: 1 week
* sin6_len is not an address family. I believe this doesn'tume2002-07-221-1/+1
| | | | break compatibility with POSIX.1-2001.
* o Conditionalize sections for POSIX.1-2001 compatibility.mike2002-05-231-31/+49
| | | | | | | | | | o Use POSIX spelling for types, where possible. o Define size_t in the __BSD_VISIBLE case (this isn't really needed for standards conformance, but follows the tradition of not requiring <sys/types.h> as a prerequisite). o Use _BYTE_ORDER and friends instead of BYTE_ORDER and friends, since there may not be enough pollution in order for the latter to work. o Add an XXX note about the missing IPPROTO_IPV6 macro.
* just merged cosmetic changes from KAME to ease sync between KAME and FreeBSD.suz2002-04-191-12/+12
| | | | | | | (based on freebsd4-snap-20020128) Reviewed by: ume MFC after: 1 week
* Unconditionalize the definition of INET_ADDRSTRLEN andmike2002-04-101-2/+0
| | | | | INET6_ADDRSTRLEN. Doing this helps expose bogus redefinitions in 3rd party software.
* put an extern for ip6_protox in here where it is only used for kernel compilingdarrenr2002-03-191-0/+1
|
* o Add INET_ADDRSTRLEN and INET6_ADDRSTRLEN defines to <arpa/inet.h>mike2002-03-101-0/+2
| | | | | | | for POSIX.1-2001 conformance. o Add magic to <netinet/in.h> and <netinet6/in6.h> to prevent redefining INET_ADDRSTRLEN and INET6_ADDRSTRLEN. o Add a note about missing typedefs in <arpa/inet.h>.
* Make faith loadable, unloadable, and clonable.brooks2001-09-251-0/+2
|
* remove IN6_IS_ADDR_ANY macro (outside of standard, #if 0'ed for a long time)ume2001-06-241-7/+0
| | | | | Obtained from: KAME MFC after: 10 days
* Sync with recent KAME.ume2001-06-111-65/+118
| | | | | | | | | | | | | | | | | | This work was based on kame-20010528-freebsd43-snap.tgz and some critical problem after the snap was out were fixed. There are many many changes since last KAME merge. TODO: - The definitions of SADB_* in sys/net/pfkeyv2.h are still different from RFC2407/IANA assignment because of binary compatibility issue. It should be fixed under 5-CURRENT. - ip6po_m member of struct ip6_pktopts is no longer used. But, it is still there because of binary compatibility issue. It should be removed under 5-CURRENT. Reviewed by: itojun Obtained from: KAME MFC after: 3 weeks
* warn that setsockopt/sysctl # spaces are shared among *BSD, and should betteritojun2000-08-271-0/+2
| | | | be consulted with KAME guys if you want a number.
* split net.inet6.ip6.rtexpire (and others) from net.inet.ip.*.itojun2000-07-051-1/+7
| | | | From: Andrzej Bialecki <abial@webgiro.com>
* sync with kame tree as of july00. tons of bug fixes/improvements.itojun2000-07-041-158/+161
| | | | | | | API changes: - additional IPv6 ioctls - IPsec PF_KEY API was changed, it is mandatory to upgrade setkey(8). (also syntax change)
* Fixed missing prototype for inet6_rthdr_reverse().bde2000-05-111-0/+2
|
* Backout the previous change to __KAME_VERSION (FreeBSD4.x addition),shin2000-03-131-1/+1
| | | | because this is now 5.0-current.
* Change __KAME_VERSION value. Added the word "FreeBSD4.x" to identify theshin2000-03-121-1/+1
| | | | | | | system with other platform and/or other version of FreeBSD, which is also integrated KAME code based on another date. Approved by: jkh
* Forbid include of soem inet6 header files from wrong placeshin2000-02-101-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | KAME put INET6 related stuff into sys/netinet6 dir, but IPv6 standard API(RFC2553) require following files to be under sys/netinet. netinet/ip6.h netinet/icmp6.h Now those header files just include each following files. netinet6/ip6.h netinet6/icmp6.h Also KAME has netinet6/in6.h for easy INET6 common defs sharing between different BSDs, but RFC2553 requires only netinet/in.h should be included from userland. So netinet/in.h also includes netinet6/in6.h inside. To keep apps portability, apps should not directly include above files from netinet6 dir. Ideally, all contents of, netinet6/ip6.h netinet6/icmp6.h netinet6/in6.h should be moved into netinet/ip6.h netinet/icmp6.h netinet/in.h but to avoid big changes in this stage, add some hack, that -Put some special macro define into those files under neitnet -Let files under netinet6 cause error if it is included from some apps, and, if the specifal macro define is not defined. (which should have been defined if files under netinet is included) -And let them print an error message which tells the correct name of the include file to be included. Also fix apps which includes invalid header files. Approved by: jkh Obtained from: KAME project
* wrapped prototype declarations by __P(())shin2000-01-151-6/+8
| | | | Submitted by: bde
* udp IPv6 support, IPv6/IPv4 tunneling support in kernel,shin1999-12-071-64/+2
| | | | | | | | | | packet divert at kernel for IPv6/IPv4 translater daemon This includes queue related patch submitted by jburkhol@home.com. Submitted by: queue related patch from jburkhol@home.com Reviewed by: freebsd-arch, cvs-committers Obtained from: KAME project
* there's no memcmp() in kernel, use bcmp() instead.itojun1999-11-291-0/+8
| | | | | in userland memcmp() is preferred for ANSI preference. (from KAME repository)
OpenPOWER on IntegriCloud