How is RPF used in multicast routing?

A.
to prevent multicast packets from looping
B.
to prevent PIM packets from looping
C.
to instruct PIM where to send a (*, G) or (S, G) join message
D.
to prevent multicast packets from looping and to instruct PIM where to send a (*, G) or (S, G)
join message
Explanation: