summaryrefslogtreecommitdiffstats
path: root/sys/netinet6/in6_ifattach.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Do not clean the multicast records of an interface when it is destroyedmpi2014-01-211-11/+1
| | | | | | | | | | | (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@
* Call all local valiables of type struct in6_ifaddr "ia6". This isbluhm2014-01-131-10/+10
| | | | | consistent with struct ifaddr "ifa" and struct in_ifaddr "ia". OK mpi@
* Some follow-up fixes for IFID collision handling in IPv6CP.stsp2014-01-071-19/+15
| | | | | | | | | | | | | | | Really change the link-local address in the unlikely event of an IFID collision, instead of going into an infinite conf-nak loop with the peer. To make the netinet6 code use the IPv6CP IFID in a new link-local address, in6_ifattach_linklocal() must accept a provided IFID. Replace the unused 'altifp' parameter with a new 'ifid' parameter for this purpose. Always use the latest suggested address in IPv6CP replies, even if the task to update the interface's address hasn't run yet. Also, clear the ifindex (KAME hack) in addresses sent during IPv6CP. ok mpi
* Make in6_ifdetach() remove the ff01::1 route for the detaching interface, too.stsp2014-01-061-1/+21
| | | | | The route used to linger after an interface detached from IPv6. ok mikeb
* Change the way protocol multicast addresses are linked to an interface.mpi2013-11-281-6/+11
| | | | | | | | | | | | | | | | | | | | | | 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 some FDDI/ATM leftovers.mpi2013-11-191-3/+1
| | | | ok mikeb@, henning@, deraadt@, brad@, miod@
* The header file netinet/in_var.h included netinet6/in6_var.h. Thisbluhm2013-10-171-2/+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@
* Remove a bunch of sockaddr_in6 pointer casts and replace othersbluhm2013-05-311-2/+2
| | | | | | with sin6tosa() or satosin6() inline functions. This allows the compiler to check the types more strictly. OK mpi@
* Remove a block of dead code in in6_ifdetach(). It was never executedbluhm2013-03-261-51/+1
| | | | | | | | | due to the wrong & in satosin6(&ifa->ifa_addr). The link local prefix fe80 was not checked within the IPv6 address, but within some pointers of the interface address struct. The whole loop around this was also never executed as all IPv6 addresses had already been purged. OK sperreault@ mpi@ mikeb@
* Substitute the handcrafted list of IPv6 addresses by a proper TAILQ.mpi2013-03-251-19/+5
| | | | ok bluhm@, mikeb@
* Remove the IFAFREE() macro, the ifafree() function it was calling alreadympi2013-03-071-3/+3
| | | | | | check for the reference counter. ok mikeb@, miod@, pelikan@, kettenis@, krw@
* Replace the cast to struct in6_ifaddr pointer with the ifatoia6() macro.bluhm2013-03-041-2/+2
| | | | | No binary change. OK claudio@
* Use TAILQ_FOREACH macro for loops. No binary diff.bluhm2012-09-191-8/+3
| | | | OK henning@
* Reverse the name and meaning of the IFXF_INET6_PRIVACY interfacebluhm2012-08-211-4/+1
| | | | | | | flag. It is now called IFXF_INET6_NOPRIVACY. So IPv6 privacy addresses are on by default without resetting the flag during ifconfig down/up. OK stsp@, sperreault@ (who wrote the same diff)
* Enable IPv6 autoconfprivacy by defaultsperreault2012-08-151-1/+4
| | | | | | | diff originally by stsp@ "please commit it" deraadt@ "don't care" stsp@ "don't like" bluhm@
* To access the ifaddr of an in_ifaddr or in6_ifaddr struct, it isbluhm2012-01-031-2/+2
| | | | | | cleaner to access the first member via ia_ifa instead of casting. No binary change. ok henning@ krw@
* rdomain support for IPv6sperreault2011-11-241-5/+8
| | | | ok mikeb
* Simple implementation of RFC4941, "Privacy Extensions for Statelessstsp2010-04-061-4/+24
| | | | | | | | | 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
* More destatic and ansification.jsing2010-02-081-10/+10
| | | | ok claudio@ naddy@
* instead of fiddling with the per-interface address lists directly inhenning2010-01-131-2/+2
| | | | | many places create a proper API (ifa_add / ifa_del) and use it. ok theo ryan dlg
* "XXX: should this be performed under splnet()?"... Yes, yes it should.mcbride2009-01-301-4/+7
| | | | | | | | Interface configuration causes neighbour discoverery, which runs packets through parts of the stack that require at least splsoftnet(), like pf and pfsync. ok dlg
* ANSIfy to sync with KAME. From Karl Sjodahl <dunceor@gmail.com>.mcbride2008-06-111-26/+26
| | | | ok todd deraadt naddy bluhm
* rtrequest to rtrequest1 conversion in inet6. With that no rtrequest shouldclaudio2008-05-111-9/+22
| | | | be left over. OK henning@
* kill arcnet leftovers, some pt out by Mike Belopuhov <mkb@crypt.org.ru>,henning2007-06-081-17/+1
| | | | some I found afterwards, ok dlg
* unifdef -USCOPEDROUTINGitojun2006-11-151-5/+1
|
* Automatically add a IPv6 link-local address to carp interfaces when themcbride2006-08-311-8/+11
| | | | | | | | | | | | | | | | virtual MAC address is set. Among other things, this makes route6d work correctly on systems with carp interfaces. In order to ensure backwards compatibility, we do not include IPv6 link-local addresses in generating the HMAC, but we accept HMACs with AND without the link-local addresses. They will be added to the HMAC in a future release. In short: this change should only affect backwards compatibility for IPv6 users who are manually adding link-local addresses on carp interfaces. testing mtu@ todd@ ok mpf@ henning@ deraadt@
* adjust functions dealing with the routing table to take a table ID ashenning2006-06-161-5/+5
| | | | | | parameter so they can work on alternate tables. table 0 hardcoded for many callers yet, that will be adapted step by step. input + ok claudio norby hshoexer
* Do the same thing as for IPv4. Use a sysctl to enable/disable mfrowardingclaudio2006-05-271-1/+5
| | | | and additionaly make the code part of the MROUTING option. Put it in deraadt@
* Use more queue macros rather than doing it by hand; ok otto@ krw@miod2006-03-051-14/+11
|
* carp needs a multicast kludge storage.mpf2005-05-231-2/+3
| | | | | Fixes PR 4211. OK mcbride@
* remove (now obsolete) handling of IFT_PROPVIRTUAL/bridge*. tested by camield@itojun2005-04-211-7/+1
|
* Convert carp(4) to behave more like a regular interface, much in the samemcbride2004-12-071-1/+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@
* Replace RSA-derived md5 code with code derived from Colin Plumb's PD version.millert2004-05-071-2/+3
| | | | | | This moves md5.c out of libkern and into sys/crypto where it belongs (as requested by markus@). Note that md5.c is still mandatory (dev/rnd.c uses it). Verified with IPsec + hmac-md5 and tcp md5sig. OK henning@ and hshoexer@
* on interface removal, clear multicast forwarding stuff. from kameitojun2003-07-081-1/+5
|
* i don't think pfsync needs a link-local addr.itojun2003-06-281-1/+2
|
* it is unlikely that we introduce 6to4 interface (IFT_STF) to openbsd.itojun2003-05-141-14/+1
|
* configure "next" pointer correctly. from j@pureftpd.orgitojun2002-09-121-1/+3
|
* fix pointer signedness mixup. sync w/kameitojun2002-09-111-6/+6
|
* KNF - return is not a function. sync w/kameitojun2002-09-111-5/+5
|
* silence some of log(), as the codepath will be visited for IPv6-non-capableitojun2002-06-111-11/+15
| | | | | interfaces too and can be annoying. net.inet6.icmp6.nd6_debug will re-enable them.
* whitespaceitojun2002-06-111-3/+3
|
* sync with latest KAME in6_ifaddr/prefix/default router manipulation.itojun2002-06-081-310/+235
| | | | | | | 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.
* whitespace sync w/kameitojun2002-06-071-12/+8
|
* attach nd_ifinfo structure to if_afdata.itojun2002-05-291-12/+11
| | | | | split IPv6 MTU (advertised by RA) from real link MTU. sync with kame
* move per-interface ip6/icmp6 stat to ifnet->if_afdata. sync w/kameitojun2002-05-291-58/+1
|
* simplify condition to perform DAD. sync w/kameitojun2002-05-231-9/+2
|
* First round of __P removal in sysmillert2002-03-141-7/+7
|
* whitespace/comment sync with kameitojun2001-12-071-4/+4
|
* suppress printf() on non-multicast interface.itojun2001-08-231-4/+7
| | | | suppress ipv6 initialization for IFT_PFLOG.
* don't try to enable IPv6 on IFT_PFLOG.itojun2001-08-231-1/+2
|