PIM SSM Range Note

The PIM-SSM range uses the embedded prefix flags, which to me is slightly confusing.

As a reminder, the IPv6 multicast address is broken down into these fields:

|   8    |  4 |  4 |  4 |  4 |    8   |       64       |    32    |
+--------+----+----+----+----+--------+----------------+----------+
|11111111|flgs|scop|rsvd|RIID|  plen  | network prefix | group ID |
+--------+----+----+----+----+--------+----------------+----------+
           |
           |
           |
        0 R P T
  • R is set for Embedded RP

  • P is set for Prefix-embedded

  • T is set for Transient. When set to 0 it is a well-known address.

The P and T flags are set for two purposes:

  • Embedded RP

    • In this case, the R flag is also set, so all embedded RP addresses are FF7X::/12

  • Unicast-embedded unique multicast range

    • This allows an organization to embed its globally unique unicast block to produce unique multicast group addresses.

    • Ex. 2001:db8:1::/48 gives you a multicast group block of FF3X:0030:2001:db8:1::/96

What is slightly confusing is that SSM uses the P and T flags as well. The idea is that SSM uses these but the prefix length and prefix are set to zero. This shortens down to FF3X:0000::/32 where X is the scope and 0000 is the RIID and prefix length. This is not FF3X::/16, because you must set the prefix length to 0.

IOS-XE and IOS-XR routers will pre-map these ranges to the SSM range. These do not have an RP. You will see many listings, because one /32 is needed for every possible routed scope. (Every scope ID except for 1 or 2, as those are not routed).

It does not appear that you can change the IPv6 SSM range, as you can with IPv4. There shouldn’t really be a need to anyways, because there is so much available address space in these ranges.

When you want to use a unicast-prefix-embedded range for PIM-SM (not SSM), you can simply match the default FF00::/8 range, or specifically map this to an RP. Since the unicast-prefix-embedded range will have a non-zero value for the prefix length, it won’t match the FF3X::/32 ranges.

#R6
ipv6 pim bsr candidate bsr 2001::6
ipv6 pim bsr candidate rp 2001::6 group-list TEST
ipv6 access-list TEST
 sequence 10 permit ipv6 any FF35:40:2001:DB8:1:1::/96

Last updated