I'm setting up an MPLS carrier with VPNs in GNS3, using Cisco 7200 routers.

Exact version I'm using is C7200-ADVIPSERVICESK9-M Version 15.2(4)S5, but I'm willing to upgrade/change if that's needed.

On IPv4 setting up an MPLS carrier carrying multicast is pretty simple. All you need to do is set up the PIM peering between PE and CE, and then enable address-family ipv4 mdt on the PE-PE iBGP peering.

But how do I do the same thing for carrying IPv6 multicast inside a VPN?

I've tried enabling anything ipv6 & multicast related in the PE-PE iBGP session, but it doesn't appear to work. The two PE routers can only see (with show ipv6 mroute vrf SUB) the multicast groups that are on the CE routers attached directly to them.

PE config:

vrf definition SUB
  rd 1:2
  address-family ipv4
    mdt default
    mdt data threshold 1
    route-target both 1:2
  address-family ipv6
    mdt default
    mdt data
    route-target both 1:2
ipv6 multicast-routing
ipv6 multicast-routing vrf SUB
interface Ethernet3/0
  description To CE
  vrf forwarding SUB
  ip address
  ip pim sparse-mode
  ipv6 address 2001:12:13::1/64
router bgp 1
  neigh remote-as 1
  address-family ipv4
    neigh activate
    neigh send-community both
  address-family vpnv4
    neigh activate
    neigh send-community both
  address-family ipv4 mdt
    neigh activate
    neigh send-community both
  address-family vpnv6
    neigh activate
    neigh send-community both
  address-family vpnv6 multicast
    neigh activate
    neigh send-community both
  address-family ipv6 mvpn
    neigh activate
    neigh send-community both
  address-family ipv4 vrf SUB
    neigh remote-as 2
    neigh activate
    neigh send-community both
    neigh remote-as 2
  address-family ipv6 vrf SUB
    neigh 2001:12:13::3 remote-as 2
    neigh 2001:12:13::3 activate
    neigh 2001:12:13::3 send-community both

I tried:

  • Adding mdt overlay use-bgp to the VRF definition.
  • Enabling all of the ipv6 bgp iBGP address families that I could

On the CE router I have joined groups using:

interface Loopback0
  ipv6 mld join-group FF35:12::1 2001:2::4
  ipv6 mld join-group FF38:20:2001:2::3 2001:2::4

(where 2001:2::4 is the remote CE router)

The equivalent ipv6 mld join-group but with a source of the local PE works fine, and the PE router can reach the multicast address. The directly connected PE-CE pair agrees in show ipv6 mroute / show ipv6 mroute vrf SUB, so communication works there. That's why I suspect the iBGP configuration.

On the closest PE router I see:

R1# show ipv6 mroute vrf SUB FF38:20:2001:2::3
(2001:2::4, FF38:20:2001:2::3), 00:04:27/00:03:07, flags: ST
  Incoming interface: Tunnel2
  RPF nbr: ::FFFF:
  Immediate Outgoing interface list:
    Ethernet3/0, Forward, 00:04:27/00:03:07

What am I missing? How do I share multicast routing information over iBGP, like how MDT address family does it for IPv4?

I don't want to set up GRE tunnels, since that wastes resources in the carrier.

  • Your IPv6 multicast group has some problems. You probably want to use an Organization-Local scope (8) rather than a Site-Local scope (5).. Also, your second 16-bit field is incorrect as the next eight bits are Reserved and must be 0. Then, because you are using Prefix-based multicast (Flags = 3), you need the next eight bits as the Prefix Length, then 64 bits for the Prefix, and the final 32 bits for the Group ID. IPv6 multicast is very complex compared to IPv4 multicast.
    – Ron Maupin
    Mar 8 at 15:30
  • Why are you using IPv4 multicast addressing under the IPv6 family in the VRF definition? IPv6 needs IPv6 addressing.
    – Ron Maupin
    Mar 8 at 15:34
  • The carrier's multicast tree should be IPv4, no? The IPv6 multicast should be encapsulable in IPv4, shouldn't it? At least this version of IOS does not accept mdt default ff38::33 or anything IPv6 like it, it seems. For the address I tried ff38::3 now, and it doesn't seem to work better. Also tried ff18::3 in case the "without prefix information" should help.
    – Thomas
    Mar 8 at 15:46
  • I now also tried ff38:20:2001:2::3, but it's also not propagating over the MPLS carrier's iBGP.
    – Thomas
    Mar 8 at 15:52
  • "The IPv6 multicast should be encapsulable in IPv4, shouldn't it" No. IPv4 and IPv6 are completely separate, incompatible protocols. Unless you set up something like a 6in4 tunnel, you will not encapsulate IPv6 inside IPv4 packets. Also, ff38:20:2001:2::3 is putting a value other than 0 in the Reserved eight bits following the ff38.
    – Ron Maupin
    Mar 8 at 15:56


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.