netdev
[Top] [All Lists]

[Patch] RS Count

To: netdev@xxxxxxxxxxx
Subject: [Patch] RS Count
From: YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@xxxxxxxxxx>
Date: Tue, 01 May 2001 01:40:46 +0900
Cc: usagi-users@xxxxxxxxxxxxxx
Sender: owner-netdev@xxxxxxxxxxx
linux-2.4.x send too many (more than 3) RS packets.
This fixes the problem.

USAGI Branch: bFIX_2_4_3-20010501a

Reference: RFC2461

6.3.7.  Sending Router Solicitations
:
   routers or learn prefixes.  To obtain Router Advertisements quickly,
   a host SHOULD transmit up to MAX_RTR_SOLICITATIONS Router
   Solicitation messages each separated by at least
   RTR_SOLICITATION_INTERVAL seconds.  Router Solicitations may be sent
   after any of the following events:
:

10.  PROTOCOL CONSTANTS
:
            MAX_RTR_SOLICITATIONS             3 transmissions

Index: net/ipv6/addrconf.c
===================================================================
RCS file: /cvsroot/usagi/kernel/linux24/net/ipv6/addrconf.c,v
retrieving revision 1.1.1.4
retrieving revision 1.1.1.4.4.1
diff -u -r1.1.1.4 -r1.1.1.4.4.1
--- net/ipv6/addrconf.c 2001/02/22 12:04:36     1.1.1.4
+++ net/ipv6/addrconf.c 2001/04/30 16:12:59     1.1.1.4.4.1
@@ -22,6 +22,8 @@
  *     Andi Kleen                      :       kill doube kfree on module
  *                                             unload.
  *     Maciej W. Rozycki               :       FDDI support
+ *     sekiya@USAGI                    :       Don't send too many RS
+ *                                             packets.
  */
 
 #include <linux/config.h>
@@ -1415,7 +1417,7 @@
        }
 
        spin_lock(&ifp->lock);
-       if (ifp->probes++ <= ifp->idev->cnf.rtr_solicits) {
+       if (ifp->probes++ < ifp->idev->cnf.rtr_solicits) {
                struct in6_addr all_routers;
 
                addrconf_mod_timer(ifp, AC_RS,

--
yoshfuji@USAGI Project

<Prev in Thread] Current Thread [Next in Thread>