Home | History | Annotate | Download | only in netinet
History log of /src/sys/netinet/in_var.h
RevisionDateAuthorComments
 1.105  11-Jun-2025  ozaki-r in: get rid of unused argument from ip_newid() and ip_newid_range()
 1.104  05-Jun-2025  ozaki-r Apply if_first_addr() and if_first_addr_psref()
 1.103  19-Nov-2022  yamt Make arp have its own mowner

This helped me to debug mbuf leaks in arp.
(if_arp.c rev. 1.298)
 1.102  08-Mar-2021  christos mv <sys/cprng.h> include to the kernel portion
 1.101  08-Mar-2021  christos reinstate a simple version of ip_randomid()
 1.100  08-Mar-2021  christos remove now unused pseudo-random ip id code.
 1.99  08-Mar-2021  christos Use a random IPv4 ID because the shuffling algorithm used before could expose
information (Amit Klein)
 1.98  11-Sep-2020  roy branches: 1.98.2;
inet: Add SIOCGNBRINFO to retrieve neighbor state about an address
 1.97  29-Nov-2018  ozaki-r branches: 1.97.4;
Introduce and use ip_dad_enabled() and ip6_dad_enabled() functions
 1.96  19-Apr-2018  christos branches: 1.96.2;
s/static inline/static __inline/g for consistency.
 1.95  12-May-2017  ryo branches: 1.95.2; 1.95.8;
replace in_fmtaddr() by IN_PRINT(), and delete function in_fmtaddr()
 1.94  16-Jan-2017  christos branches: 1.94.4;
really, use.
 1.93  16-Jan-2017  christos rename arplog -> ARPLOG to make it clear that it is a macro and tuck-in the
buffer used for address formatting.
 1.92  16-Jan-2017  ryo Make ip6_sprintf(), in_fmtaddr(), lla_snprintf() and icmp6_redirect_diag() mpsafe.

Reviewed by ozaki-r@
 1.91  02-Jan-2017  christos branches: 1.91.2;
- You can't just call the pfil hook to remove an address before an address
is removed! Hold a reference instead, remove it, and then free it.
- GC iatoifa()
 1.90  06-Dec-2016  knakahara add API to manipulate ifa->ia_hash and ia_hash_pslist_entry, and fix ia_hash_pslist_entry race by using them.

in_ifaddr_lock is required before writing ifa->ia_hash and
ia_hash_pslist_entry to serialize writer processings.

reviewed by ozaki-r@n.o.
 1.89  18-Nov-2016  knakahara We must use PSLIST_ENTRY_DESTROY after PSLIST_WRITER_REMOVE and waiting all readers done.

And then, if we want to re-insert the removed pslist element, we need to
call PSLIST_ENTERY_INIT again.

advised by riastradh@n.o and reviewed by ozaki-r@n.o, thanks.
 1.88  11-Oct-2016  roy Implement RFC 5227 2.4 Ongoing Conflict Detection and Address Defence.

If ip_dad_count is 0, then the conflict is just logged and the address
is not marked as duplicated.
 1.87  29-Sep-2016  roy in_ifscrub is no longer needed.
 1.86  29-Sep-2016  roy Set dstaddr in in_ifinit so that sppp consumers announce the correct
dstaddr in routing messages.
 1.85  18-Sep-2016  christos Dealing with arplog is a bit more complicated...
 1.84  17-Sep-2016  christos protect arplog with INET
 1.83  16-Sep-2016  roy Drop hostIsNew from in_ifinit, let the function work out if the address
has changed.
Sync address flag setup with the IPv6 counterpart.
When scrubbing the address, or setting up the address fails, restore the
old address flags as well as the old address.
 1.82  15-Sep-2016  roy Allow arplog to be used outside of if_arp.c
 1.81  13-Sep-2016  christos remove trailing spaces. userland does not catch this?
 1.80  13-Sep-2016  christos add bits for address flags
 1.79  01-Aug-2016  ozaki-r Apply pserialize and psref to struct ifaddr and its variants

This change makes struct ifaddr and its variants (in_ifaddr and in6_ifaddr)
MP-safe by using pserialize and psref. At this moment, pserialize_perform
and psref_target_destroy are disabled because (1) we don't need them
because of softnet_lock (2) they cause a deadlock because of softnet_lock.
So we'll enable them when we remove softnet_lock in the future.
 1.78  08-Jul-2016  ozaki-r branches: 1.78.2;
