[Xorp-users] IPv6 multicast traffic does not pass

Шинкарук Дмитрий dimashink at gmail.com
Tue May 5 08:38:14 PDT 2015


To: xorp-users at xorp.org


Hello,
I am trying to make xorp ipv6 multicast routing work with the following
network configuration:

Sender (2001::1) ------ (2001::2) xorp_router_1 (2002::1) ------- (2002::2)
xorp_router_2 (2003::1) ------ Receiver (2003::2)

Sender and receiver use multicast test tools for sending and receiving
multicast traffic respectively.
Multicast group is ff08::2:1.
I can see on sender interface with tcpdump:
19:20:03.123399 IP6 2001::1.50909 > ff08::2:1.5004: UDP, length 16
19:20:04.127054 IP6 2001::1.50909 > ff08::2:1.5004: UDP, length 16
19:20:05.129661 IP6 2001::1.50909 > ff08::2:1.5004: UDP, length 16
19:20:06.133316 IP6 2001::1.50909 > ff08::2:1.5004: UDP, length 16
19:20:07.137012 IP6 2001::1.50909 > ff08::2:1.5004: UDP, length 17
19:20:08.141263 IP6 2001::1.50909 > ff08::2:1.5004: UDP, length 16

and so on...

Every  xorp_router has similar XORP configuration files:

interfaces {
    interface "eth5" {
        default-system-config
    }
    interface "eth3" {
        default-system-config
    }
    interface "eth4" {
        default-system-config
    }
}

fea {
    unicast-forwarding4 {
        disable: true
    }
    unicast-forwarding6 {
        disable: true
    }
}

plumbing {
    mfea6 {
       disable: false
        interface "eth5" {
            vif "eth5" {
                disable: false
            }
        }
        interface "eth4" {
            vif "eth4" {
                disable: false
            }
        }
        interface register_vif {
            vif register_vif {
                disable: false
            }
        }
 traceoptions {
    flag all {
 disable: false
    }
 }
    }
}

protocols {
    mld {
    disable: false
    interface "eth5" {
        vif "eth5" {
        }
    }
    interface "eth4" {
        vif "eth4" {
        }
    }
 traceoptions {
    flag all {
 disable: false
    }
 }
    }
}

protocols {
    pimsm6 {
    disable: false
    interface "eth5" {
        vif "eth5" {
        }
    }
    interface "eth4" {
        vif "eth4" {
        }
    }
    interface register_vif {
        vif register_vif {
            disable: false
        }
    }
    static-rps {
        rp 2002::1 {
            group-prefix ff00::/8 {
            }
        }
    }
 traceoptions {
    flag all {
 disable: false
    }
 }
    }
}

protocols {
    fib2mrib {
       disable: false
   }
}

When I start stream sender and receiver I can see following output on
routers:

For XORP_ROUTER_1

root at xorp_router_1> show pim6 join
Group           Source          RP              Flags
ff08::2:1       ::              2002::1         WC
    Upstream interface (RP):   register_vif
    Upstream MRIB next hop (RP): UNKNOWN
    Upstream RPF'(*,G):        UNKNOWN
    Upstream state:            Joined
    Join timer:                8
    Local receiver include WC: ....
    Joins RP:                  ....
    Joins WC:                  .O..
    Join state:                .O..
    Prune state:               ....
    Prune pending state:       ....
    I am assert winner state:  ....
    I am assert loser state:   ....
    Assert winner WC:          ....
    Assert lost WC:            ....
    Assert tracking WC:        .O.O
    Could assert WC:           .O..
    I am DR:                   .OOO
    Immediate olist RP:        ....
    Immediate olist WC:        .O..
    Inherited olist SG:        .O..
    Inherited olist SG_RPT:    .O..
    PIM include WC:            ....

root at xorp_router_1> show pim6 mfc
Group           Source          RP

root at xorp_router_1> show mfea6 dataflow
Group                                   Source

root at xorp_router_1> show mld group
Interface    Group           Source          LastReported Timeout V State
eth4         ff02::2         ::              fe80::a00:27ff:fe18:f206
34 1     E
eth4         ff02::16        ::              fe80::a00:27ff:fe18:f206
160 1     E

root at xorp_router_1> show pim6 neighbors
Interface    DRpriority NeighborAddr    V Mode   Holdtime Timeout
eth6                  1 fe80::a00:27ff:fe5a:dc05 2 Sparse      105      72
                        2002::1

root at xorp_router_1:~# ip -6 ro
2002::/64 dev eth6  proto kernel  metric 256
2003::/64 dev eth4  proto kernel  metric 256
fe80::/64 dev eth3  proto kernel  metric 256
fe80::/64 dev eth4  proto kernel  metric 256
fe80::/64 dev eth6  proto kernel  metric 256


For XORP_ROUTER_2

