summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
ba6df2a)
This was fixed to 60s. Add '-m <seconds>' option to change default time.
static bool bound = false, release = true;
static time_t last_update = 0;
static bool bound = false, release = true;
static time_t last_update = 0;
+static unsigned int min_update_interval = DEFAULT_MIN_UPDATE_INTERVAL;
+
int main(_unused int argc, char* const argv[])
{
// Allocate ressources
int main(_unused int argc, char* const argv[])
{
// Allocate ressources
int c;
unsigned int client_options = DHCPV6_CLIENT_FQDN | DHCPV6_ACCEPT_RECONFIGURE;
int c;
unsigned int client_options = DHCPV6_CLIENT_FQDN | DHCPV6_ACCEPT_RECONFIGURE;
- while ((c = getopt(argc, argv, "S::N:V:P:FB:c:i:r:Ru:s:kt:hedp:fa")) != -1) {
+ while ((c = getopt(argc, argv, "S::N:V:P:FB:c:i:r:Ru:s:kt:m:hedp:fa")) != -1) {
switch (c) {
case 'S':
allow_slaac_only = (optarg) ? atoi(optarg) : -1;
switch (c) {
case 'S':
allow_slaac_only = (optarg) ? atoi(optarg) : -1;
sol_timeout = atoi(optarg);
break;
sol_timeout = atoi(optarg);
break;
+ case 'm':
+ min_update_interval = atoi(optarg);
+ break;
+
case 'e':
logopt |= LOG_PERROR;
break;
case 'e':
logopt |= LOG_PERROR;
break;
" -f Don't send Client FQDN option\n"
" -k Don't send a RELEASE when stopping\n"
" -t <seconds> Maximum timeout for DHCPv6-SOLICIT (3600)\n"
" -f Don't send Client FQDN option\n"
" -k Don't send a RELEASE when stopping\n"
" -t <seconds> Maximum timeout for DHCPv6-SOLICIT (3600)\n"
+ " -m <seconds> Minimum time between accepting updates (60)\n"
"\nInvocation options:\n"
" -p <pidfile> Set pidfile (/var/run/odhcp6c.pid)\n"
" -d Daemonize\n"
"\nInvocation options:\n"
" -p <pidfile> Set pidfile (/var/run/odhcp6c.pid)\n"
" -d Daemonize\n"
if (new->valid > 0) {
if (x) {
if (new->valid >= x->valid && new->valid != UINT32_MAX &&
if (new->valid > 0) {
if (x) {
if (new->valid >= x->valid && new->valid != UINT32_MAX &&
- new->valid - x->valid < 60 &&
+ new->valid - x->valid < min_update_interval &&
new->preferred >= x->preferred &&
new->preferred != UINT32_MAX &&
new->preferred >= x->preferred &&
new->preferred != UINT32_MAX &&
- new->preferred - x->preferred < 60 &&
+ new->preferred - x->preferred < min_update_interval &&
x->class == new->class)
return false;
x->valid = new->valid;
x->class == new->class)
return false;
x->valid = new->valid;
#define DHCPV6_REB_MAX_RT 600
#define DHCPV6_INF_MAX_RT 3600
#define DHCPV6_REB_MAX_RT 600
#define DHCPV6_INF_MAX_RT 3600
+#define DEFAULT_MIN_UPDATE_INTERVAL 60
+
enum dhcvp6_opt {
DHCPV6_OPT_CLIENTID = 1,
DHCPV6_OPT_SERVERID = 2,
enum dhcvp6_opt {
DHCPV6_OPT_CLIENTID = 1,
DHCPV6_OPT_SERVERID = 2,