Commit 420d8b3f authored by Francis Dupont's avatar Francis Dupont
Browse files

merge 17500

parent 3dbe2246
......@@ -83,6 +83,9 @@ work on other platforms. Please report any problems and suggested fixes to
on the DHCPv6 ORO. This resolves a bug where VSIO options were placed
in IA_NA encapsulated options fields.
- Integrated client with stateless, temporary address and prefix delegation
support.
Changes since 4.0.0 (new features)
- Added DHCPv6 rapid commit support.
......
This diff is collapsed.
.\" $Id: dhclient.8,v 1.27 2008/01/24 02:43:04 each Exp $
.\" $Id: dhclient.8,v 1.28 2008/05/23 13:56:07 fdupont Exp $
.\"
.\" Copyright (c) 2004,2007-2008 by Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1996-2003 by Internet Software Consortium
......@@ -35,6 +35,27 @@ dhclient - Dynamic Host Configuration Protocol Client
.B -6
]
[
.B -S
]
[
.B -N
[
.B -N...
]
]
[
.B -T
[
.B -T...
]
]
[
.B -P
[
.B -P...
]
]
[
.B -p
.I port
]
......@@ -53,8 +74,7 @@ dhclient - Dynamic Host Configuration Protocol Client
]
[
.B -r
]
[
|
.B -x
]
[
......@@ -123,7 +143,23 @@ DHCPv4 protocol to obtain an IPv4 address and configuration parameters.
.PP
If given the -6 command line argument, dhclient will use the DHCPv6
protocol to obtain whatever IPv6 addresses are available along with
configuration parameters. Information-request is not yet supported.
configuration parameters. But with
.B -S
it uses Information-request to get only (i.e., without address)
stateless configuration parameters.
.PP
The default DHCPv6 behavior is modified too with
.B -T
which asks for IPv6 temporary addresses, one set per
.B -T
flag.
.B -P
enables the IPv6 prefix delegation.
As temporary addresses or prefix delegation disables the normal
address query,
.B -N
restores it. Note it is not recommended to mix queries of different types
together, or even to share the lease file between them.
.PP
If given the --version command line argument, dhclient will print its
version number and exit.
......@@ -198,6 +234,7 @@ the server transmit these messages to some other address. This can
be specified with the
.B -s
flag, followed by the IP address or domain name of the destination.
This feature is not supported by DHCPv6.
.PP
For testing purposes, the giaddr field of all packets that the client
sends can be set using the
......
This diff is collapsed.
......@@ -242,6 +242,12 @@ if [ ${reason} = PREINIT6 ] ; then
exit_with_hooks 0
fi
if [ x${old_ip6_prefix} != x ] || [ x${new_ip6_prefix} != x ] ; then
echo Prefix ${reason} old=${old_ip6_prefix} new=${new_ip6_prefix}
exit_with_hooks 0
fi
if [ ${reason} = BOUND6 ] ; then
if [ x${new_ip6_address} = x ] || [ x${new_ip6_prefixlen} = x ] ; then
exit_with_hooks 2;
......
#!/bin/sh
#
# $Id: freebsd,v 1.21 2008/01/16 23:02:10 dhankins Exp $
# $Id: freebsd,v 1.22 2008/05/23 13:56:07 fdupont Exp $
#
# $FreeBSD$
......@@ -306,6 +306,12 @@ if [ ${reason} = PREINIT6 ] ; then
exit_with_hooks 0
fi
if [ x${old_ip6_prefix} != x ] || [ x${new_ip6_prefix} != x ] ; then
echo Prefix ${reason} old=${old_ip6_prefix} new=${new_ip6_prefix}
exit_with_hooks 0
fi
if [ ${reason} = BOUND6 ] ; then
if [ x${new_ip6_address} = x ] || [ x${new_ip6_prefixlen} = x ] ; then
exit_with_hooks 2;
......@@ -332,13 +338,11 @@ if [ ${reason} = RENEW6 ] || [ ${reason} = REBIND6 ] ; then
fi
if [ ${reason} = DEPREF6 ] ; then
if [ x${new_ip6_prefixlen} = x ] ; then
if [ x${new_ip6_address} = x ] ; then
exit_with_hooks 2;
fi
# XXX:
# There doesn't appear to be a way to update an addr to indicate
# preference.
ifconfig ${interface} inet6 ${new_ip6_address} deprecated
exit_with_hooks 0
fi
......
......@@ -243,6 +243,12 @@ if [ ${reason} = PREINIT6 ] ; then
exit_with_hooks 0
fi
if [ x${old_ip6_prefix} != x ] || [ x${new_ip6_prefix} != x ] ; then
echo Prefix ${reason} old=${old_ip6_prefix} new=${new_ip6_prefix}
exit_with_hooks 0
fi
if [ ${reason} = BOUND6 ] ; then
if [ x${new_ip6_address} = x ] || [ x${new_ip6_prefixlen} = x ] ; then
exit_with_hooks 2;
......@@ -274,10 +280,8 @@ if [ ${reason} = DEPREF6 ] ; then
exit_with_hooks 2;
fi
# There doesn't appear to be a way to update an addr to indicate
# preference.
# ${ip} -f inet6 addr ??? ${new_ip6_address}/${new_ip6_prefixlen} \
# dev ${interface} scope global deprecated?
${ip} -f inet6 addr change ${new_ip6_address}/${new_ip6_prefixlen} \
dev ${interface} scope global preferred_lft 0
exit_with_hooks 0
fi
......
......@@ -242,6 +242,12 @@ if [ ${reason} = PREINIT6 ] ; then
exit_with_hooks 0
fi
if [ x${old_ip6_prefix} != x ] || [ x${new_ip6_prefix} != x ] ; then
echo Prefix ${reason} old=${old_ip6_prefix} new=${new_ip6_prefix}
exit_with_hooks 0
fi
if [ ${reason} = BOUND6 ] ; then
if [ x${new_ip6_address} = x ] || [ x${new_ip6_prefixlen} = x ] ; then
exit_with_hooks 2;
......
......@@ -242,6 +242,12 @@ if [ ${reason} = PREINIT6 ] ; then
exit_with_hooks 0
fi
if [ x${old_ip6_prefix} != x ] || [ x${new_ip6_prefix} != x ] ; then
echo Prefix ${reason} old=${old_ip6_prefix} new=${new_ip6_prefix}
exit_with_hooks 0
fi
if [ ${reason} = BOUND6 ] ; then
if [ x${new_ip6_address} = x ] || [ x${new_ip6_prefixlen} = x ] ; then
exit_with_hooks 2;
......
......@@ -2441,6 +2441,10 @@ char *piaddrcidr(const struct iaddr *, unsigned int);
/* dhclient.c */
extern int nowait;
extern int wanted_ia_na;
extern int wanted_ia_ta;
extern int wanted_ia_pd;
extern const char *path_dhclient_conf;
extern const char *path_dhclient_db;
extern const char *path_dhclient_pid;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment