Subject: [pim] AD Review of draft-ietf-pim-anycast-rp

From: Bill Fenner <[email-masked]>
Date: Tue, 15 Feb 2005 15:46:16 -0800

Dino, Yiqun,

  Sorry I took so long to get to this.

  I'm curious about the description of the actions.  In particular,
why do RP1 and RP2, which have receivers attached, send Register-Stop
messages before they've set up the source tree?  For example, it
says that RP1 always sends a Register-Stop, then MAY join back to
the source.  If it doesn't join back to the source, but sends the
Register-Stop anyway, that creates a black hole, right?  I would think
the sending of the Register-Stop would wait for the SPT to be set up,
at least on RPs with a non-empty inherited_olist(S,G).

  Also, I think the description of handling Register-Stop at an
RP is a little light; "just like it would if it was a DR" doesn't
seem like enough given that a DR never sends to multiple RPs.
It seems like (in the terms of the new pim spec) each RP maintains
one (S,G) Register State and one Register-Stop Timer per (S,G) and
other RP, and only sends a copy of a Register message to another
RP if the (S,G) Register State machine for the (S,G) of the Register
and the RP being sent to is in Join state.

  To be honest, I'd really rather see a description of what a
router has to do with packets than an example -- e.g., I think an
RP has to decide whether a Register is from a DR or another RP,
to decide whether to forward it to other RPs; to do that the source
address of the packet has to be one that it knows, so the other RP
has to send with the source address that's configured in all the
other RPs.  That could cause reorigination loops which won't even
be stopped by TTL, if RP1 sent to RP2 but RP2 thought it came from
a DR so sent it to RP1 and RP1 thought it came from a DR so sent it
to RP2... so it's fine to have the example, but I think you should
also spell out
- What an RP does when it gets a Register, including how it
  decides whether or not to send it to the other RPs and what
  source address it uses when it reoriginates it;
- What an RP does when it gets a Register-Stop, and what state
  it needs to keep per-RP.

  I have some terminology suggestions that might make the document
more clear.  Instead of saying that the RP that receives the Register
"forward"s it to the other RPs, perhaps could you say "sends a copy of" 
the Register message to each other RP?  Forwarding a packet feels
like it should be sending it towards the packet's destination, either
unicast or multicast, but in this case it's really replicating the
packet and reoriginating it - i.e., you're not keeping the old source
or destination addresses.

  In the 2nd bullet of #4, I think it's unclear to say that the DR
sends to its closet RP address -- it sends to the anycast RP address,
right, which then results in the packet getting to the closest RP.
On the same point, in the 4th bullet, I think it'd be more clear to
say "..responsibility of the RP the DR *reaches*", not "selects", since
the DR is not selecting anything.

  Bill

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