[c-nsp] More weird IPv6 multicast problems

Bernhard Schmidt berni at birkenwald.de
Sat Mar 12 16:14:53 EST 2005


Hi,

it looks like I've hit another bug in the IPv6 multicast implementation
of Cisco IOS.

Basic setup:

    |
    | Tunnel Upstream
    | 
    |      Ethernet            Tunnel          Tunnel Peer1
   RB1 -------------- RB2 -------------- RA1 --------------------
    |                  |                  |    Tunnel Peer2
    +-------+----------+                  +----------------------
            |                             |    Tunnel Downstream
	  Host                            +----------------------


The host joins the multicast group FF3E:20:2001:660::BEAC which is the
group of the m6bone multicast beacon at Renater. There are about 15
sources in this group, two behind Peer1, one behind Peer2 and the rest
behind the Upstream. On the ethernet segment with the host BR is the
PIM DR and RB1 is MLD querying router.

When the group is joined RB1 forwards the traffic towards the direct
link to RB2 which sends it into the segment (due to being DR as I
assume). The interface to the host's segment on RB1 is in Null state.

RB1:
(2001:610:408:2::5, FF3E:20:2001:660::BEAC), 3d17h/00:02:59, flags: ST
  Incoming interface: Tunnel302
  RPF nbr: FE80::2A0:A5FF:FE28:1174
  Immediate Outgoing interface list:
    GigabitEthernet0/3, Forward, 1d12h/00:02:59
    GigabitEthernet0/1.15, Null, 3d17h/never

RB2:
(2001:610:408:2::5, FF3E:20:2001:660::BEAC), 1d12h/00:03:23, flags: ST
  Incoming interface: GigabitEthernet0/3
  RPF nbr: FE80::20C:86FF:FE9A:2819
  Immediate Outgoing interface list:
    Tunnel396, Forward, 1d12h/00:03:23
  Inherited Outgoing interface list:
    GigabitEthernet0/2.15, Forward, 00:00:05/never

Gi0/3 is between RB1 and RB2, RB1 Tun302 is upstream, RB2 Tun396 is to
RA1, Gi0/x.15 is to the host. There is a receiver for that group behind
RA1 so the state is actually there since a long time.

After some seconds to minutes there comes an assert message from RB1

Mar 12 21:02:49: IPv6 PIM: (2001:610:408:2::5,FF3E:20:2001:660::BEAC)
GigabitEthernet0/1.15 Processing timers
Mar 12 21:02:49: IPv6 PIM: (2001:610:408:2::5,FF3E:20:2001:660::BEAC)
Send  [20/20] Assert on GigabitEthernet0/1.15

which RB2 reacts on and stops sending that source to the interface
because RB1 has a better path to the source.

Mar 12 21:02:49: IPv6 PIM: (2001:610:408:2::5,FF3E:20:2001:660::BEAC)
Received [20/20] Assert from FE80::20C:86FF:FE9A:281B on
GigabitEthernet0/2.15
Mar 12 21:02:49: IPv6 PIM: (2001:610:408:2::5,FF3E:20:2001:660::BEAC)
Assert processing message wins
Mar 12 21:02:49: IPv6 PIM: (2001:610:408:2::5,FF3E:20:2001:660::BEAC)
GigabitEthernet0/2.15 Start assert timer (winner
FE80::20C:86FF:FE9A:281B)
Mar 12 21:02:49: IPv6 PIM: (2001:610:408:2::5,FF3E:20:2001:660::BEAC)
GigabitEthernet0/2.15 FWD state change from Forward to Prune

but, unfortunately, backbone1 does not start sending on Gi0/1.15, so
effectively the Host does not receive traffic at all anymore

RB1:
(2001:610:408:2::5, FF3E:20:2001:660::BEAC), 3d18h/00:02:58, flags: ST
  Incoming interface: Tunnel302
  RPF nbr: FE80::2A0:A5FF:FE28:1174
  Immediate Outgoing interface list:
    GigabitEthernet0/3, Forward, 1d12h/00:02:58
    GigabitEthernet0/1.15, Null, 3d18h/never

RB2:
(2001:610:408:2::5, FF3E:20:2001:660::BEAC), 1d12h/00:02:42, flags: ST
  Incoming interface: GigabitEthernet0/3
  RPF nbr: FE80::20C:86FF:FE9A:2819
  Immediate Outgoing interface list:
    GigabitEthernet0/2.15, Null, 00:04:08/never
    Tunnel396, Forward, 1d12h/00:02:42

funny thing is, there are still six sources in that group no assert
messages were sent for and thus are continuing to be forwarded. Two of
them are behind RA1 Peer1, one behind RA1 Peer2 and three on upstream,
so it is apparently not only related to the source (altough all sources
through RA1 come through, prolly because the assert message was "turn
down" due to better path).

RB1 and RB2 are NPE-G1 running 12.2(25)S3, RA1 is NPE-400 running
12.3(8)T6. Anyone having any ideas how to solve that without
singlehoming the host's segment?

Bernhard


More information about the cisco-nsp mailing list