Home | History | Annotate | Download | only in netinet
History log of /src/sys/netinet/in_selsrc.c
RevisionDateAuthorComments
 1.17  07-Jul-2016  ozaki-r Switch the address list of intefaces to pslist(9)

As usual, we leave the old list to avoid breaking kvm(3) users.
 1.16  21-Sep-2015  skrll Make this compile again
 1.15  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.14  24-Aug-2015  pooka sprinkle _KERNEL_OPT
 1.13  08-Jun-2015  roy Don't set errno. Thanks to skrll@
 1.12  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.11  25-Feb-2014  pooka branches: 1.11.6;
Ensure that the top level sysctl nodes (kern, vfs, net, ...) exist before
the sysctl link sets are processed, and remove redundancy.

Shaves >13kB off of an amd64 GENERIC, not to mention >1k duplicate
lines of code.
 1.10  21-Oct-2013  christos fix type of sysctl, from nisimura@
 1.9  02-Jun-2012  dsl branches: 1.9.2; 1.9.4;
Add some pre-processor magic to verify that the type of the data item
passed to sysctl_createv() actually matches the declared type for
the item itself.
In the places where the caller specifies a function and a structure
address (typically the 'softc') an explicit (void *) cast is now needed.
Fixes bugs in sys/dev/acpi/asus_acpi.c sys/dev/bluetooth/bcsp.c
sys/kern/vfs_bio.c sys/miscfs/syncfs/sync_subr.c and setting
AcpiGbl_EnableAmlDebugObject.
(mostly passing the address of a uint64_t when typed as CTLTYPE_INT).
I've test built quite a few kernels, but there may be some unfixed MD
fallout. Most likely passing &char[] to char *.
Also add CTLFLAG_UNSIGNED for unsiged decimals - not set yet.
 1.8  19-Oct-2009  rmind branches: 1.8.12;
Drop 3rd and 4th clauses from David Young's license.
Reviewed and approved by dyoung@ (copyright holder).
 1.7  30-Aug-2009  dyoung Stop the admin from creating nodes under net.inet.ip.interfaces or
net.inet.ip.interfaces.<ifname>.
 1.6  04-Dec-2007  dyoung branches: 1.6.16; 1.6.26; 1.6.34;
Use IFADDR_FOREACH().
 1.5  22-Feb-2007  dyoung branches: 1.5.16; 1.5.18; 1.5.24; 1.5.26;
Reverse sense of preference numbers: prefer source addresses with
higher preference numbers. Thanks to Mihai Chelaru for pointing
out my mistake.
 1.4  22-Feb-2007  dyoung Add net.inet.ip.selectsrc.default even if GETIFA_DEBUG is not
#define'd.
 1.3  16-Nov-2006  christos branches: 1.3.2; 1.3.4; 1.3.6; 1.3.8; 1.3.10;
__unused removal on arguments; approved by core.
 1.2  13-Nov-2006  dyoung Plug memory leak.
 1.1  13-Nov-2006  dyoung Add a source-address selection policy mechanism to the kernel.

Also, add ioctls SIOCGIFADDRPREF/SIOCSIFADDRPREF to get/set preference
numbers for addresses. Make ifconfig(8) set/display preference
numbers.

To activate source-address selection policies in your kernel, add
'options IPSELSRC' to your kernel configuration.

Miscellaneous changes in support of source-address selection:

1 Factor out some common code, producing rt_replace_ifa().

2 Abbreviate a for-loop with TAILQ_FOREACH().

3 Add the predicates on IPv4 addresses IN_LINKLOCAL() and
IN_PRIVATE(), that are true for link-local unicast
(169.254/16) and RFC1918 private addresses, respectively.
Add the predicate IN_ANY_LOCAL() that is true for link-local
unicast and multicast.

4 Add IPv4-specific interface attach/detach routines,
in_domifattach and in_domifdetach, which build #ifdef
IPSELSRC.

See in_getifa(9) for a more thorough description of source-address
selection policy.
 1.3.10.1  27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.3.8.4  07-Dec-2007  yamt sync with head
 1.3.8.3  26-Feb-2007  yamt sync with head.
 1.3.8.2  30-Dec-2006  yamt sync with head.
 1.3.8.1  16-Nov-2006  yamt file in_selsrc.c was added on branch yamt-lazymbuf on 2006-12-30 20:50:33 +0000
 1.3.6.2  10-Dec-2006  yamt sync with head.
 1.3.6.1  16-Nov-2006  yamt file in_selsrc.c was added on branch yamt-splraiseipl on 2006-12-10 07:19:10 +0000
 1.3.4.1  04-Mar-2007  bouyer Pull up following revision(s) (requested by dyoung in ticket #481):
sys/netinet/in_selsrc.c: revision 1.4
sys/netinet/in_selsrc.c: revision 1.5
share/man/man9/in_getifa.9: revision 1.3
Add net.inet.ip.selectsrc.default even if GETIFA_DEBUG is not
Reverse sense of preference numbers: prefer source addresses with
higher preference numbers. Thanks to Mihai Chelaru for pointing
out my mistake.
 1.3.2.2  18-Nov-2006  ad Sync with head.
 1.3.2.1  16-Nov-2006  ad file in_selsrc.c was added on branch newlock2 on 2006-11-18 21:39:36 +0000
 1.5.26.1  08-Dec-2007  ad Sync with head.
 1.5.24.1  08-Dec-2007  mjf Sync with HEAD.
 1.5.18.1  09-Jan-2008  matt sync with HEAD
 1.5.16.1  09-Dec-2007  jmcneill Sync with HEAD.
 1.6.34.1  21-Apr-2010  matt sync to netbsd-5
 1.6.26.1  26-Sep-2009  snj Pull up following revision(s) (requested by dyoung in ticket #937):
sys/netinet/in_selsrc.c: revision 1.7
Stop the admin from creating nodes under net.inet.ip.interfaces or
net.inet.ip.interfaces.<ifname>.
 1.6.16.2  11-Mar-2010  yamt sync with head
 1.6.16.1  16-Sep-2009  yamt sync with head
 1.8.12.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.8.12.1  30-Oct-2012  yamt sync with head
 1.9.4.1  18-May-2014  rmind sync with head
 1.9.2.2  03-Dec-2017  jdolecek update from HEAD
 1.9.2.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.11.6.3  09-Jul-2016  skrll Sync with HEAD
 1.11.6.2  22-Sep-2015  skrll Sync with HEAD
 1.11.6.1  06-Jun-2015  skrll Sync with HEAD

RSS XML Feed