[Xorp-users] Second router in a chain does not add mfc entry
Шинкарук Дмитрий
dimashink at gmail.com
Wed Jun 5 02:17:40 PDT 2013
2013/6/3 Шинкарук Дмитрий <dimashink at gmail.com>
> Oh yeah!
> Before I set rp_filter flags like this:
>
> echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter
>
> and so on for all interfaces.
> I've just tried to set flag /proc/sys/net/ipv4/conf/default/rp_filter to
> 0, as you suggested, but this didn't help.
>
> Then I set flag /proc/sys/net/ipv4/conf/all/rp_filter to 0, and Receiver
> started to receive packets.
>
> Thank you very much!
>
>
>
> 2013/6/3 Dan Rosenqvist <danro at kth.se>
>
>> Hi,
>>
>>
>>
>> Have you checked /proc/sys/net/ipv4/ip_forward is set to 1 and that
>> /proc/sys/net/ipv4/conf/default/rp_filter is set to 0 for all interfaces
>> and routers?
>>
>>
>>
>> I've had some strange behaviour regarding these two (especially the rp
>> filter).
>>
>>
>>
>> Regards,
>>
>> Dan
>>
>> ------------------------------
>>
>> *Från:* Шинкарук Дмитрий [dimashink at gmail.com]
>> *Skickat:* den 3 juni 2013 12:14
>> *Till:* Dan Rosenqvist
>> *Ämne:* Re: [Xorp-users] Second router in a chain does not add mfc entry
>>
>> Hi Dan,
>> Unicast routing is enabled on all routers, and every router can ping each
>> other. This problem occurs even if I ommit xorp_router_1, so Receiver is
>> directly connected to xorp_router_2 - no mfc entries are inserted. But
>> 'show pim join' shows that everything is OK.
>> I am surprised that xorp_router_3 inserts mfc entry and sends packets to
>> xorp_router_2 (tcpdump shows that) but they do not go through xorp_router_2.
>>
>>
>>
>>
>> 2013/6/3 Dan Rosenqvist <danro at kth.se>
>>
>>> Hi,
>>>
>>> Is unicast routing activated on your routers and in that case can you
>>> provide your uc routing tables?
>>>
>>> Pim uses the uc routing table to forward mc frames.
>>>
>>> Regards,
>>> Dan
>>> ________________________________________
>>> Från: xorp-users-bounces at xorp.org [xorp-users-bounces at xorp.org]
>>> för Шинкарук Дмитрий [dimashink at gmail.com]
>>> Skickat: den 2 juni 2013 22:03
>>> Till: xorp-users at xorp.org
>>> Ämne: [Xorp-users] Second router in a chain does not add mfc entry
>>>
>>> Hello,
>>> I am trying to make xorp multicast routing work with the following
>>> network configuration:
>>>
>>> Receiver (10.1.2.2) ------ (10.1.2.1) xorp_router_1 (10.1.3.1) -------
>>> (10.1.3.2) xorp_router_2 (10.1.4.1) ------- (10.1.4.2) xorp_router_3
>>> (10.1.1.1) ------ Sender (10.1.1.2)
>>>
>>> Sender and receiver use VLC for sending and receiving multicast traffic
>>> respectively.
>>> Every xorp_router has similar XORP configuration files:
>>>
>>> interfaces {
>>> restore-original-config-on-shutdown: false
>>> interface eth2 {
>>> disable: false
>>> default-system-config
>>> }
>>> interface eth3 {
>>> disable: false
>>> default-system-config
>>> }
>>>
>>> }
>>>
>>> fea {
>>> unicast-forwarding4 {
>>> disable: true
>>> }
>>> }
>>>
>>> plumbing {
>>> mfea4 {
>>> disable: false
>>> interface eth2 {
>>> vif eth2 {
>>> disable: false
>>> }
>>> }
>>> interface eth3 {
>>> vif eth3 {
>>> disable: false
>>> }
>>> }
>>> interface register_vif {
>>> vif register_vif {
>>> /* Note: this vif should be always enabled */
>>> disable: false
>>> }
>>> }
>>> traceoptions {
>>> flag all {
>>> disable: false
>>> }
>>> }
>>> }
>>>
>>> }
>>>
>>> protocols {
>>> igmp {
>>> disable: false
>>> interface eth2 {
>>> vif eth2 {
>>> disable: false
>>> }
>>> }
>>> interface eth3 {
>>> vif eth3 {
>>> disable: false
>>> }
>>> }
>>> traceoptions {
>>> flag all {
>>> disable: false
>>> }
>>> }
>>> }
>>> }
>>>
>>> protocols {
>>> pimsm4 {
>>> disable: false
>>> interface eth2 {
>>> vif eth2 {
>>> disable: false
>>> }
>>> }
>>> interface eth3 {
>>> vif eth3 {
>>> disable: false
>>> }
>>> }
>>>
>>> interface register_vif {
>>> vif register_vif {
>>> /* Note: this vif should be always enabled */
>>> disable: false
>>> }
>>> }
>>>
>>> static-rps {
>>> rp 10.1.4.2 {
>>> group-prefix 224.0.0.0/4<http://224.0.0.0/4> {
>>>
>>> }
>>> }
>>> }
>>> 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 pim join
>>> Group Source RP Flags
>>> 230.230.230.1 0.0.0.0 10.1.4.2 WC
>>> Upstream interface (RP): eth2
>>> Upstream MRIB next hop (RP): 10.1.3.2
>>> Upstream RPF'(*,G): 10.1.3.2
>>> Upstream state: Joined
>>> Join timer: 52
>>> 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: OO.
>>> Could assert WC: .O.
>>> I am DR: .OO
>>> Immediate olist RP: ...
>>> Immediate olist WC: .O.
>>> Inherited olist SG: .O.
>>> Inherited olist SG_RPT: .O.
>>> PIM include WC: .O.
>>>
>>> root at xorp_router_1> show pim mfc
>>> Group Source RP
>>>
>>> root at xorp_router_1> show mfea dataflow
>>> Group Source
>>>
>>> root at xorp_router_1> show igmp group
>>> Interface Group Source LastReported Timeout V State
>>> eth2 224.0.0.2 0.0.0.0 10.1.3.2 250 2 E
>>> eth2 224.0.0.13 0.0.0.0 10.1.3.2 251 2 E
>>> eth2 224.0.0.22 0.0.0.0 10.1.3.2 254 2 E
>>> eth3 224.0.0.2 0.0.0.0 10.1.2.1 255 2 E
>>> eth3 224.0.0.13 0.0.0.0 10.1.2.1 254 2 E
>>> eth3 224.0.0.22 0.0.0.0 10.1.2.1 251 2 E
>>> eth3 230.230.230.1 0.0.0.0 10.1.2.2 255 2 E
>>>
>>> For XORP_ROUTER_2
>>>
>>> root at xorp_router_2> show pim join
>>> Group Source RP Flags
>>> 230.230.230.1 0.0.0.0 10.1.4.2 WC
>>> Upstream interface (RP): eth9
>>> Upstream MRIB next hop (RP): 10.1.4.2
>>> Upstream RPF'(*,G): 10.1.4.2
>>> Upstream state: Joined
>>> Join timer: 46
>>> 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: OO.
>>> 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: ...
>>>
>>> root at xorp_router_2> show pim mfc
>>> Group Source RP
>>>
>>> root at xorp_router_2> show mfea dataflow
>>> Group Source
>>>
>>> root at xorp_router_2> show igmp group
>>> Interface Group Source LastReported Timeout V State
>>> eth8 224.0.0.2 0.0.0.0 10.1.3.2 242 2 E
>>> eth8 224.0.0.13 0.0.0.0 10.1.3.2 246 2 E
>>> eth8 224.0.0.22 0.0.0.0 10.1.3.2 248 2 E
>>> eth9 224.0.0.2 0.0.0.0 10.1.4.1 257 2 E
>>> eth9 224.0.0.13 0.0.0.0 10.1.4.2 259 2 E
>>> eth9 224.0.0.22 0.0.0.0 10.1.4.1 256 2 E
>>>
>>> For XORP_ROUTER_3
>>>
>>> root at xorp_router_3> show pim join
>>> Group Source RP Flags
>>> --------- Some lines are skipped------------
>>> 230.230.230.1 10.1.1.2 10.1.4.2 SG SPT DirectlyConnectedS
>>> Upstream interface (S): eth11
>>> Upstream interface (RP): register_vif
>>> Upstream MRIB next hop (RP): UNKNOWN
>>> Upstream MRIB next hop (S): UNKNOWN
>>> Upstream RPF'(S,G): UNKNOWN
>>> Upstream state: Joined
>>> Register state: RegisterNoinfo RegisterNotCouldRegister
>>> Join timer: 40
>>> KAT(S,G) running: true
>>> Local receiver include WC: ...
>>> Local receiver include SG: ...
>>> Local receiver exclude SG: ...
>>> Joins RP: ...
>>> Joins WC: O..
>>> Joins SG: ...
>>> Join state: ...
>>> Prune state: ...
>>> Prune pending state: ...
>>> I am assert winner state: ...
>>> I am assert loser state: ...
>>> Assert winner WC: ...
>>> Assert winner SG: ...
>>> Assert lost WC: ...
>>> Assert lost SG: ...
>>> Assert lost SG_RPT: ...
>>> Assert tracking SG: OO.
>>> Could assert WC: O..
>>> Could assert SG: O..
>>> I am DR: OOO
>>> Immediate olist RP: ...
>>> Immediate olist WC: O..
>>> Immediate olist SG: ...
>>> Inherited olist SG: O..
>>> Inherited olist SG_RPT: O..
>>> PIM include WC: ...
>>> PIM include SG: ...
>>> PIM exclude SG: ...
>>>
>>> root at xorp_router_3> show pim mfc
>>> Group Source RP
>>> 230.230.230.1 10.1.1.2 10.1.4.2
>>> Incoming interface : eth11
>>> Outgoing interfaces: O..
>>>
>>> root at xorp_router_3> show mfea dataflow
>>> Group Source
>>> 230.230.230.1 10.1.1.2
>>> Measured(Start|Packets|Bytes) Type Thresh(Interval|Packets|Bytes)
>>> Remain
>>> 4448.914180|0|? <= 210.0|0|?
>>> 159.890042
>>>
>>> root at xorp_router_3> show igmp group
>>> Interface Group Source LastReported Timeout V State
>>> eth10 224.0.0.2 0.0.0.0 10.1.4.1 248 2 E
>>> eth10 224.0.0.13 0.0.0.0 10.1.4.2 250 2 E
>>> eth10 224.0.0.22 0.0.0.0 10.1.4.1 248 2 E
>>> eth11 224.0.0.2 0.0.0.0 10.1.1.1 255 2 E
>>> eth11 224.0.0.13 0.0.0.0 10.1.1.1 138 2 E
>>> eth11 224.0.0.22 0.0.0.0 10.1.1.1 259 2 E
>>>
>>> Moreover, on xorp_router_3 in logs I can see records about adding entry
>>> to MFEA. But there are no such records in logs on xorp_router_1 and 2:
>>> --------------Skipped lines--------------------
>>> [ 2013/06/02 23:58:12.76422 TRACE xorp_pimsm4 PIM ] RX PIM_JOIN_PRUNE
>>> from 10.1.4.1 to 224.0.0.13 on vif eth10
>>> [ 2013/06/02 23:58:12.76729 TRACE xorp_pimsm4 PIM ] Add MFC entry:
>>> (10.1.1.2, 230.230.230.1) iif = 1 olist = O.. olist_disable_wrongvif = ..O
>>> [ 2013/06/02 23:58:12.76893 TRACE xorp_pimsm4 PIM ] Add MFC entry:
>>> (10.1.1.2, 230.230.230.1) iif = 1 olist = O.. olist_disable_wrongvif = .OO
>>> [ 2013/06/02 23:58:12.77098 TRACE xorp_fea:2032 MFEA
>>> fea/mfea_mrouter.cc:1568 add_mfc ] Add MFC entry: (10.1.1.2, 230.230.230.1)
>>> iif = 1 olist = O..
>>> [ 2013/06/02 23:58:12.77362 TRACE xorp_fea:2032 MFEA
>>> fea/mfea_mrouter.cc:1568 add_mfc ] Add MFC entry: (10.1.1.2, 230.230.230.1)
>>> iif = 1 olist = O..
>>> --------------Skipped lines--------------------
>>>
>>> What's wrong with this configuration? Why second and third routers don't
>>> add entries to mfc?
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-users/attachments/20130605/4acc402f/attachment-0001.html
More information about the Xorp-users
mailing list