Subject: PIM-SM: data loss after assert?

From: Ardas Cilingiroglu <[email-masked]>
Date: Thu, 25 Mar 1999 11:47:21 -0500 (EST)

(*,G)       (S,G)
               RT1         RT3
                |           |
           -----+-----------+------
                |           |
               RT2         RT4
              (*,G)       (S,G)

Consider the following scenario:

  - Assert happens between RT1 and RT3.
    This creates (S,G)RPT state at RT1.
    According to spec, this creates no change for RT2, RT3 and RT4.

  - Immediately after this, oif of (S,G) at RT3 is removed
    (either pruned or timed out).

This means that receivers downstream to RT2 will be deprived of
data coming from S for as long as 60 seconds (when RT2 refreshes
(*,G) join state).

I believe this can be prevented by keeping Assert-Timers at oifs.
Winner oif can simply keep the oif for the Assert-Timeout period
even if the oif gets pruned after the assert.

thanks,
Ardas

---

From: Ahmed A-G Helmy <[email-masked]>
Date: Thu, 25 Mar 1999 09:55:47 -0800 (PST)

>                RT1         RT3

how is that oif removed... if pruned then RT2 should override using a 
join... this has nothing to do with asserts per se I think... u cannot 
prune a LAN with receivers downstream..
	all downstream routers should have the assert winner as their RPF 
nbr for the S,G..

hope this helps,
Regs,
-A

---

From: Ardas Cilingiroglu <[email-masked]>
Date: Thu, 25 Mar 1999 14:29:49 -0500 (EST)

> prune a LAN with receivers downstream..

You are right about the pruned case (I mistakenly thought that no
overrides will happen because (*,G) and (S,G) have different RPFs). 
How about oif at RT3 timing out, how will that case be handled?

> 	all downstream routers should have the assert winner as their RPF 

Are you saying that RT2 should create an (S,G) state with RPF pointing to
RT3? In this case RT2 joins to the SPT tree (even when all receivers below
RT4 are gone), and receivers below RT2 are in a sub-optimal path both to
RP and to S (which could be as bad as the sum of shortest paths to S and
RP). 

thanks,
Ardas

---

From: Ahmed A-G Helmy <[email-masked]>
Date: Fri, 26 Mar 1999 14:54:02 -0800 (PST)

> How about oif at RT3 timing out, how will that case be handled?

ok... S,G timer is refreshed by data packets, ... if S,G entry is idle 
(i.e. not forwarding packets), then the S,G cache will not be active and 
S,G in this case should not participate in the assert process (as per the 
spec).
	if you're talking about the oif timer per se, that gets refreshed 
by the Joins that are sent to the assert winner (have to check the latest 
spec for that).

> RP and to S (which could be as bad as the sum of shortest paths to S and
 yes,.. if one downstream member joins to the spt, it may force other 
members to get packets thru spt... however, after the assert timer times 
out in RT3, it will go back to its original RPF which is RT1 and back to 
shared tree... hope I didn't miss ur point,

Regs,
-A