Subject: [pim] doubt - JoinDesired (*,G) macro

From: "Katta. Sambasiva Rao" <[email-masked]>
Date: Sat, 8 Dec 2001 15:39:53 +0530

hi,
I have a doubt in the following macro:

1. bool JoinDesired(*,G) {
2. 	if (immediate_olist(*,G) != NULL ||
3. 			(JoinDesired(*,*,RP(G)) &&
4. 			AssertWinner(*,G,RPF_interface(RP(G))) != NULL))
5.		return TRUE
6. 	else
7. 		return FALSE
8.}

Suppoese a router R2 had sent (*, *, RP) Join to router R1 when JoinDesired
(*, *, RP) is true. Now if Asset (*, G) occurs on upstream and the winner of
Assert is R1.
As per Line-4 in above macro, R2 is supposed to send (*, G) Join. What is
the need for router R2 to send (*, G) Join to same R1. Anyway R1 will
forward (*, G) data as (*, *, RP) Join was sent to it(R1) by this
router(R2).

I think the 4th line should be 
"AssertWinner(*,G,RPF_interface(RP(G))) != nexthop (RP)"
 i.e. only when AssertWinner for (*,G) is different from nexthop to RP.

Is my understanding correct? Or I am missing something.

Please clarify my doubt.
Thanks in advance.

regards,
Katta

---

From: "Jyotheeswara Rao Kurma" <[email-masked]>
Date: Mon, 10 Dec 2001 08:50:20 +0500

May be the following is true:

 Joindesired(*,*,RP) can affect joinDesired(*,G) as long as there is
 no (*,G) assert on the RPF_INTERFACE(RP).

Jyotheesh

--------------------------------------------------------------------
Every moment is a golden one for him who has the vision to recognize it 
as such. 
-- Henry Miller 

Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C17FD0.7B019170"

------_=_NextPart_001_01C17FD0.7B019170
Content-Type: text/plain;
	charset="iso-8859-1"

hi,

Please clarify my doubt.
Thanks in advance.

regards,
Katta

------_=_NextPart_001_01C17FD0.7B019170
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Diso-8859-1">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
5.5.2652.35">
<TITLE>doubt - JoinDesired (*,G) macro</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=3D2>hi,</FONT>
<BR><FONT SIZE=3D2>I have a doubt in the following macro:</FONT>
</P>

<P><FONT SIZE=3D2>1. bool JoinDesired(*,G) {</FONT>
<BR><FONT SIZE=3D2>2. &nbsp;&nbsp;&nbsp;&nbsp; if (immediate_olist(*,G) =
!=3D NULL ||</FONT>
<BR><FONT SIZE=3D2>3. &nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (JoinDesired(*,*,RP(G)) =
&amp;&amp;</FONT>
<BR><FONT SIZE=3D2>4. &nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
AssertWinner(*,G,RPF_interface(RP(G))) !=3D NULL))</FONT>
<BR><FONT SIZE=3D2>5.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return TRUE</FONT>
<BR><FONT SIZE=3D2>6. &nbsp;&nbsp;&nbsp;&nbsp; else</FONT>
<BR><FONT SIZE=3D2>7. &nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return FALSE</FONT>
<BR><FONT SIZE=3D2>8.}</FONT>
</P>

<P><FONT SIZE=3D2>Suppoese a router R2 had sent (*, *, RP) Join to =
router R1 when JoinDesired (*, *, RP) is true. Now if Asset (*, G) =
occurs on upstream and the winner of Assert is R1.</FONT></P>

<P><FONT SIZE=3D2>As per Line-4 in above macro, R2 is supposed to send =
(*, G) Join. What is the need for router R2 to send (*, G) Join to same =
R1. Anyway R1 will forward (*, G) data as (*, *, RP) Join was sent to =
it(R1) by this router(R2).</FONT></P>

<P><FONT SIZE=3D2>I think the 4th line should be </FONT>
<BR><FONT SIZE=3D2>&quot;AssertWinner(*,G,RPF_interface(RP(G))) !=3D =
nexthop (RP)&quot;</FONT>
<BR><FONT SIZE=3D2>&nbsp;i.e. only when AssertWinner for (*,G) is =
different from nexthop to RP.</FONT>
</P>

<P><FONT SIZE=3D2>Is my understanding correct? Or I am missing =
something.</FONT>
</P>

<P><FONT SIZE=3D2>Please clarify my doubt.</FONT>
<BR><FONT SIZE=3D2>Thanks in advance.</FONT>
</P>

<P><FONT SIZE=3D2>regards,</FONT>
<BR><FONT SIZE=3D2>Katta</FONT>
</P>

</BODY>
</HTML>
------_=_NextPart_001_01C17FD0.7B019170--