Replace macros to get an IP address with proper inline functions

The inline functions are more friendly for applying psz/psref;
they consist of only simple interations.
 1.77  08-Jul-2016  ozaki-r Kill remaining use of the old lists of IP addresses
 1.76  06-Jul-2016  ozaki-r Switch the IPv4 address list to pslist(9)

Note that we leave the old list just in case; it seems there are some
kvm(3) users accessing the list. We can remove it later if we confirmed
nobody does actually.
 1.75  06-Jul-2016  ozaki-r Add and use pslist(9)-based hashtable for IPv4 addresses

Note that we leave the old hashtable to keep vmstat -H working.
 1.74  31-Aug-2015  ozaki-r Replace ARP cache (llinfo) with lltable/llentry

Highlights of the change are:
- Use llentry instead of llinfo to manage ARP caches
- ARP specific data are stored in the hashed list
of an interface instead of the global list (llinfo_arp)
- Fine-grain locking on llentry
- arptimer (callout) per ARP cache
- the global timer callout with the big locks can be
removed (though softnet_lock is still required for now)
- net.inet.arp.prune is now obsoleted
- it was the interval of the global timer callout
- net.inet.arp.refresh is now obsoleted
- it was a parameter that prevents expiration of active caches
- Removed to simplify the timer logic, but we may be able to
restore the feature if really needed

Proposed on tech-kern and tech-net.
 1.73  31-Aug-2015  ozaki-r Hook up lltable/llentry with the kernel (and rumpkernel)

It is built and initialized on bootup, but there is no user for now.

Most codes in in.c are imported from FreeBSD as well as lltable/llentry.
 1.72  16-May-2015  roy Separate ARP handling DAD from inet.
This is done by signalling the intent to try tentative addresses
and then clearing the intent once the address is setup.
When the ARP handler is installed (arp_ifinit) then it adds
dad start and stop functions to the address which are used instead
of calling ARP directly.
 1.71  02-May-2015  roy Add IPv4 address flags IN_IFF_TENTATIVE, IN_IFF_DUPLICATED and
IN_IFF_DETATCHED to mimic the IPv6 address behaviour.
Add SIOCGIFAFLAG_IN ioctl to retrieve the address flag via the
ifreq structure.
Add IPv4 DAD detection via the ARP methods described in RFC 5227.
Add sysctls net.inet.ip.dad_count and net.inet.arp.debug.

Discussed on tech-net@
 1.70  01-Jul-2014  rtr branches: 1.70.4;
fix parameter types in pr_ioctl, called xx_control() functions and remove
abuse of pointer to struct mbuf type.

param2 changed to u_long type and uses parameter name 'cmd' (ioctl command)
param3 changed to void * type and uses parameter name 'data'
param4 changed to struct ifnet * and uses parameter name 'ifp'
param5 has been removed (formerly struct lwp *) and uses of 'l' have been
replaced with curlwp from curproc(9).

callers have had (now unnecessary) casts to struct mbuf * removed, called
code has had (now unnecessary) casts to u_long, void * and struct ifnet *
respectively removed.

reviewed by rmind@
 1.69  05-Jun-2014  rmind - Implement pktqueue interface for lockless IP input queue.
- Replace ipintrq and ip6intrq with the pktqueue mechanism.
- Eliminate kernel-lock from ipintr() and ip6intr().
- Some preparation work to push softnet_lock out of ipintr().

Discussed on tech-net.
 1.68  29-May-2014  rmind Make IGMP and multicast group management code MP-safe. Use a read-write
lock to protect the hash table of multicast address records; also, make it
private and eliminate some macros. In the long term, the lookup path ought
to be optimised.
 1.67  23-May-2014  rmind Make ip_input() static, there is no need to expose it.
 1.66  22-May-2014  rmind - Add in_init() and move some functions, variables and sysctls into in.c
where they belong to. Make some functions and variables static.
- ip_input.c: reduce some #ifdefs, cleanup a little.
- Move some sysctls into ip_flow.c as they belong there.

No functional change.
 1.65  05-Nov-2010  rmind branches: 1.65.18; 1.65.22; 1.65.32;
ip_randomid: make mechanism MP-safe and more modular.

OK matt@
 1.64  19-Jul-2010  rmind Abstract IP reassembly into single generic routine - ip_reass_packet().
