summaryrefslogtreecommitdiffstats
path: root/sys/netinet6/in6_proto.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Initialize the routing table before domains.mpi2015-10-071-3/+3
| | | | | | | | | | | | | | | | | | | | | | | The routing table is not an optional component of the network stack and initializing it inside the "routing domain" requires some ugly introspection in the domain interface. This put the rtable* layer at the same level of the if* level. These two subsystem are organized around the two global data structure used in the network stack: - the global &ifnet list, to be used in process context only, and - the routing table which can be read in interrupt context. This change makes the rtable_* layer domain-aware and extends the "struct domain" such that INET, INET6 and MPLS can specify the length of the binary key used in lookups. This allows us to keep, or move towards, AF-free route and rtable layers. While here stop the madness and pass the size of the maximum key length in *byte* to rn_inithead0(). ok claudio@, mikeb@
* Merge gif(4)'s tentacles in a single file.mpi2015-09-281-2/+2
| | | | | | Tested by <mxb AT alumni DOT chalmers DOT se>. ok dlg@
* Make every subsystem using a radix tree call rn_init() and pass thempi2015-09-041-2/+1
| | | | | | | | | | | | | | | length of the key as argument. This way every consumer of the radix tree has a chance to explicitly initialize the shared data structures and no longer rely on another subsystem to do the initialization. As a bonus ``dom_maxrtkey'' is no longer used an die. ART kernels should now be fully usable because pf(4) and IPSEC properly initialized the radix tree. ok chris@, reyk@
* Use a global table for domains instead of building a list at run time.mpi2015-08-301-2/+2
| | | | | | | As a side effect there's no need to run if_attachdomain() after the list of domains has been built. ok claudio@, reyk@
* Abstract the routing table internals behind an rtable_* API.mpi2015-07-181-10/+3
| | | | | | | | | | Code abusing the radix internals for the routing table should now includes <net/rtable.h> and only deal with "struct rtentry". Code using a radix tree for another purpose can still include <net/radix.h>. Inputs from and ok claudio@, mikeb@
* unifdef INET in net code as a precursor to removing the pretend option.tedu2014-12-191-9/+1
| | | | | long live the one true internet. ok henning mikeb
* Explicitly include <net/if_var.h> instead of pulling it in <net/if.h>.mpi2014-12-051-1/+2
| | | | ok mikeb@, krw@, bluhm@, tedu@
* Nuke net.inet6.icmp6.rediraccept and allow redirects on interfacesflorian2014-08-271-2/+1
| | | | | | | with autoconf enabled. If one is doing SLAAC one does already trust link local icmp6 so the policy for icmp6 redirects should be the same. pointed out by & OK bluhm@; OK henning@
* Keep pim code under #ifdef PIM to be coherent with what's in netinet/.mpi2014-08-191-4/+4
|
* Fewer <netinet/in_systm.h> !mpi2014-07-221-2/+1
|
* introduce the IFXF_AUTOCONF6 interface flag which controls wether wehenning2014-07-111-2/+1
| | | | | | | | | accept rtadvs on that interface. the global net.inet6.ip6.accept_rtadv sysctl just doesn't cut it, even tho the spec wants that - but in their little absurd world, a host just has one interface by definition anyway... the sysctlgoes away. lots of head scratching, brain cell elemination etc from bluhm benno stsp florian, excitement from simon and todd, ok bluhm stsp benno florian
* Remove rfc 4620 Node Information Query support (from the kernel).benno2014-07-111-2/+1
| | | | ok henning@ stu@, Yay! weerd@
* Set default of net.inet6.icmp6.nodeinfo to 0,benno2014-07-091-2/+2
| | | | | disables responses to RFC4620 IPv6 Node Information Queries. ok florian henning bluhm
* There are gasps of shock! Add a pmtu delay sysctl BUTTON for netinet6,deraadt2013-10-211-9/+2
| | | | | making the code the same as netinet4 along the way. ok bluhm phessler
* The header file netinet/in_var.h included netinet6/in6_var.h. Thisbluhm2013-10-171-3/+2
| | | | | | | created a bunch of useless dependencies. Remove this implicit inclusion and do an explicit #include <netinet6/in6_var.h> when it is needed. OK mpi@ henning@
* Instead of having various extern declarations for protocol variables,mpi2013-04-241-3/+2
| | | | declare them once in their corresponding header file.
* Allow raw IPv6 sockets for IPsec protocols. IPv4 does the same.bluhm2013-04-011-7/+7
| | | | Ok claudio@
* tedu faith(4), suggested by todd@ some weeks ago after a submission bympi2013-03-141-2/+1
| | | | | | dhill. ok krw@, mikeb@, tedu@ (implicit)
* Expand the socket splicing functionality from TCP to UDP. Mergebluhm2013-01-171-2/+2
| | | | | | | the code relevant for UDP from sosend() and soreceive() into somove(). That allows the kernel to directly transfer the UDP data from one socket to another. OK claudio@
* Direct IPv6 packets with Ethernet encapsulation into the appropriatemikeb2012-03-151-2/+8
| | | | | | | input routine allowing us to bridge two IPv4 networks over an IPv6 link with gif(4). ok henning, sthen, ok and tests phessler, "lets get this in!" todd
* - use nitems(); no binary changejasper2011-03-311-2/+2
| | | | ok claudio@
* Don't process ICMP6 redirects by default anymore. This is in line withclaudio2011-03-231-2/+2
| | | | | | what we do for IPv4. rtsol will turn it back on if -F is used. After discussion with bluhm@, fgsch@, sthen@ and deraadt@ OK sthen@
* Add socket option SO_SPLICE to splice together two TCP sockets.bluhm2011-01-071-2/+2
| | | | | | | The data received on the source socket will automatically be sent on the drain socket. This allows to write relay daemons with zero data copy. ok markus@
* remove some unused netinet6 codejsg2010-07-081-8/+1
| | | | ok stsp@ henning@ claudio@
* IPv6 support for divert sockets.michele2009-11-051-3/+15
| | | | | | tested by phessler@ pyr@ ok claudio@ "go ahead" deraadt@
* delay /etc/netstart until IPv6-DAD (dup-address-detection) is completed.markus2008-11-251-1/+2
| | | | ok fries, hshoexer, claudio
* From KAME, allow adjustable limits on NDP entries and discovered routes.mcbride2008-06-111-1/+5
| | | | ok mpf naddy
* Remove {tcp/udp}6_usrreq(); Since the normal ones nowthib2008-05-241-3/+3
| | | | | | | take a proc argument, theres no need for these, since they are just wrappers. OK claudio@
* remove tcp_drain code since it's not longer used; ok henning, feedback thibmarkus2008-05-061-3/+3
|
* add sysctl entry points into various network layers, in particular toderaadt2007-12-141-3/+3
| | | | provide netstat(1) with data it needs; ok claudio reyk
* Reduce ip6_hdrnestlimit from 50 to 10. Normal IPv6 packets should not haveclaudio2007-05-031-2/+2
| | | | | more then 10 headers nested. OK deraadt@ henning@ mcbride@
* introduce sysctl net.inet6.ip6.multicast_mtudisc (for multicast routers).itojun2006-11-211-1/+2
| | | | deraadt ok. manpage nit by jmc.
* Add support for equal-cost multipath IP.pascoe2006-06-181-1/+2
| | | | | | | | | | | | | | To minimise path disruptions, this implements recommendations made in RFC2992 - the hash-threshold mechanism to select paths based on source/destination IP address pairs, and inserts multipath routes in the middle of the route table. To enable multipath distribution, use: sysctl net.inet.ip.multipath=1 and/or: sysctl net.inet6.ip6.multipath=1 testing norby@ ok claudio@ henning@ hshoexer@
* SZpelling.pascoe2006-06-161-2/+2
|
* Do the same thing as for IPv4. Use a sysctl to enable/disable mfrowardingclaudio2006-05-271-1/+6
| | | | and additionaly make the code part of the MROUTING option. Put it in deraadt@
* bye bye more compile time knobs, use the sysctl to enable v6 forwarding.brad2005-10-141-11/+3
| | | | ok deraadt@
* Convert carp(4) to behave more like a regular interface, much in the samemcbride2004-12-071-2/+2
| | | | | | | | style as vlan(4). carp interfaces no longer require the physical interface to be on the same subnet as the carp interface, or even that the physical interface has an adress at all, so CARP can now be used on /30 networks. ok deraadt@ henning@
* g/c ip6_flow_seq. found by mcbride. mcbride okitojun2004-10-181-2/+1
|
* radix tree with multipath support. from kame. deraadt okitojun2004-04-251-1/+8
| | | | | | | | | | | | | user visible changes: - you can add multiple routes with same key (route add A B then route add A C) - you have to specify gateway address if there are multiple entries on the table (route delete A B, instead of route delete A) kernel change: - radix_node_head has an extra entry - rnh_deladdr takes extra argument TODO: - actually take advantage of multipath (rtalloc -> rtalloc_mpath)
* Add IPv6 support to CARP.mcbride2003-10-311-1/+13
| | | | ok deraadt@
* make net.inet6.ip6.redirect actually work. from kameitojun2003-08-071-6/+2
|
* Remove the advertising clause in the UCB license which Berkeleymillert2003-06-021-6/+2
| | | | rescinded 22 July 1999. Proofed by myself and Theo.
* pmtu_probe is not used anywhere (it is used in KAME TCP6-only code).itojun2002-11-111-2/+1
| | | | From: Krister Walfridsson <cato@df.lth.se>
* set use_deprecated back to 1. sync w/kameitojun2002-08-201-2/+2
|
* set default value for use_deprecated to 0, to avoid consequences with ftpd.itojun2002-08-171-2/+2
|
* whitespace cleanupitojun2002-06-091-9/+9
|
* move IPV6_CHECKSUM processing to ip6_raw_ctloutput(). bunch of KNFs.itojun2002-06-071-2/+2
| | | | rip6 stats. sync w/kame
* just for consistency/compatibility, have net.inet6.ip6.v6only sysctl MIB,itojun2002-06-071-1/+2
| | | | as well as set/getsockopt(IPV6_V6ONLY).
* move per-interface ip6/icmp6 stat to ifnet->if_afdata. sync w/kameitojun2002-05-291-2/+3
|
* limit number of IPv6 fragments (not the fragment queue size) toitojun2002-05-281-1/+2
| | | | fight against lots-of-frags DoS attacks. sync w/kame