[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(usagi-users 00695) Re: Updating address lifetime (again)



On Mon, 20 Aug 2001, YOSHIFUJI Hideaki / [iso-2022-jp] 吉藤英明 wrote:
> Thanks for your comments.
> I've implemented the Jim Bound's rule.
> Could you try this, please?
> (I do not consider about temporary addresses at this this patch.


Having looked at the internals of Jim Bound rule
(ftp://playground.sun.com/pub/ipng/mail-archive/ipng.199811) discussion
(messages in 'DEAD CODE in Addrconf DOS Algortim Prevention' thread), it's
clear that the rule works, but didn't actually fix anything as one of the
assumptions he made was false.

It's difficult to say how this problem will be tackled when RFC2462 goes
to draft standard, but I think it might be better to stick to the RFC way
for now; Jim's might be a bit clearer, but people reading the spec might
be a little surprised WTF the rules are all about.

On the other hand, I'd suggest doing the same "editorial cleanup" as many
other implementors have, as in patch (untested), or with #if 0 (a bit more
messy).

> I don't think that Default Router List is affected by the Two Hours
> Rule.

My bad -- mixed addresses and routes here, thanks for pointing out.

-- 
Pekka Savola                 "Tell me of difficulties surmounted,
Netcore Oy                   not those you stumble over and fall"
Systems. Networks. Security.  -- Robert Jordan: A Crown of Swords

--- addrconf.c	Thu Aug 16 05:05:11 2001
+++ addrconf.c.new	Mon Aug 20 23:22:45 2001
@@ -1375,8 +1375,8 @@
 			if (valid_lft > TWO_HOURS ||
 			    valid_lft > ifp->valid_lft) {
 				update_lft = 1;
-			} else if (ifp->valid_lft <= TWO_HOURS &&
-				   valid_lft <= ifp->valid_lft) {
+			} else if (ifp->valid_lft <= TWO_HOURS) {
+				/* redundant: '&& valid_lft <= ifp->valid_lft' */
 				update_lft = 0;
 			} else {
 				valid_lft = TWO_HOURS;