Make struct ipq private and struct ipqent not visible to userland.
Push ip_len adjustment into reassembly layer.

OK matt@
 1.63  13-Jul-2010  rmind Split-off IPv4 re-assembly mechanism into a separate module. Abstract
into ip_reass_init(), ip_reass_lookup(), etc (note: abstraction is not
yet complete). No functional changes to the actual mechanism.

OK matt@
 1.62  28-Apr-2008  martin branches: 1.62.20; 1.62.22;
Remove clause 3 and 4 from TNF licenses
 1.61  06-Feb-2008  matt branches: 1.61.6; 1.61.8; 1.61.10;
Add a new ip_id generation scheme based on a Fisher-Yates shuffle over a
sliding window. XXX replace use of arc4random RSN.
 1.60  05-Dec-2007  dyoung Extract common code, creating a subroutine if_purgeaddrs(ifp,
family, purgeaddr) which applies function `purgeaddr' to each
address on `ifp' belonging to `family'.
 1.59  01-Sep-2007  dyoung branches: 1.59.6; 1.59.8;
Use ifreq_setaddr(), ifreq_getaddr(), sockaddr_in_init(), and
sockaddr_copy(). Constify. Compare pointers with NULL, not 0.
Don't "test truth" of pointers, but compare with NULL.
 1.58  04-Mar-2007  christos branches: 1.58.2; 1.58.10; 1.58.14; 1.58.16;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.57  23-Jul-2006  ad branches: 1.57.10;
Use the LWP cached credentials where sane.
 1.56  10-Dec-2005  elad branches: 1.56.4; 1.56.8;
Multiple inclusion protection, as suggested by christos@ on tech-kern@
few days ago.
 1.55  09-Mar-2005  atatat branches: 1.55.4;
Add the following nodes to the sysctl tree:

net.local.stream.pcblist
net.local.dgram.pcblist
net.inet.tcp.pcblist
net.inet.udp.pcblist
net.inet.raw.pcblist
net.inet6.tcp6.pcblist
net.inet6.udp6.pcblist
net.inet6.raw6.pcblist

which allow retrieval of the pcbs in use for those protocols. The
struct involved is 32/64 bit clean and incorporates parts of struct
inpcb, struct unpcb, a bit of struct tcpcb, and two socket addresses.
 1.54  24-Jan-2005  matt branches: 1.54.2;
Add IFNET_FOREACH and IFADDR_FOREACH macros and start using them.
 1.53  21-Apr-2004  itojun branches: 1.53.4;
no space between function name and paren: foo (blah) -> foo(blah)
 1.52  18-Apr-2004  matt De __P()
 1.51  11-Nov-2003  jonathan Change global head-of-local-IP-address list from in_ifaddr to
in_ifaddrhead. Recent changes in struct names caused a namespace
collision in fast-ipsec, which are most cleanly fixed by using
"in_ifaddrhead" as the listhead name.
 1.50  23-Oct-2003  mycroft Remove all the code to maintain ia_inpcbs. This information was only used to
close sockets on address changes, which was deemed to be a bad idea and was
summarily removed, so there is no point in wasting effort on maintaining it
any more.
 1.49  18-Aug-2003  itojun since we cope with packets with addess on !IFF_UP interface in ip_input()
properly, IFF_UP check in INADDR_TO_IA is obsolete (or too much).
 1.48  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.47  14-Jul-2003  itojun correct igmp. from love
 1.46  26-Jun-2003  itojun branches: 1.46.2;
tabify
 1.45  15-Jun-2003  matt Change the way multicasts are kept. They now use a hash table in the same
manner as the ifaddr hash table. By doing this, the mkludge code can go
away. At the same time, keep track of what pcbs are using what ifaddr and
when an address is deleted from an interface, notify/abort all sockets
that have that address as a source. Switch IGMP and multicasts to use pools
for allocation. Fix a number of potential problems in the igmp code where
allocation failures could cause a trap/panic.
 1.44  12-May-2002  matt Eliminate commons.
 1.43  04-Nov-2001  matt Convert netinet to not use the internal <sys/queue.h> field names
but instead the access macros. Use the FOREACH macros where appropriate.
 1.42  04-Nov-2001  matt Change a few variable/tables to const since they are read-only.
 1.41  08-Oct-2000  enami branches: 1.41.2; 1.41.4; 1.41.8;
