A network device in a communication system that supports a Point to Multipoint, P2MP, policy, where a P2MP policy is composed of a root (111-A), a set of leaves (111-D, 111-E), and a set of candidate paths connecting the root to the set of leaves wherein the root node sends the multicast traffic on each of the candidate paths such that the multicast traffic is received by the leaf nodes via each of the candidate paths, wherein a candidate path does not have forwarding information; rather, forwarding of the multicast stream via the candidate path is performed based on a set of replication segments configured on the root node, transit nodes, and leaf nodes of the candidate path, wherein the replication segments for a candidate path have forwarding information and can forward the multicast stream from the root to the set of leaves via the set of transit nodes, and wherein the network device includes one of the leaf nodes; the network device comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the network device to: receive a set of preference values for the candidate paths that includes, for each of the candidate paths, a respective preference value indicative of a preference for the respective candidate path; receive via each of the candidate paths in the set of candidate paths multicast traffic; and select based on at least one of the preference values one of the candidate paths from which the network device is to accept the multicast traffic, wherein the network device is caused to determine which replication segment is associated with the candidate path having the highest candidate path preference, and to process the multicast traffic received via that replication segment associated with the candidate path having the highest candidate path preference without accepting and processing the multicast traffic received via other replication segments associated with other candidate paths. at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the network device to: receive a set of preference values for the candidate paths that includes, for each of the candidate paths, a respective preference value indicative of a preference for the respective candidate path; receive via each of the candidate paths in the set of candidate paths multicast traffic; and select based on at least one of the preference values one of the candidate paths from which the network device is to accept the multicast traffic, wherein the network device is caused to determine which replication segment is associated with the candidate path having the highest candidate path preference, and to process the multicast traffic received via that replication segment associated with the candidate path having the highest candidate path preference without accepting and processing the multicast traffic received via other replication segments associated with other candidate paths. receive a set of preference values for the candidate paths that includes, for each of the candidate paths, a respective preference value indicative of a preference for the respective candidate path; receive via each of the candidate paths in the set of candidate paths multicast traffic; and select based on at least one of the preference values one of the candidate paths from which the network device is to accept the multicast traffic, wherein the network device is caused to determine which replication segment is associated with the candidate path having the highest candidate path preference, and to process the multicast traffic received via that replication segment associated with the candidate path having the highest candidate path preference without accepting and processing the multicast traffic received via other replication segments associated with other candidate paths.