Subject: [pim] Anycast-RP using PIM / two questions

From: MORIN Thomas RD-CORE-LAN <[email-masked]>
Date: Fri, 25 Mar 2005 16:54:36 +0100

Hi Dino, Yiqun,

First thing, section 3.0 says :
----
o RP1 sends a Register-Stop back to the DR. 
o RP1 MAY join back to the source-tree by triggering a (S1,G) Join
message toward S1. However, RP1 MUST create (S1,G) state. 
----
=> Shouldn't those two steps be in the reverse order: first possibly
join the SPT, and then send register stop to DR ?

Second, I've got one thing that is unclear to me ; let's consider the
following situation:
- RP set is {RP1,RP2}
- our DR closest RP is RP1
- the DR sends traffic, encapsulated in registers to RP1
- RP1 receives the registers...
... Now, what if RP1 switches to an SPT and sends Register-stop to DR,
before RP2 has joined the SPT ? 

To me, it looks like some packets will be missed by RP2 : RP2 will
receive the registers forwarded by RP1, and the packets received via the
SPT when it is built, but the packets sent before the SPT is built will
not be seen by RP2 (RP1 will have stopped the stream of registers).

Maybe I've overlooked something, but this looks to me like a nasty race
condition depending on the speed at which the switch to SPT will happen
on the RPs.

=> Perhaps the first RP should only send register stop to DR when it
received the stop from all its "co-RPs" ?

Thanks,

-Thomas

_______________________________________________
pim mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/pim

---

From: Yiqun Cai <[email-masked]>
Date: Tue, 29 Mar 2005 13:43:25 -0800 (PST)

Thomas,

Thanks for the comment.  Sorry for the late reply.  Inline please...

> join the SPT, and then send register stop to DR ?

Sure.  We will update it.

> received the stop from all its "co-RPs" ?

I think Dino mentioned this before.  We assume it is possible that
there will be packet loss, and doing ASM also means "source discovery
is used on the shared-tree".

Thanks for your comment.

-- 
Yiqun

---

From: MORIN Thomas RD-CORE-LAN <[email-masked]>
Date: Wed, 30 Mar 2005 15:29:28 +0200

Hi Yiqun,

> is used on the shared-tree".

Well, I see what you mean : more or less the same losses may happen in
the plain PIM-SM case, so why worry. And fixing the solution would
introduce a bit more complexity (e.g. waiting for all registers stop
and/or a timeout) which may not be worth it.  I agree.

Anyway, I think it may be worth mentioning in the draft that "packets
may be missed by RP2 if its SPT branch is not built at the time the
register-STOP sent by RP1 is received by the source DR".

Also, it may also be worth noting that, while the PIM specs let an RP
_not_ join a SPT (and still receive all packets), that won't work
anymore in this anycast-RP scheme. The most straightforward thing would
be to REQUIRE SwitchToSptDesired(S,G) to return true for an (S,G) learnt
through another RP of the anycast RP set.

-Thomas

---

From: Dino Farinacci <[email-masked]>
Date: Wed, 30 Mar 2005 11:23:11 -0800

>> register-STOP sent by RP1 is received by the source DR".

    We will add this to the spec. Thanks.

    Just a status on the draft: any comments that come in between now and 
    close-of-business Friday can be added to the draft I will post to the
    list on Friday.

    Then, we will submit on Monday as the draft-ietf-pim-anycast-rp-03.txt 
    draft.

Dino