summaryrefslogtreecommitdiffstats
path: root/sys/netinet6/ip6_input.c
Commit message (Collapse)AuthorAgeFilesLines
* Move PFIL_HOOKS and ipfw past the scope checks to allow easy redirection tomlaier2004-03-021-32/+32
| | | | | | | | linklocal. Obtained from: OpenBSD Reviewed by: ume Approved by: bms(mentor)
* scope awareness of ff01:: is not merged, yet. So, clearume2004-03-021-0/+6
| | | | | | embeded form of scopeid for ff01:: for now. Pointed out by: mlaier
* - reject incoming packets to an interface-local multicast address fromume2004-03-011-10/+52
| | | | | | | | the wire. - added a generic scope check, and removed checks for loopback src/dst addresses. Obtained from: KAME
* supported IPV6_RECVPATHMTU socket option.ume2004-02-131-0/+39
| | | | Obtained from: KAME
* Remove RTF_PRCLONING from routing table and adjust users of itandre2003-11-201-1/+1
| | | | | | | | | | | | accordingly. The define is left intact for ABI compatibility with userland. This is a pre-step for the introduction of tcp_hostcache. The network stack remains fully useable with this change. Reviewed by: sam (mentor), bms Reviewed by: -net, -current, core@kame.net (IPv6 parts) Approved by: re (scottl)
* o add a flags parameter to netisr_register that is used to specifysam2003-11-081-1/+2
| | | | | | | | | | | | | | | | whether or not the isr needs to hold Giant when running; Giant-less operation is also controlled by the setting of debug_mpsafenet o mark all netisr's except NETISR_IP as needing Giant o add a GIANT_REQUIRED assertion to the top of netisr's that need Giant o pickup Giant (when debug_mpsafenet is 1) inside ip_input before calling up with a packet o change netisr handling so swi_net runs w/o Giant; instead we grab Giant before invoking handlers based on whether the handler needs Giant o change netisr handling so that netisr's that are marked MPSAFE may have multiple instances active at a time o add netisr statistics for packets dropped because the isr is inactive Supported by: FreeBSD Foundation
* initialize in6_tmpaddrtimer_ch.ume2003-10-311-0/+1
| | | | Obtained from: KAME
* add management part of address selection policy described inume2003-10-301-0/+1
| | | | | | RFC3484. Obtained from: KAME
* ip6_savecontrol() argument is redundantume2003-10-291-4/+3
|
* hide m_tag, again.ume2003-10-291-32/+16
| | | | Requested by: sam
* make sure to accept only IPv6 packet.ume2003-10-281-0/+3
| | | | Obtained from: KAME
* cleanup use of m_tag.ume2003-10-281-21/+21
| | | | Obtained from: KAME
* Switch Advanced Sockets API for IPv6 from RFC2292 to RFC3542ume2003-10-241-56/+33
| | | | | | | | | | (aka RFC2292bis). Though I believe this commit doesn't break backward compatibility againt existing binaries, it breaks backward compatibility of API. Now, the applications which use Advanced Sockets API such as telnet, ping6, mld6query and traceroute6 use RFC3542 API. Obtained from: KAME
* - change scope to zone.ume2003-10-211-3/+3
| | | | | | | | - change node-local to interface-local. - better error handling of address-to-scope mapping. - use in6_clearscope(). Obtained from: KAME
* - add dom_if{attach,detach} framework.ume2003-10-171-6/+2
| | | | | | - transition to use ifp->if_afdata. Obtained from: KAME
* fix horribly botched MFp4 mergesam2003-10-161-7/+7
|
* pfil hooks can modify packet contents so check if the destinationsam2003-10-161-1/+11
| | | | | | | | address has been changed when PFIL_HOOKS is enabled and, if it has, arrange for the proper action by ip*_forward. Submitted by: Pyun YongHyeon Supported by: FreeBSD Foundation
* fixed an endian bug on fragment header scanningume2003-10-101-1/+2
| | | | Obtained from: KAME
* nuke SCOPEDROUTING. Though it was there for a long time,ume2003-10-101-4/+0
| | | | it was never enabled.
* - fix typo in comments.ume2003-10-081-98/+73
| | | | | | | | | | - style. - NULL is not 0. - some variables were renamed. - nuke unused logic. (there is no functional change.) Obtained from: KAME
* return(code) -> return (code)ume2003-10-061-17/+17
| | | | (reduce diffs against KAME)
* randomize IPv6 flowlabel when RANDOM_IP_ID is defined.ume2003-10-011-4/+3
| | | | Obtained from: KAME
* use arc4random()ume2003-10-011-5/+2
|
* o update PFIL_HOOKS support to current API used by netbsdsam2003-09-231-23/+16
| | | | | | | | | | | o revamp IPv4+IPv6+bridge usage to match API changes o remove pfil_head instances from protosw entries (no longer used) o add locking o bump FreeBSD version for 3rd party modules Heavy lifting by: "Max Laier" <max@love2party.net> Supported by: FreeBSD Foundation Obtained from: NetBSD (bits of pfil.h and pfil.c)
* correct malloc flag argumentsam2003-03-121-1/+1
| | | | Reported by: Kris Kennaway <kris@obsecurity.org>
* Update netisr handling; Each SWI now registers its queue, and all queuejlemon2003-03-041-22/+2
| | | | | | | | | | drain routines are done by swi_net, which allows for better queue control at some future point. Packets may also be directly dispatched to a netisr instead of queued, this may be of interest at some installations, but currently defaults to off. Reviewed by: hsu, silby, jayanth, sam Sponsored by: DARPA, NAI Labs
* Back out M_* changes, per decision of the TRB.imp2003-02-191-5/+5
| | | | Approved by: trb
* Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.alfred2003-01-211-5/+5
| | | | Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
* don't reference a pkthdr after M_MOVE_PKTHDR has "remove it"; insteadsam2003-01-061-3/+3
| | | | | | reference the pkthdr now in the destination of the move Sponsored by: Vernier Networks
* Correct mbuf packet header propagation. Previously, packet headerssam2002-12-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | were sometimes propagated using M_COPY_PKTHDR which actually did something between a "move" and a "copy" operation. This is replaced by M_MOVE_PKTHDR (which copies the pkthdr contents and "removes" it from the source mbuf) and m_dup_pkthdr which copies the packet header contents including any m_tag chain. This corrects numerous problems whereby mbuf tags could be lost during packet manipulations. These changes also introduce arguments to m_tag_copy and m_tag_copy_chain to specify if the tag copy work should potentially block. This introduces an incompatibility with openbsd which we may want to revisit. Note that move/dup of packet headers does not handle target mbufs that have a cluster bound to them. We may want to support this; for now we watch for it with an assert. Finally, M_COPYFLAGS was updated to include M_FIRSTFRAG|M_LASTFRAG. Supported by: Vernier Networks Reviewed by: Robert Watson <rwatson@FreeBSD.org>
* o Untangle the confusion with the malloc flags {M_WAITOK, M_NOWAIT} andbmilekic2002-12-191-1/+1
| | | | | | | | | | the mbuf allocator flags {M_TRYWAIT, M_DONTWAIT}. o Fix a bpf_compat issue where malloc() was defined to just call bpf_alloc() and pass the 'canwait' flag(s) along. It's been changed to call bpf_alloc() but pass the corresponding M_TRYWAIT or M_DONTWAIT flag (and only one of those two). Submitted by: Hiten Pandya <hiten@unixdaemons.com> (hiten->commit_count++)
* Tie new "Fast IPsec" code into the build. This involves the usualsam2002-10-161-0/+6
| | | | | | | | | | | | configuration stuff as well as conditional code in the IPv4 and IPv6 areas. Everything is conditional on FAST_IPSEC which is mutually exclusive with IPSEC (KAME IPsec implmentation). As noted previously, don't use FAST_IPSEC with INET6 at the moment. Reviewed by: KAME, rwatson Approved by: silence Supported by: Vernier Networks
* Replace aux mbufs with packet tags:sam2002-10-161-38/+23
| | | | | | | | | | | | | | | | | | | o instead of a list of mbufs use a list of m_tag structures a la openbsd o for netgraph et. al. extend the stock openbsd m_tag to include a 32-bit ABI/module number cookie o for openbsd compatibility define a well-known cookie MTAG_ABI_COMPAT and use this in defining openbsd-compatible m_tag_find and m_tag_get routines o rewrite KAME use of aux mbufs in terms of packet tags o eliminate the most heavily used aux mbufs by adding an additional struct inpcb parameter to ip_output and ip6_output to allow the IPsec code to locate the security policy to apply to outbound packets o bump __FreeBSD_version so code can be conditionalized o fixup ipfilter's call to ip_output based on __FreeBSD_version Reviewed by: julian, luigi (silent), -arch, -net, darren Approved by: julian, silence from everyone else Obtained from: openbsd (mostly) MFC after: 1 month
* __FreeBSD__ is not a compiler constant. We must useume2002-05-311-1/+1
| | | | | | __FreeBSD_version here. Submitted by: rwatson
* Back out my lats commit of locking down a socket, it conflicts with hsu's work.tanimura2002-05-311-4/+1
| | | | Requested by: hsu
* Lock down a socket, milestone 1.tanimura2002-05-201-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o Add a mutex (sb_mtx) to struct sockbuf. This protects the data in a socket buffer. The mutex in the receive buffer also protects the data in struct socket. o Determine the lock strategy for each members in struct socket. o Lock down the following members: - so_count - so_options - so_linger - so_state o Remove *_locked() socket APIs. Make the following socket APIs touching the members above now require a locked socket: - sodisconnect() - soisconnected() - soisconnecting() - soisdisconnected() - soisdisconnecting() - sofree() - soref() - sorele() - sorwakeup() - sotryfree() - sowakeup() - sowwakeup() Reviewed by: alfred
* just merged cosmetic changes from KAME to ease sync between KAME and FreeBSD.suz2002-04-191-8/+8
| | | | | | | (based on freebsd4-snap-20020128) Reviewed by: ume MFC after: 1 week
* Change callers of mtx_init() to pass in an appropriate lock type name. Injhb2002-04-041-1/+1
| | | | | | | most cases NULL is passed, but in some cases such as network driver locks (which use the MTX_NETWORK_LOCK macro) and UMA zone locks, a name is used. Tested on: i386, alpha, sparc64
* Change the suser() API to take advantage of td_ucred as well as do ajhb2002-04-011-2/+6
| | | | | | | | | | | | general cleanup of the API. The entire API now consists of two functions similar to the pre-KSE API. The suser() function takes a thread pointer as its only argument. The td_ucred member of this thread must be valid so the only valid thread pointers are curthread and a few kernel threads such as thread0. The suser_cred() function takes a pointer to a struct ucred as its first argument and an integer flag as its second argument. The flag is currently only used for the PRISON_ROOT flag. Discussed on: smp@
* Remove duplicate extern declarations to silence warnings.alfred2002-03-191-1/+0
|
* Initialise the intrq_present fields at runtime, not link time. This allowsmsmith2002-01-081-1/+1
| | | | | | us to load protocols at runtime, and avoids the use of common variables. Also fix the ip6_intrq assignment so that it works at all.
* Make faith loadable, unloadable, and clonable.brooks2001-09-251-4/+0
|
* KSE Milestone 2julian2001-09-121-0/+1
| | | | | | | | | | | | | | Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process. Sorry john! (your next MFC will be a doosie!) Reviewed by: peter@freebsd.org, dillon@freebsd.org X-MFC after: ha ha ha ha
* gif(4) and stf(4) modernization:brooks2001-07-021-1/+0
| | | | | | | | | | | - Remove gif dependencies from stf. - Make gif and stf into modules - Make gif cloneable. PR: kern/27983 Reviewed by: ru, ume Obtained from: NetBSD MFC after: 1 week
* Sync with recent KAME.ume2001-06-111-278/+555
| | | | | | | | | | | | | | | | | | This work was based on kame-20010528-freebsd43-snap.tgz and some critical problem after the snap was out were fixed. There are many many changes since last KAME merge. TODO: - The definitions of SADB_* in sys/net/pfkeyv2.h are still different from RFC2407/IANA assignment because of binary compatibility issue. It should be fixed under 5-CURRENT. - ip6po_m member of struct ip6_pktopts is no longer used. But, it is still there because of binary compatibility issue. It should be removed under 5-CURRENT. Reviewed by: itojun Obtained from: KAME MFC after: 3 weeks
* M_COPY_PKTHDR has to be done before MCLGET.ume2001-05-221-4/+5
| | | | Obtained from: KAME
* Fix typo in previous commit.ume2001-04-201-1/+1
| | | | Submitted by: JINMEI Tatuya <jinmei@isl.rdc.toshiba.co.jp>
* - Fix to receive icmp6 echo reply within the host itself to ff02::1.ume2001-04-191-2/+32
| | | | | | | - Fix to receive icmp6 echo reply to link-local of itself. Reported by: Eriya Akasaka <eakasaka@rodfbs.org> Submitted by: JINMEI Tatuya <jinmei@isl.rdc.toshiba.co.jp>
* - correct logic of per-address input packet counts for lo0ume2001-04-051-16/+29
| | | | | | - reject packets to fe80::xxxx%lo0 (xxxx != 1) Submitted by: JINMEI Tatuya <jinmei@isl.rdc.toshiba.co.jp>
* Make per-address input packet counts for lo0 work.ume2001-03-281-6/+22
| | | | | Reported by: bmah Submitted by: Noriyasu KATO <noriyasu.kato@toshiba.co.jp> (via itojun)
OpenPOWER on IntegriCloud