- Keep track of allhost multicast address record we joined into
each in_ifaddr and delete it when an address is purged.
- Don't simply try to delete a multicast address record listed in the
ia_multiaddrs. It results a dangling pointer. Let who holds a
reference to it to delete it.
 1.40  08-Oct-2000  itojun implement multicast kludge table for IPv4.
- when all the interface address is removed from an interface, and there's
multicast groups still left joined, keep it in kludge table.
- when an interface address is added again, recover multicast groups from
kludge table.
this will avoid problem with dangling in_ifaddr on pcmcia card removal,
due to the link from multicast group info (in_multi).

the code is basically from sys/netinet6/in6.c (jinmei@kame).

pointed out by: Shiva Shenoy <shiva_s@yahoo.com>
 1.39  30-Mar-2000  augustss branches: 1.39.4;
Remove register declarations.
 1.38  30-Mar-2000  simonb Delete redundant decl of in_socktrim() - it's in <netinet/in.h>.
 1.37  02-Feb-2000  thorpej PRU_PURGEADDR -> PRU_PURGEIF, per a discussion w/ itojun. In the IPv4
and IPv6 code, also use this to traverse PCB tables, looking for cached
routes referencing the dying ifnet, forcing them to be refreshed.
 1.36  01-Feb-2000  thorpej First-draft if_detach() implementation, originally from Bill Studnemund,
although this version has been changed somewhat:
- reference counting on ifaddrs isn't as complete as Bill's original
work was. This is hard to get right, and we should attack one
protocol at a time.
- This doesn't do reference counting or dynamic allocation of ifnets yet.
- This version introduces a new PRU -- PRU_PURGEADDR, which is used to
purge an ifaddr from a protocol. The old method Bill used didn't work
on all protocols, and it only worked on some because it was Very Lucky.

This mostly works ... i.e. works for my USB Ethernet, except for a dangling
ifaddr reference left by the IPv6 code; have not yet tracked this down.
 1.35  01-Jul-1999  itojun branches: 1.35.2;
