summaryrefslogtreecommitdiffstats
path: root/sys/netinet6/ip6_var.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Rewrite in6_selectroute() to no longer return an ifp.mpi2015-09-111-4/+3
| | | | | | | The returned "struct rtentry" is either the cached one or the one passed in options. ok claudio@
* Move the multicast option parsing out of in6_selectroute().mpi2015-09-111-3/+3
| | | | ok claudio@
* Kill selectroute().mpi2015-09-111-2/+2
| | | | ok claudio@
* Kill yet another argument to functions in IPv6. This time ip6_output'sclaudio2015-09-111-2/+2
| | | | | | | ifpp - XXX: just for statistics ifpp is always NULL in all callers so that statistic confirms ifpp is dying OK mpi@
* Remove the "multicast_" prefix from the fields a multicast-only struct.mpi2014-12-171-3/+3
| | | | Prodded by claudio@ and mikeb@
* Use an interface index instead of a pointer for multicast options.mpi2014-12-171-3/+3
| | | | | | | | | | | | Output interface (port) selection for multicast traffic is not done via route lookups. Instead the output ifp is registred when setsockopt(2) is called with the IP{V6,}_MULTICAST_IF option. But since there is no mechanism to invalidate such pointer stored in a pcb when an interface is destroyed/removed, it might lead your kernel to fault. Prevent a fault upon resume reported by frantisek holop, thanks! ok mikeb@, claudio@
* 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
* Invert the signature logic of in{,6}_selectsrc, make them return thejca2014-04-181-4/+4
| | | | | | | | error code and pass the resulting source address back to the caller through a pointer, as suggested by chrisz. This gives us more readable code, and eases the deletion of useless checks in the callers' error path. Add a bunch of "0 -> NULL" conversions, while here. ok chrisz@ mpi@
* There are gasps of shock! Add a pmtu delay sysctl BUTTON for netinet6,deraadt2013-10-211-1/+4
| | | | | making the code the same as netinet4 along the way. ok bluhm phessler
* Pass the routing domain to IPv6 pr_ctlinput() like in IPv4.bluhm2013-06-011-2/+2
| | | | 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)
* Remove the IPv6 fragment overlapping length adjustment code. Itbluhm2012-01-091-14/+6
| | | | | | was already #if 0 and will never come back. Remove unused fragment struct fields and sort the others. ok henning@
* Replace the hand-crafted queue for IPv6 fragments with LIST.bluhm2012-01-091-8/+3
| | | | ok henning@
* Replace the hand-crafted queue for fragmented IPv6 packets with TAILQ.bluhm2012-01-051-3/+2
| | | | I forgot the header file containing struct ip6q in the last commit.
* rdomain support for IPv6sperreault2011-11-241-3/+3
| | | | ok mikeb
* Extract the new function ip6_fragment() from ip6_output() to makebluhm2011-03-221-1/+2
| | | | | it reusable by pf. ok claudio@
* Extract the new function frag6_deletefraghdr() from frag6_input()bluhm2011-03-061-1/+2
| | | | | to make it reusable by pf. No functional change. ok henning@, claudio@
* Remove the no longer used ip6s_exthdrtoolong field.claudio2010-12-211-2/+1
| | | | OK mikeb@, henning@, deraadt@
* remove some unused netinet6 codejsg2010-07-081-5/+1
| | | | ok stsp@ henning@ claudio@
* delay /etc/netstart until IPv6-DAD (dup-address-detection) is completed.markus2008-11-251-1/+2
| | | | ok fries, hshoexer, claudio
* Remove dead code: ip6_copypktopts() is not used anywhere.mpf2008-09-031-2/+1
| | | | OK deraadt@, henning@
* From KAME, allow adjustable limits on NDP entries and discovered routes.mcbride2008-06-111-1/+5
| | | | ok mpf naddy
* Introduce a facility to generate unpredictable 32 bit numbers withdjm2008-06-091-2/+3
| | | | | | | | | | | | | | near maximal (2^32) cycle times. These are useful for network IDs in cases where there are negative consequences to ID prediction and/or reuse. Use the idgen32() functions to generate IPv6 IDs and NFS client/server XIDs. Pseudorandom permutation code in crypto/idgen.c based on public domain skip32.c from Greg Rose. feedback & ok thib@ deraadt@
* add sysctl entry points into various network layers, in particular toderaadt2007-12-141-1/+2
| | | | provide netstat(1) with data it needs; ok claudio reyk
* apply the "skip ipsec if there are no flows" speedup diff to IPv6 too.henning2007-06-011-2/+2
| | | | | | we need a pointer to the inpcb to decide, which was not previously passed to ip6_output, so this diff is a little bigger. from itojun, ok ryan
* switch IPv6 advanced API from RFC2292 to RFC3542 (2292 is superseded by 3542).itojun2006-12-091-18/+57
| | | | | | | | | | the kernel still handles RFC2292 set/getsockopts, so that compiled binary has no trouble running. userland sees RFC3542 symbols only on header file so new code has to use RFC3542 API. bump libc shlib minor for function additions. tested on i386/amd64 by jmc, i386 by brad. checked by deraadt.
* introduce sysctl net.inet6.ip6.multicast_mtudisc (for multicast routers).itojun2006-11-211-1/+2
| | | | deraadt ok. manpage nit by jmc.
* u_quad_t -> u_int64_tbrad2006-07-061-40/+40
| | | | no functional change.
* 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@
* Do the same thing as for IPv4. Use a sysctl to enable/disable mfrowardingclaudio2006-05-271-1/+2
| | | | and additionaly make the code part of the MROUTING option. Put it in deraadt@
* g/c ip6_flow_seq. found by mcbride. mcbride okitojun2004-10-181-2/+1
|
* use random number generator to generate IPv6 fragment ID/flowlabel.itojun2003-10-011-2/+4
| | | | cleanup IPv6 flowlabel handling. deraadt ok
* make net.inet6.ip6.redirect actually work. from kameitojun2003-08-071-1/+2
|
* Remove the advertising clause in the UCB license which Berkeleymillert2003-06-021-6/+2
| | | | rescinded 22 July 1999. Proofed by myself and Theo.
* From Andrushock, s/sucess/success/gmillert2002-12-091-2/+2
|
* fix pointer signedness mixup. sync w/kameitojun2002-09-111-2/+2
|
* sync with latest KAME in6_ifaddr/prefix/default router manipulation.itojun2002-06-081-4/+9
| | | | | | | behavior changes: - two iocts used by ndp(8) are now obsolete (backward compat provided). use sysctl path instead. - lo0 does not get ::1 automatically. it will get ::1 when lo0 comes up.
* move IPV6_CHECKSUM processing to ip6_raw_ctloutput(). bunch of KNFs.itojun2002-06-071-1/+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).
* force fragment to minimum link MTU (1280) when needed (when PMTUD doesitojun2002-05-291-1/+2
| | | | not take effect) - like icmp6 responses or foo-over-IPv6 tunnel.
* limit number of IPv6 fragments (not the fragment queue size) toitojun2002-05-281-1/+3
| | | | fight against lots-of-frags DoS attacks. sync w/kame
* First round of __P removal in sysmillert2002-03-141-37/+37
|
* Deprecated IPV6_ENCAPSULATEDangelos2001-05-281-2/+1
|
* witch raw ip6 socket code from NRL to kame.itojun2001-02-081-1/+3
| | | | makes upgrades/code sharing much easier.
* remove m_pulldown statistics, which is highly experimentalitojun2000-07-121-15/+1
|
* - more icmp6/ip6 stats.itojun2000-07-061-8/+7
| | | | | | | | | - protect IPv6 ND from being hosed (due to neighbor unreachability detection hint) by wrong tcp traffic. still not sure if there's real attack, but it is good to be cautious. - avoid bitfield for router renumbering header decl. - implement packet-per-sec limitation for icmp6 errors, turn interval limit off (it is not very useful due to unix timer resolution).
* IPv6 IPsec, outbound direction.itojun2000-06-191-1/+2
| | | | | | restriction: if there's any extension header (except fragment) and outbound packet matches tdb, we can't encrypt it. packet will not go out of the node (dropped).
* net.inet.ip.gif_ttl (and IPv6 counterpart) is never used.itojun2000-05-251-2/+1
| | | | enforce type checking on IN6_ARE_ADDR_EQUAL.
* aintroduce ip6_{next,last}hdr which lets us parse IPv6 header chain correctly.itojun2000-03-221-2/+4
| | | | use it from icmp6 code.
* - check raw socket icmp6 filter only if the packet is icmp6.itojun2000-02-281-1/+2
| | | | | | - allow setting raw socket icmp6 filter only if it is IPPROTO_ICMPV6 socket. (cmetz may object about above two items...) - add rip6_ctlinput, to flush cached router properly on redirects.