root at xorp_router_2> show pim6 join
Group           Source          RP              Flags
ff08::2:1       ::              2002::1         WC
    Upstream interface (RP):   eth6
    Upstream MRIB next hop (RP): fe80::a00:27ff:fe5a:dc05
    Upstream RPF'(*,G):        fe80::a00:27ff:fe5a:dc05
    Upstream state:            Joined
    Join timer:                28
    Local receiver include WC: .O...
    Joins RP:                  .....
    Joins WC:                  .....
    Join state:                .....
    Prune state:               .....
    Prune pending state:       .....
    I am assert winner state:  .....
    I am assert loser state:   .....
    Assert winner WC:          .....
    Assert lost WC:            .....
    Assert tracking WC:        .O.O.
    Could assert WC:           .O...
    I am DR:                   .O..O
    Immediate olist RP:        .....
    Immediate olist WC:        .O...
    Inherited olist SG:        .O...
    Inherited olist SG_RPT:    .O...
    PIM include WC:            .O...

root at xorp_router_2> show pim6 mfc
Group           Source          RP

root at xorp_router_2> show mfea6 dataflow
Group                                   Source

root at xorp_router_2> show mld group
Interface    Group           Source          LastReported Timeout V State
eth4         ff08::2:1       ::              fe80::a00:27ff:fea8:6cb1
199 1     E
eth6         ff02::2         ::              fe80::a00:27ff:fe5a:dc05
199 1     E
eth6         ff02::d         ::              fe80::a00:27ff:fe5a:dc05
75 1     E

root at xorp_router_2> show pim6 neighbors
Interface    DRpriority NeighborAddr    V Mode   Holdtime Timeout
eth4                  1 fe80::a00:27ff:fe18:f206 2 Sparse      105      98
                        2002::2


root at xorp_router_2:~# ip -6 ro
2001::/64 dev eth5  proto kernel  metric 256
2002::/64 dev eth4  proto kernel  metric 256
fe80::/64 dev eth3  proto kernel  metric 256
fe80::/64 dev eth4  proto kernel  metric 256
fe80::/64 dev eth5  proto kernel  metric 256

Moreover, on xorp_router_2 in logs I can see records like this:
--------------Skipped lines--------------------
[ 2015/05/05 18:34:20.999718  WARNING xorp_rtrmgr:1855 XrlFinderTarget
obj/x86_64-unknown-linux-gnu/xrl/targets/finde
r_base.cc:1135 handle_finder_0_2_resolve_xrl ] Handling method for
finder/0.2/resolve_xrl failed: XrlCmdError 102 Com
mand failed Target "policy" does not exist or is not enabled.
[ 2015/05/05 18:34:20.999818  WARNING xorp_rtrmgr:1855 RTRMGR
rtrmgr/task.cc:215 xrl_done ] Failed to receive reply,
code: 201 Resolve failed  retries: 0  max_retries: 30
[ 2015/05/05 18:34:21.22377 TRACE xorp_mld MLD6IGMP ] mld6igmp_process:  RX
MLD_LISTENER_REPORT from fe80::a00:27ff:f
ea8:6cb1 to ff08::2:1 on vif eth4
[ 2015/05/05 18:34:21.22445 TRACE xorp_mld MLD6IGMP ] Notify routing add
membership for (::, ff08::2:1) on vif eth4
[ 2015/05/05 18:34:21.22540 TRACE xorp_mld MLD6IGMP ] mld6igmp_process:  RX
MLD_LISTENER_REPORT from fe80::a00:27ff:f
ea8:6cb1 to ff08::2:1 on vif eth4
[ 2015/05/05 18:34:21.23264 TRACE xorp_pimsm6 PIM ] Add membership for (::,
ff08::2:1) on vif eth4
[ 2015/05/05 18:34:21.23373 WARNING xorp_pimsm6 PIM ] JoinDesired(*,G) =
true: upstream neighbor for RP 2002::1 for g
roup ff08::2:1: not found
[ 2015/05/05 18:34:21.275210 TRACE xorp_pimsm6 PIM ] pim_send: TX PIM_HELLO
from fe80::a00:27ff:fe67:41dc to ff02::d
on vif eth4
[ 2015/05/05 18:34:22.2297  INFO xorp_rtrmgr:1855 RTRMGR
rtrmgr/module_manager.cc:101 execute ] Executing module: fib
2mrib (xorp_fib2mrib)
[ 2015/05/05 18:34:22.3574  WARNING xorp_rtrmgr:1855 XrlFinderTarget
obj/x86_64-unknown-linux-gnu/xrl/targets/finder_
base.cc:1135 handle_finder_0_2_resolve_xrl ] Handling method for
finder/0.2/resolve_xrl failed: XrlCmdError 102 Comma
nd failed Target "fib2mrib" does not exist or is not enabled.
[ 2015/05/05 18:34:22.3801  WARNING xorp_rtrmgr:1855 RTRMGR
rtrmgr/task.cc:215 xrl_done ] Failed to receive reply, co
de: 201 Resolve failed  retries: 0  max_retries: 30
--------------Skipped lines--------------------

What's wrong with this configuration? I had before problems in ipv4
multicast, solution there was in dropping rp_filter flags.
Are there any special flags or actions that should be done to make
multicast traffic pass?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-users/attachments/20150505/da63fe0c/attachment.html 


More information about the Xorp-users mailing list