IPv6 kernel code, based on KAME/NetBSD 1.4, SNAP kit 19990628.
(Sorry for a big commit, I can't separate this into several pieces...)
Pls check sys/netinet6/TODO and sys/netinet6/IMPLEMENTATION for details.

- sys/kern: do not assume single mbuf, accept chained mbuf on passing
data from userland to kernel (or other way round).
- "midway" ATM card: ATM PVC pseudo device support, like those done in ALTQ
package (ftp://ftp.csl.sony.co.jp/pub/kjc/).
- sys/netinet/tcp*: IPv4/v6 dual stack tcp support.
- sys/netinet/{ip6,icmp6}.h, sys/net/pfkeyv2.h: IETF document assumes those
file to be there so we patch it up.
- sys/netinet: IPsec additions are here and there.
- sys/netinet6/*: most of IPv6 code sits here.
- sys/netkey: IPsec key management code
- dev/pci/pcidevs: regen

In my understanding no code here is subject to export control so it
should be safe.
 1.34  16-May-1999  thorpej Sigh, fix some broken logic in the last change to INADDR_TO_IA(), and make
the macro a little more obvious. Should fix kern/7589, from Jens A Nilsson.
 1.33  03-May-1999  thorpej In INADDR_TO_IA(), skip interfaces which are not up. Revert previous change
to ip_input.c to check the interface status after INADDR_TO_IA().

Fix cooked up by Heiko Rupp and myself.

Fixes PR 7480.
 1.32  19-Dec-1998  thorpej branches: 1.32.2;
Reverse the copyright-notice-swap. It went against existing practice.
 1.31  30-Sep-1998  tls branches: 1.31.4;
Switch order of TNF and UCB copyrights so UCB copyright is first; this seems more appropriate since UCB wrote the original code, after all.
 1.30  14-Aug-1998  scottr Fix the NEXT_IA_WITH_SAME_ADDR macro introduced in 1.27: it was finding
the first in_ifaddr structure with a different internet address! Reverse
the sense of the test. Spotted by and fix from Eric Haszlakiewicz.
 1.29  29-Jul-1998  tls change IN_IFADDR_HASH_SIZE to 509, which actually uses no more space than 293 due to rounding up to nearest power of two in hashinit.
 1.28  16-Jul-1998  tls Put original hash function back. It wastes a little bit of space, but is much more even -- think of the case of a web service provider, some of whose customers end up getting 'inferior service' because they're on addresses that happen to be out at the end of a hash chain. With webservers with thousands of addresses, this is a real issue. If the wasted space is a big deal, we could pick a prime number that's slightly _less_ than a power of two...
 1.27  02-Jul-1998  is The rewrite of if_arp.c to work with the hashed interface address lists
(1.44) missed a test for the right interface, making some machines answer
to some bogus arp requests (like for WHO-HAS 127.0.0.1).

The quick patch in 1.46-1.47 does not work for so-called "unnumbered"
interfaces, that is, (point-to-point) interfaces that share their local
address with another (e.g., the Ethernet) interface.

We add a macro to in_var.h, to step (in the current implementation) through
the hash chain and fine more entries with the same address, and use that
in if_arp.c to find one which belongs to our interface.
 1.26  01-Jun-1998  thorpej Eek, we were wasting almost half of the in_ifaddr hash space by modulo'ing
with IN_IFADDR_HASH_SIZE. Instead, AND with the hash mask computed by
hashinit().
 1.25  29-May-1998  matt Change arp so its console log messages print out IP addresses in
dotted quad format instead of hex.
 1.24  04-May-1998  matt Default IP flow to being enabled. Add a sysctl to control the maximum
number of flows (net.inet.ip.maxflows). If set to 0, will disable fast
path forwarding.
 1.23  29-Apr-1998  matt Add support for "fast" forwarding. Add hooks in if_ethersubr.c and
if_fddisubr.c to fastpath IP forwarding. If ip_forward successfully
forwards a packet, it will create a cache (ipflow) entry. ether_input
and fddi_input will first call ipflow_fastforward with the received
packet and if the packet passes enough tests, it will be forwarded (the
ttl is decremented and the cksum is adjusted incrementally).
 1.22  15-Feb-1998  tls Add correct copyright notice for IP address hash change. This code is donated to TNF by the original copyright holder, Panix.
 1.21  13-Feb-1998  tls Change list of interface IP addresses to a hash. Improves performance on hosts with a large number of IP addresses significantly.
 1.20  10-Feb-1998  perry add/cleanup multiple inclusion protection.
 1.19  05-Jan-1998  thorpej Finishing merging 4.4BSD-Lite2 netinet. At this point, the only changes
left were SCCS IDs and Copyright dates.
 1.18  23-Jul-1997  thorpej branches: 1.18.6;
Pull SYN_cache_branch down into the main line.
 1.17  22-May-1996  mycroft branches: 1.17.8;
Pass a proc pointer down to the usrreq and pcbbind functions for PRU_ATTACH, PRU_BIND and
PRU_CONTROL. The usrreq interface really needs to be split up, but this will have to wait.
Remove SS_PRIV completely.
 1.16  13-Feb-1996  christos branches: 1.16.4;
netinet prototypes
 1.15  12-Jun-1995  mycroft Various cleanup, including:
* Convert several data structures to use queue.h.
* Split in_pcbnotify() into two parts; one for notifying a specific PCB, and
one for notifying all PCBs for a particular foreign address.
 1.14  04-Jun-1995  mycroft Don't cast things unnecessarily.
 1.13  01-Jun-1995  mycroft Avoid byte-swapping IP addresses at run time.
 1.12  31-May-1995  mycroft Implement IGMP v2. Based on the Multicast 3.5 distribution.
 1.11  13-Apr-1995  cgd be a bit more careful and explicit with types. (basically a large no-op.)
 1.10  29-Mar-1995  briggs KERNEL -> _KERNEL
 1.9  26-Mar-1995  jtc KERNEL -> _KERNEL
 1.8  29-Jun-1994  cgd New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
 1.7  13-May-1994  mycroft Update to 4.4-Lite networking code, with a few local changes.
 1.6  09-Jan-1994  mycroft Prototype the rest.
 1.5  08-Jan-1994  mycroft Fix some inconsistent spacing; spaces at the end of lines, etc.
 1.4  08-Dec-1993  hpeyerl more Multicast stuff.
>From Chris Maeda, cmaeda@cs.washington.edu
These patches are derived from the IP Multicast patches for BSDI.
 1.3  20-May-1993  cgd more rcsid additions and file header cleanups
 1.2  19-Apr-1993  mycroft Add consistent multiple-inclusion protection.
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.3  05-Jan-1998  thorpej Import sys/netinet from 4.4BSD-Lite2 for reference purposes.
 1.1.1.2  05-Jan-1998  thorpej Import sys/netinet from 4.4BSD-Lite for reference purposes.
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.16.4.1  11-Dec-1996  mycroft From trunk:
Eliminate SS_PRIV; instead, pass down a proc pointer to the usrreq methods
that need it.
Fix numerous memory leaks and bogus return values.
 1.17.8.1  14-May-1997  mellon Add prototype for in_setmaxmtu()
 1.18.6.1  01-Oct-1998  cgd pull up revisions 1.21-1.22, 1.27, 1.29-1.30, 1.31 (via patch) from
trunk. (tls)
 1.31.4.1  11-Dec-1998  kenh The beginnings of interface detach support. Still some bugs, but mostly
works for me.

This work was originally by Bill Studenmund, and cleaned up by me.
 1.32.2.2  07-Jun-1999  perry pullup 1.33->1.34 (thorpej): fix INADDR_TO_IA()
 1.32.2.1  03-May-1999  perry branches: 1.32.2.1.2; 1.32.2.1.4;
pullup 1.32->1.33 (thorpej)
 1.32.2.1.4.3  30-Nov-1999  itojun bring in latest KAME (as of 19991130, KAME/NetBSD141) into kame branch
just for reference purposes.
This commit includes 1.4 -> 1.4.1 sync for kame branch.

The branch does not compile at all (due to the lack of ALTQ and some other
source code). Please do not try to modify the branch, this is just for
referenre purposes.

synchronization to latest KAME will take place on HEAD branch soon.
 1.32.2.1.4.2  06-Jul-1999  itojun KAME/NetBSD 1.4, SNAP kit 1999/07/05.
NOTE: this branch is just for reference purposes (i.e. for taking cvs diff).
do not touch anything on the branch. actual work must be done on HEAD branch.
 1.32.2.1.4.1  28-Jun-1999  itojun KAME/NetBSD 1.4 SNAP kit, dated 19990628.

NOTE: this branch (kame) is used just for refernce. this may not compile
due to multiple reasons.
 1.32.2.1.2.2  01-Jul-1999  thorpej Sync w/ -current.
 1.32.2.1.2.1  21-Jun-1999  thorpej Sync w/ -current.
 1.35.2.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.39.4.1  17-Oct-2000  tv Pullup 1.41 [enami]:
- Keep track of allhost multicast address record we joined into
each in_ifaddr and delete it when an address is purged.
- Don't simply try to delete a multicast address record listed in the
ia_multiaddrs. It results a dangling pointer. Let who holds a
reference to it to delete it.

Also 1.40 [itojun, req by enami]:
implement multicast kludge table for IPv4.
- when all the interface address is removed from an interface, and there's
multicast groups still left joined, keep it in kludge table.
- when an interface address is added again, recover multicast groups from
kludge table.
this will avoid problem with dangling in_ifaddr on pcmcia card removal,
due to the link from multicast group info (in_multi).
 1.41.8.1  12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.41.4.2  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.41.4.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.41.2.2  20-Jun-2002  nathanw Catch up to -current.
 1.41.2.1  14-Nov-2001  nathanw Catch up to -current.
 1.46.2.6  11-Dec-2005  christos Sync with head.
 1.46.2.5  01-Apr-2005  skrll Sync with HEAD.
 1.46.2.4  04-Feb-2005  skrll Sync with HEAD.
 1.46.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.46.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.46.2.1  03-Aug-2004  skrll Sync with HEAD
 1.53.4.1  29-Apr-2005  kent sync with -current
 1.54.2.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.55.4.5  11-Feb-2008  yamt sync with head.
 1.55.4.4  07-Dec-2007  yamt sync with head
 1.55.4.3  03-Sep-2007  yamt sync with head.
 1.55.4.2  30-Dec-2006  yamt sync with head.
 1.55.4.1  21-Jun-2006  yamt sync with head.
 1.56.8.1  11-Aug-2006  yamt sync with head
 1.56.4.1  09-Sep-2006  rpaulo sync with head
 1.57.10.1  12-Mar-2007  rmind Sync with HEAD.
 1.58.16.3  23-Mar-2008  matt sync with HEAD
 1.58.16.2  09-Jan-2008  matt sync with HEAD
 1.58.16.1  06-Nov-2007  matt sync with HEAD
 1.58.14.2  09-Dec-2007  jmcneill Sync with HEAD.
 1.58.14.1  03-Sep-2007  jmcneill Sync with HEAD.
 1.58.10.1  03-Sep-2007  skrll Sync with HEAD.
 1.58.2.1  09-Oct-2007  ad Sync with head.
 1.59.8.1  08-Dec-2007  ad Sync with head.
 1.59.6.2  18-Feb-2008  mjf Sync with HEAD.
 1.59.6.1  08-Dec-2007  mjf Sync with HEAD.
 1.61.10.1  16-May-2008  yamt sync with head.
 1.61.8.1  18-May-2008  yamt sync with head.
 1.61.6.1  02-Jun-2008  mjf Sync with HEAD.
 1.62.22.1  05-Mar-2011  rmind sync with head
 1.62.20.1  06-Nov-2010  uebayasi Sync with HEAD.
 1.65.32.1  10-Aug-2014  tls Rebase.
 1.65.22.1  17-Jul-2013  rmind Checkpoint work in progress:
- Move PCB structures under __INPCB_PRIVATE, adjust most of the callers
and thus make IPv4 PCB structures mostly opaque. Any volunteers for
merging in6pcb with inpcb (see rpaulo-netinet-merge-pcb branch)?
- Move various global vars to the modules where they belong, make them static.
- Some preliminary work for IPv4 PCB locking scheme.
- Make raw IP code mostly MP-safe. Simplify some of it.
- Rework "fast" IP forwarding (ipflow) code to be mostly MP-safe. It should
run from a software interrupt, rather than hard.
- Rework tun(4) pseudo interface to be MP-safe.
- Work towards making some other interfaces more strict.
 1.65.18.2  03-Dec-2017  jdolecek update from HEAD
 1.65.18.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.70.4.7  28-Aug-2017  skrll Sync with HEAD
 1.70.4.6  05-Feb-2017  skrll Sync with HEAD
 1.70.4.5  05-Dec-2016  skrll Sync with HEAD
 1.70.4.4  05-Oct-2016  skrll Sync with HEAD
 1.70.4.3  09-Jul-2016  skrll Sync with HEAD
 1.70.4.2  22-Sep-2015  skrll Sync with HEAD
 1.70.4.1  06-Jun-2015  skrll Sync with HEAD
 1.78.2.4  20-Mar-2017  pgoyette Sync with HEAD
 1.78.2.3  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.78.2.2  04-Nov-2016  pgoyette Sync with HEAD
 1.78.2.1  06-Aug-2016  pgoyette Sync with HEAD
 1.91.2.1  21-Apr-2017  bouyer Sync with HEAD
 1.94.4.1  19-May-2017  pgoyette Resolve conflicts from previous merge (all resulting from $NetBSD
keywork expansion)
 1.95.8.2  26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.95.8.1  22-Apr-2018  pgoyette Sync with HEAD
 1.95.2.1  09-Mar-2021  martin Pull up following revision(s) (requested by christos in ticket #1662):

sys/netinet/tcp_subr.c: revision 1.286
sys/netinet/tcp_timer.c: revision 1.96
sys/netinet/in_var.h: revision 1.102
sys/netinet/in_var.h: revision 1.99

Don't increment the iss sequence on each connection because it exposes
information (Amit Klein)

Add some randomness to the iss offset

Use a random IPv4 ID because the shuffling algorithm used before could expose
information (Amit Klein)

mv <sys/cprng.h> include to the kernel portion
 1.96.2.1  10-Jun-2019  christos Sync with HEAD
 1.97.4.1  09-Mar-2021  martin Pull up following revision(s) (requested by christos in ticket #1229):

sys/netinet/tcp_subr.c: revision 1.286
sys/netinet/tcp_timer.c: revision 1.96
sys/netinet/in_var.h: revision 1.102
sys/netinet/in_var.h: revision 1.99

Don't increment the iss sequence on each connection because it exposes
information (Amit Klein)

Add some randomness to the iss offset

Use a random IPv4 ID because the shuffling algorithm used before could expose
information (Amit Klein)

mv <sys/cprng.h> include to the kernel portion
 1.98.2.1  03-Apr-2021  thorpej Sync with HEAD.

RSS XML Feed