summaryrefslogtreecommitdiffstats
path: root/sys/netinet6/in6_var.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Nuke unused ia6_createtime struct member.florian2018-05-061-4/+1
| | | | OK tb
* Kill deprecated IPv6 ioctl(2)s.mpi2017-10-261-24/+11
| | | | ok florian@, sthen@, jsg@
* remove defines for ioctls the kernel doesn't recognisejsg2017-10-241-5/+1
| | | | ok mpi@
* After we stopped processing router advertisements in the kernelflorian2017-08-151-2/+1
| | | | | | | | sppp_update_ip6_addr() became the last user of n6_are_prefix_equal(). Since it compares /128 prefixes it doesn't need all the bells and whistles and can be converted to a memcmp. Remove the now unused n6_are_prefix_equal(). OK bluhm, mpi
* in6_leavegroup can't fail; OK phesslerflorian2017-08-061-2/+2
|
* Purging is at last at hand. Day of Doom is here. All that is evilflorian2017-07-111-4/+1
| | | | | | | | | shall all be cleansed. Remove sending of router solicitations and processing of router advertisements from the kernel. It's handled by slaacd(8) these days. Input & OK bluhm@, mpi@
* Kill global list of IPv6 addresses.mpi2017-03-061-4/+1
| | | | ok bluhm@
* percpu counters for raw ipv6 and icmp6 statsjca2017-02-091-2/+1
| | | | ok mpi@
* Expand IN6_IFF_NOTREADY, ok bluhm@mpi2016-07-051-4/+1
|
* Move the ioctl(2) logic of in{,6}_control() into two new functionsmpi2016-06-131-1/+2
| | | | | | | | | in{,6}_ioctl() that do not deal with sockets. This will allow to automagically configure interface addresses in the kernel without too many layer violations. Required by upcoming umb(4).
* Kill IPv6 prefix and router renumbering ioctls.jca2016-03-031-95/+1
| | | | | | | | Router renumbering was never supported, prefix ioctls were deprecated ~15 years ago. Move some items in netinet6/nd6.h where they are still used. ok mikeb@ mpi@
* Delete all traces of SIOCSIF(ADDR|DSTADDR|NETMASK)_IN6jca2016-03-031-11/+1
| | | | | | | Those ioctls never made sense, IPv6 was designed right from the start with support for multiple addresses by interface. ok mikeb@ mpi@
* Remove SIOCSIFALIFETIME_IN6 ioctl, as NetBSD did.stefan2016-02-281-2/+1
| | | | | | | | | | | As described in NetBSD kern/35897 PR, the parameters this ioctl needs overlay each other in a union. The ioctl cannot have worked properly. Discovered while discussing overflow checks with mmcc@ and mpi@ The checks were part of the removed code. ok deraadt@
* Introduce in{,6}_hasmulti(), two functions to check in the hot path ifmpi2016-01-211-1/+2
| | | | | | an interface joined a specific multicast group. ok phessler@, visa@, dlg@
* Factorize the bits to check if a L2 route is connected, wether it ismpi2015-11-181-2/+1
| | | | | | | attached to a carp(4) or bridge(4) member, to not dereference rt_ifp directly. ok visa@
* user land -> userland; from Rob Piercederaadt2015-10-051-2/+2
|
* Kill in6_ifstat_inc() and associated per-ifp storage.mpi2015-09-101-8/+1
| | | | | | The SIOCGIFSTAT_IN6 is no longer supported. ok mikeb@, claudio@, dlg@
* Kill icmp6_ifstat_inc() and associated per-ifp storage.mpi2015-09-091-2/+1
| | | | | | The SIOCGIFSTAT_ICMP6 is no longer supported. ok dlg@, mikeb@, claudio@
* Kill unused ``ia_net'' field in the struct in6_ifaddr, bad copympi2015-09-011-3/+2
| | | | | | | paste from the IPv4 time. While here update the comment about ``ia6_ndpr'' it's now only used for autoconf.
* Rework the code to decide when to perform DAD to no longer rely on thempi2015-08-241-4/+1
| | | | | | | | | IN6_IFF_NODAD pseudo-flag not being set. This was just a flag for spaghetti code that should not exist in the first place. Tested by sebastia@, ok sthen@
* Pass an interface index instead of a pointer to in6_addr2scopeid().mpi2015-07-081-2/+2
| | | | ok millert@
* What have no need for a variable that holds the maximum MTU size ofmpi2014-11-201-2/+1
| | | | | | interfaces with an IPv6 address. ok henning@, mikeb@, deraadt@
* Move sending of router solicitations to the kernel; receiving andflorian2014-08-251-1/+2
| | | | | | | | | | | | | | | processing of router advertisements was already in the kernel. With this rtsol{,d}(8) is no longer necessary. The kernel starts sending solicitations with # ifconfig $IF inet6 autoconf or inet6 autoconf in /etc/hostname.$IF. input stsp@ much help & OK mpi@ tweaks & OK bluhm@
* Introduce rt_ifa_{add,del}loop() to replace in6_{add,rem}loop().mpi2014-04-031-3/+1
| | | | | | | | | Move these functions to a more generic place and make them reuse existing code, they'll be soon used in IPv4 too. Tested by André Lucas, Vigdis and sthen@, thanks! ok sthen@
* Stop mixing interface address flags with routing entry ones.mpi2014-03-271-2/+2
| | | | | | | | | | Instead of always copying ifa_flags to the routing entry flags when creating a route by calling rtinit(), explicitly pass the RTF_CLONING flag when required. This means ifa_flags are now *only* used to check if an address has an associated route that was created by the kernel auto-magically. ok benno@
* Do not clean the multicast records of an interface when it is destroyedmpi2014-01-211-2/+2
| | | | | | | | | | | (unplugged). Even if it makes no sense to keep them around if the interface is no more, we cannot safely remove them since pcb multicast options might keep a pointer to them. Fixes a user after free introduced by the multicast address linking rewrite and reported by Alexey Suslikov, thanks! ok claudio@
* Change the way protocol multicast addresses are linked to an interface.mpi2013-11-281-47/+23
| | | | | | | | | | | | | | | | | | | | | | Instead of linking multicast records to the first configured address of the corresponding protocol, making this address and its position in the global list special, add them to a new list directly linked to the interface descriptor. This new multicast address list is similar to the address list, all its elements contain a protocol agnostic part. This design allows us to be able to join a multicast group without necessarily having a configured address. That means IPv6 multicast kludges are no longer needed. Another benefit is to be able to add and remove an IP address from an interface without worrying about multicast records. That means that the global IPv4 list is no longer needed since the first configured address of an interface is no longer special. This new list might also be extended in the future to contain the link-layer addresses used to configure hardware filters. Tested by sthen@ and weerd@, ok mikeb@
* Remove unused proc argument in in6_control().mpi2013-11-221-3/+2
| | | | ok henning@, mikeb@
* Remove the number of in6_var.h inclusions by moving some functions andmpi2013-10-241-14/+1
| | | | | | global variables to in6.h. ok deraadt@
* Significant namespace cleanup of netinet6 symbols.deraadt2013-10-241-7/+5
| | | | | | | | One worrying bit is in icmp6.h where some htols() and htonl() are added, which may affect compatibility down the line. This component can be reverted if issues show up. Ports tree greps indicate no issue. ok claudio mpi etc
* Change the macros used to iterate over the multicast records of anmpi2013-10-141-58/+22
| | | | | | | | | | interface to not depend on the global list of addresses. For IPv4 the IP_TO_IA() macro still depends on the global list of addresses because we want to be sure to grab the first configured address of an interface, where the records are linked. Tested by sthen@, ok henning@
* No one uses the obsolete IPv6 ioctls SIOCGDRLST_IN6, SIOCGPRLST_IN6,bluhm2013-08-261-6/+1
| | | | | | | OSIOCGIFINFO_IN6 anymore. Remove them together with the structs in6_drlist, in6_oprlist, in6_prlist, in6_ondireq and the kernel implementation. OK mikeb@ henning@
* Remove unused field ia_plen from struct in6_ifaddr. The prefixbluhm2013-06-171-2/+1
| | | | | length is always calculated on demand from ia_prefixmask. OK claudio@ mpi@ henning@
* Substitute the handcrafted list of IPv6 addresses by a proper TAILQ.mpi2013-03-251-5/+7
| | | | ok bluhm@, mikeb@
* simple replacement of LIST_END with NULL. ok mpitedu2013-03-221-2/+2
|
* Remove unused code manipulating a default interface and its index,mpi2013-03-111-4/+1
| | | | | | | This is a leftover from the on-link assumption behavior removal, which has been deprecated by RFC4861 anyway. ok mikeb@, bluhm@, florian@
* When deleting an IPv6 interface address, also remove the prefix andbluhm2013-03-041-2/+2
| | | | | the cloning route. bug report and test Florian Riehm; original fix sperreault@; OK claudio@
* align ifaliasreq.ifra_addr similar to the way that ifreq is fixed --deraadt2012-11-111-2/+8
| | | | | | a gruesome union, to block the compiler from placing the struct incorrectly aligned on stack frames ok guenther
* Since the IPv6 madness is not enough introduce NAT64 -- which is actuallyclaudio2011-10-131-2/+1
| | | | | | | | "af-to" a generic IP version translator for pf(4). Not everything perfect yet but lets fix these things in the tree. Insane amount of work done by sperreault@, mikeb@ and reyk@. Looked over by mcbride@ henning@ and myself at eurobsdcon. OK mcbride@ and general put it in from deraadt@
* Accept neighbor discovery packets from source IPv6 addresses forbluhm2011-07-261-3/+2
| | | | | | | | which we have a cloning or cloned route. The old check was based on configured interface addresses, now we use a route lookup. This allows us to use prefixes for the local network that ospf6d has added. ok claudio@
* remove some unused netinet6 codejsg2010-07-081-3/+1
| | | | ok stsp@ henning@ claudio@
* Simple implementation of RFC4941, "Privacy Extensions for Statelessstsp2010-04-061-1/+2
| | | | | | | | | Address Autoconfiguration in IPv6". For those among us who are paranoid about broadcasting their MAC address to the IPv6 internet. Man page help from jmc, testing by weerd, arc4random API hints from djm. ok deraadt, claudio
* If a neighbor solictation isn't from the unspecified address, make sureclaudio2008-10-011-1/+3
| | | | | that the source address matches one of the interfaces address prefixes. From NetBSD, tested by todd@ and naddy@
* From KAME, allow adjustable limits on NDP entries and discovered routes.mcbride2008-06-111-1/+3
| | | | ok mpf naddy
* u_quad_t -> u_int64_tbrad2006-07-061-55/+55
| | | | no functional change.
* Use more queue macros rather than doing it by hand; ok otto@ krw@miod2006-03-051-8/+8
|
* bitfields must be off an int or such typederaadt2005-12-111-11/+11
|
* remove the unused in6_ifindex2scopeid()brad2005-09-191-2/+1
| | | | | | | | | if at all, it works with site-local addresses whose fate is uncertain to say the least From drochner NetBSD ok deraadt@
* missing paren in macro def. Patrick Latifiitojun2004-06-161-2/+2
|
* Expose in6_ifremloop() and in6_ifaddloop() so that they can be used by carp.mcbride2004-01-131-1/+3
| | | | ok henning@ millert@ itojun@