Thread (41 messages) 41 messages, 5 authors, 2008-03-24

RE: [PATCH 01/01] ipv6: RFC4214 Support (v2.0)

From: Templin, Fred L <hidden>
Date: 2007-11-13 17:29:59

Vlad, 
-----Original Message-----
From: Vlad Yasevich [mailto:vladislav.yasevich@hp.com] 
Sent: Tuesday, November 13, 2007 9:00 AM
To: Templin, Fred L
Cc: netdev@vger.kernel.org; YOSHIFUJI Hideaki / 吉藤英明
Subject: Re: [PATCH 01/01] ipv6: RFC4214 Support (v2.0)

Hi Fred

Templin, Fred L wrote: 
quoted
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?
Probably not. "Re-DAD the link-local" just seemed to have a nice
ring about it, but if we don't need it we can just as well go straight
to the RS. I'll take a closer look to verify...

Thanks - Fred
fred.l.templin@boeing.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help