summaryrefslogtreecommitdiff
path: root/sys/netinet6
AgeCommit message (Collapse)Author
2014-03-21rt_timer* spring cleanup.Martin Pieuchot
Rename and document rt_timer_count() into rt_timer_queue_count() to be consistent with the other functions. Remove unused argument from rt_timer_queue_destroy(), clean the definitions and finally use the same order in NAME and DESCRIPTION as requested by jmc@. ok henning@
2014-03-21If a NA is received on a carp interface in BACKUP state and match oneMartin Pieuchot
of the carp addresses silently ignore it since it is certainly coming from the carp MASTER. ok sthen@
2014-03-18Rename rt_gettable() into rtable_get(), swap its arguments to beMartin Pieuchot
coherent with the existing rtable_* functions and document it. While here fix some other manpage glitches pointed out by jmc@.
2014-03-12ANSIfy a declaration, no object change.Martin Pieuchot
2014-03-11Remove gratuitous differences between arp and nd6 rtrequests,Martin Pieuchot
no functional change. ok jca@
2014-03-10In ip6_mrouter_set() and ip6_mrouter_get(), change the error numberLawrence Teo
EACCES to EPERM. EACCES is meant for file access permissions (as documented on the errno(2) man page), so EPERM seems more appropriate. Based on a similar change from FreeBSD via Loganaden Velvindron. ok bluhm@
2014-02-17The device driver ioctl code can sleep, so calling it from a timeout is *not*Mark Kettenis
a good idea. Instead hand the work off expiring interface addresses off to a taskq. Fixes the "p->p_wchan == NULL" panics seen with usb ethernet adapters. tested by matthieu@ ok mpi@, stsp@
2014-02-13Another chunk of IPv6 dead code bites the dust.Martin Pieuchot
ok bluhm@, mikeb@
2014-02-12Kill a never defined old compatibility goo from 12 years ago.Martin Pieuchot
ok mikeb@, bluhm@
2014-02-05Kill some dead code.Martin Pieuchot
ok bluhm@
2014-01-29move the allocation of the mbuf copy to use for sending icmp errorsDavid Gwynne
above the reroute label that pf uses after it does dest addr rewriting on outgoing packets. previously rerouting caused an extra copy to be allocated, which caused the first copy to be leaked. this has been bugging me for over half a year probably. after i got some rudimental mbuf tracing in place it took me and alex wilson most of a work day to audit the stack. ok claudio@ on an earlier diff ok mpi@, who made my first diff better and was gracious enough to let me commit his because of the pain id been through finding this leak. ok pelikan@
2014-01-24Instead of calculating the ICMPv6 checksum here, just set the flag thatChristian Weisgerber
is needed and the lower parts of the stack will take care of it. ok henning@, lteo@
2014-01-23since the cksum rewrite the counters for hardware checksummed packetsHenning Brauer
are are lie, since the software engine emulates hardware offloading and that is later indistinguishable. so kill the hw cksummed counters. introduce software checksummed packet counters instead. tcp/udp handles ip & ipvshit, ip cksum covered, 6 has no ip layer cksum. as before we still have a miscounting bug for inbound with pf on, to be fixed in the next step. found by, prodding & ok naddy
2014-01-23Merge two chunks of code to inform listeners of a route change into aMartin Pieuchot
new function, rt_sendmsg(). While here, in the v6 cases, pass the same rtableid that was used for the request instead of dereferencing a pointer after checking for it to be NULL. ok krw@ on a previous version, ok bluhm@
2014-01-23put the in{,6}_delayed_cksum() and in{,6}_proto_cksum_out() prototypesChristian Weisgerber
into consistent locations; ok henning@
2014-01-22Split the checksum calculation for IPv6 like for IPv4:Christian Weisgerber
Always calculate the pseudo-header checksum. Complete the checksum if hardware offload is not available. Parts originally from NetBSD; ok henning@
2014-01-22There's no reason to pass a netmask argument when doing a RTF_HOSTMartin Pieuchot
request, so kill it along with the associated global variable. ok claudio@
2014-01-21Do not clean the multicast records of an interface when it is destroyedMartin Pieuchot
(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@
2014-01-15Remove assigned but never read value.Martin Pieuchot
ok stsp@
2014-01-13Call all local valiables of type struct in6_ifaddr "ia6". This isAlexander Bluhm
consistent with struct ifaddr "ifa" and struct in_ifaddr "ia". OK mpi@
2014-01-10replace the rest of the obsolete radix macrosTed Unangst
sprinkle 0 -> NULL where obvious ok millert mpi
2014-01-09replace Bcopy macro with memmove and memcpy. ok mpiTed Unangst
2014-01-08Name the local variables for struct ifaddr consistently "ifa".Alexander Bluhm
OK mikeb@
2014-01-07Propagate an rdomain number to the nd6_lookup independently fromMike Belopuhov
the ifp pointer which can be NULL. This prevents a crash reported by David Hill <dhill at mindcry ! org>. OK bluhm
2014-01-07Some follow-up fixes for IFID collision handling in IPv6CP.Stefan Sperling
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
2014-01-06Make in6_ifdetach() remove the ff01::1 route for the detaching interface, too.Stefan Sperling
The route used to linger after an interface detached from IPv6. ok mikeb
2013-12-20Switch inpt_queue from CIRCLEQ to TAILQ. Thus ending use of CIRCLEQKenneth R Westerback
in the base. Ports fixes to follow shortly for the two ports (gkrellm and net-snmp) affected. ok zhuk@ millert@
2013-11-28Change the way protocol multicast addresses are linked to an interface.Martin Pieuchot
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@
2013-11-22Remove unused proc argument in in6_control().Martin Pieuchot
ok henning@, mikeb@
2013-11-19Remove some FDDI/ATM leftovers.Martin Pieuchot
ok mikeb@, henning@, deraadt@, brad@, miod@
2013-11-15Rename the struct pf_divert variable in divert_packet() andLawrence Teo
divert6_packet() from "pd" to "divert" to match the rest of the source. I think "pd" was not a good name for a struct pf_divert because "pd" usually refers to a pf_pdesc. No object file change. OK benno@ bluhm@ henning@
2013-11-15After discussion with deraadt@ and Fernando Gont, it seems that theAlexander Bluhm
stack should still scan for IPv6 type 0 routing headers. There are OpenBSD routers running without pf and there are plenty of legacy implementations supporting RH0. Bring back the function ip6_check_rh0hdr() that I removed a month ago. As an improvement to the prevoius solution, only scan the header chain in ip6_input() if the packet has not been inspected by pf. Both implementations drop packets with RH0 anywhere in the extension header chain. OK mikeb@ henning@
2013-11-14Clean up tabs and a backslash which seemed to have sneeked in in r1.29.Patrick Wildt
"clean that little thingy up" deraadt@
2013-11-13In in6_update_ifa(), don't set the TENTATIVE flag on an IPv6 address thatStefan Sperling
is marked as NODAD. Since we're not gonna do duplicate address detection for this address, the TENTATIVE flag won't get cleared, rendering the address unusable. The existing logic only checked whether DAD was enabled for the interface, but DAD can be configured on a per-address basis. ok sthen@ as part of a larger diff
2013-11-11Replace most of our formating functions to convert IPv4/6 addresses fromMartin Pieuchot
network to presentation format to inet_ntop(). The few remaining functions will be soon converted. ok mikeb@, deraadt@ and moral support from henning@
2013-10-29remove left over bits of omrt6msg, and cleanup the yuckyTheo de Raadt
clone of fd_set for interfaces tested in ports tree build by naddy
2013-10-28kill kame version symbols and sysctlTheo de Raadt
ports tree grep run by sthen
2013-10-28tedu FDDI support and the 3 flavors the driver for DEC devices, evenMartin Pieuchot
miod@ cannot find two boards using the same media. With precious punctuation review from guenther@, thanks! ok deraadt@, henning@
2013-10-27delete UPCALL_TIMING debug code from a the dark agesTheo de Raadt
2013-10-25More _KERNEL namespace cleanup, just in case something out thereTheo de Raadt
includes this.
2013-10-25prettier #ifdef _KERNEL, more like other filesTheo de Raadt
(basically, if they are easier to compare visually for namespace issues, they they are easier to compare .... period!)
2013-10-24place _KERNEL block at endTheo de Raadt
2013-10-24Remove the number of in6_var.h inclusions by moving some functions andMartin Pieuchot
global variables to in6.h. ok deraadt@
2013-10-24Significant namespace cleanup of netinet6 symbols.Theo de Raadt
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
2013-10-23Back when some NRL code was merged into KAME to create the *BSD IPV6Theo de Raadt
stack (factoid: by a bunch of people in my living room), some compatibility #define's were created to shim incompatible inpcb access methods. There was an understanding they would eventually be removed. Since they are error prone, and 1999 is a long time ago, now they die. ok mikeb claudio mpi
2013-10-22Compute the checksum in in_proto_cksum_out, just set the flag inChristian Weisgerber
the UDP stack. ok henning@
2013-10-21Remove comment regarding BSDI.Theo de Raadt
2013-10-21pretty up a disgusting chunkTheo de Raadt
2013-10-21Janitoring. No significant binary change.Theo de Raadt
2013-10-21no more #ifdef KERNELTheo de Raadt