Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src
Module Name: src
Committed By: dyoung
Date: Fri Sep 11 22:06:29 UTC 2009
Modified Files:
src/sbin/ifconfig: af_inet.c af_inet6.c util.c util.h
src/sys/kern: uipc_domain.c uipc_socket.c
src/sys/net: if.c if.h
src/sys/netinet: in.c
src/sys/netinet6: in6.c in6.h in6_proto.c scope6.c
src/sys/sys: domain.h socket.h socketvar.h
Log Message:
Make ifconfig(8) set and display preference numbers for IPv6
addresses. Make the kernel support SIOC[SG]IFADDRPREF for IPv6
interface addresses.
In in6ifa_ifpforlinklocal(), consult preference numbers before
making an otherwise arbitrary choice of in6_ifaddr. Otherwise,
preference numbers are *not* consulted by the kernel, but that will
be rather easy for somebody with a little bit of free time to fix.
Please note that setting the preference number for a link-local
IPv6 address does not work right, yet, but that ought to be fixed
soon.
In support of the changes above,
1 Add a method to struct domain for "externalizing" a sockaddr, and
provide an implementation for IPv6. Expect more work in this area: it
may be more proper to say that the IPv6 implementation "internalizes"
a sockaddr. Add sockaddr_externalize().
2 Add a subroutine, sofamily(), that returns a struct socket's address
family or AF_UNSPEC.
3 Make a lot of IPv4-specific code generic, and move it from
sys/netinet/ to sys/net/ for re-use by IPv6 parts of the kernel and
ifconfig(8).
To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sbin/ifconfig/af_inet.c
cvs rdiff -u -r1.24 -r1.25 src/sbin/ifconfig/af_inet6.c
cvs rdiff -u -r1.12 -r1.13 src/sbin/ifconfig/util.c
cvs rdiff -u -r1.7 -r1.8 src/sbin/ifconfig/util.h
cvs rdiff -u -r1.83 -r1.84 src/sys/kern/uipc_domain.c
cvs rdiff -u -r1.189 -r1.190 src/sys/kern/uipc_socket.c
cvs rdiff -u -r1.234 -r1.235 src/sys/net/if.c
cvs rdiff -u -r1.143 -r1.144 src/sys/net/if.h
cvs rdiff -u -r1.134 -r1.135 src/sys/netinet/in.c
cvs rdiff -u -r1.152 -r1.153 src/sys/netinet6/in6.c
cvs rdiff -u -r1.67 -r1.68 src/sys/netinet6/in6.h
cvs rdiff -u -r1.86 -r1.87 src/sys/netinet6/in6_proto.c
cvs rdiff -u -r1.7 -r1.8 src/sys/netinet6/scope6.c
cvs rdiff -u -r1.28 -r1.29 src/sys/sys/domain.h
cvs rdiff -u -r1.95 -r1.96 src/sys/sys/socket.h
cvs rdiff -u -r1.120 -r1.121 src/sys/sys/socketvar.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index