Re: [PATCH 01/01] ipv6: RFC4214 Support (v2.0)
From: Vlad Yasevich <hidden>
Date: 2007-11-13 16:59:37
Hi Fred Templin, Fred L wrote:
quoted
quoted
+ return; + } + sit_add_v4_addrs(idev); if (dev->flags&IFF_POINTOPOINT) {@@ -2531,6 +2570,18 @@ static void addrconf_rs_timer(unsigned l * Announcement received after solicitation * was sent */ + + /* ISATAP (RFC4214) - schedule next RS/RA */ + if (ifp->idev->dev->priv_flags & IFF_ISATAP) { + struct ip_tunnel *t =netdev_priv(ifp->idev->dev);quoted
+ if (t->parms.i_key != INADDR_NONE) { + spin_lock(&ifp->lock); + ifp->probes = 0; + ifp->idev->if_flags &=~(IF_RS_SENT|IF_RA_RCVD);quoted
+ addrconf_mod_timer(ifp, AC_DAD,t->parms.o_key*HZ); You are using a DAD timer to schedule RS?I am using the DAD timer to re-DAD the link local, which in turn schedules RS.
Why? Seems to me that using the RS timer (AC_RS) gets you everything you want and nothing you don't. You set probes to 0, which marks DAD complete, thus you don't do DAD. You already have code in the addrconf_rs_timer() to properly send the RS. So, your patch to sending the RS is much shorter if you use the AC_RS timer. Am I missing something? Thanks -vlad