Subject: CBT 3 examples

From: "Ho, Hsin" <[email-masked]>
Date: Fri, 11 Jun 1999 11:49:55 -0400

Hi all, I am just confuse about an example in the CBT v3.01 protocol specs.
I need some help getting it clear.

	core
	  |
	  |
	  R
	  |
	  |
	 BR

"Assume in figure 2 BR has instantiated a priori (*, Core) state between
itself and the core. It subsequently wishes to prune (*, G) from (*, Core)
so sends a (*, G) QUIT_NOTIFICATION upstream. When the quit (prune) reaches
router R, R already has less specific state (i.e. (*, Core)), but this quit
message results in its only child interface (leading to BR) being marked as
pruned under newly instan- tiated (*, G) state. Since router R has no other
child under either (*, Core) or (*, G) states, R can forward the received
(*, G) quit. " 
......
"Returning to the example used with figure 2 above, when router R receives
the (*, G) quit sent by BR and instantiates the correspond- ing state, R can
send a (*, G) quit upstream since there are no less specific entries with
_other_ non-pruned children. However, the (*, G) state in R cannot be
removed despite all (*, G) children being pruned (in this e.g. there is only
one child) because a less specific (i.e. (*, Core)) cache entry exists with
a non-pruned child."

1) What about the only child in the (*, Core) ? I thought each entry is
independent even though (*, G) copied the child interface from (*, Core).
(*, Core) child interface entry is non-pruned in its forwarding entry, even
if  (*, G) marked its child interface as pruned. (*, G) quit should not be
forwarded in the first place since (*, Core) is less specific and has a
non-pruned child, right? 

2) If the entries are not independent then the second example " because a
less specific (i.e. (*, Core)) cache entry exists with a non-pruned child."
is kind of confusing. I thought that in the first example it said that the
child was pruned "R has no other child under either (*, Core) or (*, G)
states".  In the second it said that the child was not pruned, so a less
specific entry still exist with a non-pruned child why forward the quit msg?
So is the forwarding cache

a. (*, Core) pointing to BR 
b. (*, G) pointing to BR (pruned)

Bunches of thanks in advance.