Skip to content

Commit

Permalink
fixed to invalidate a prefix exactly when its valid lifetime is expired.
Browse files Browse the repository at this point in the history
  • Loading branch information
keiichi committed Aug 20, 2003
1 parent 07e1d17 commit 9d5b8e2
Showing 1 changed file with 18 additions and 6 deletions.
24 changes: 18 additions & 6 deletions kame/sys/netinet6/mip6_prefix.c
@@ -1,4 +1,4 @@
/* $KAME: mip6_prefix.c,v 1.24 2003/08/15 12:49:55 keiichi Exp $ */
/* $KAME: mip6_prefix.c,v 1.25 2003/08/20 12:58:11 keiichi Exp $ */

/*
* Copyright (C) 2001 WIDE Project. All rights reserved.
Expand Down Expand Up @@ -289,14 +289,20 @@ mip6_prefix_timer(arg)
__FILE__, __LINE__));
}

mip6_prefix_settimer(mpfx,
MIP6_MOBILE_PREFIX_SOL_INTERVAL * hz);
if (mpfx->mpfx_vlexpire >
mono_time.tv_sec + MIP6_MOBILE_PREFIX_SOL_INTERVAL) {
mip6_prefix_settimer(mpfx,
MIP6_MOBILE_PREFIX_SOL_INTERVAL * hz);
} else {
mip6_prefix_settimer(mpfx,
(mpfx->mpfx_vlexpire - mono_time.tv_sec) * hz);
}
mpfx->mpfx_state = MIP6_PREFIX_STATE_EXPIRING;
break;

case MIP6_PREFIX_STATE_EXPIRING:
if (mpfx->mpfx_vlexpire < mono_time.tv_sec) {
/* XXX remove entry. */
mip6_prefix_list_remove(&mip6_prefix_list, mpfx);
break;
}

Expand All @@ -307,8 +313,14 @@ mip6_prefix_timer(arg)
__FILE__, __LINE__));
}

mip6_prefix_settimer(mpfx,
MIP6_MOBILE_PREFIX_SOL_INTERVAL * hz);
if (mpfx->mpfx_vlexpire >
mono_time.tv_sec + MIP6_MOBILE_PREFIX_SOL_INTERVAL) {
mip6_prefix_settimer(mpfx,
MIP6_MOBILE_PREFIX_SOL_INTERVAL * hz);
} else {
mip6_prefix_settimer(mpfx,
(mpfx->mpfx_vlexpire - mono_time.tv_sec) * hz);
}
mpfx->mpfx_state = MIP6_PREFIX_STATE_EXPIRING;
break;
}
Expand Down

0 comments on commit 9d5b8e2

Please sign in to comment.