[Xorp-users] Multicast problem

Sebastien Cruaux cruaux at enseirb.fr
Thu Dec 14 11:11:00 PST 2006


Hi,
Here is my network configuration :

(A) 192.168.0.3/24 --------------- 192.168.0.2/24 (Router) 172.17.0.10 
----------- 172.17.0.1 (Source)

The flow should go from the Source (a VLC server) to A but it is not 
send to the 192.168.0.0/24 network.

There is no firewall.
We checked the ttl and it was set to 1, we set it to 10 but the flow is 
still not going on the 192.168.0.2 interface of the router.
No igmp packets are sent on this interface.

As you can see in the "show pim join" message, the group is not 
"joined". I think that comes from the rp-static address. I set it to 
172.17.0.10 as the flow comes from this interface. Is it the right way 
to configure it ?

When i start the multicast flow i get this from xorp log :

[ 2006/12/14 15:50:11 TRACE xorp_pimsm4 PIM ] TX PIM_HELLO from 
172.17.0.10 to 224.0.0.13 on vif eth0
[ 2006/12/14 15:50:19 TRACE xorp_fea MFEA ] RX kernel signal: 
message_type = 1 vif_index = 1 src = 172.17.0.1 dst = 224.2.120.250
[ 2006/12/14 15:50:19 TRACE xorp_pimsm4 PIM ] RX NOCACHE signal from 
MFEA_4: vif_index = 1 src = 172.17.0.1 dst = 224.2.120.250
[ 2006/12/14 15:50:19 TRACE xorp_pimsm4 PIM ] Add MFC entry: 
(172.17.0.1, 224.2.120.250) iif = 1 olist = ... olist_disable_wrongvif = OOO
[ 2006/12/14 15:50:19 TRACE xorp_pimsm4 PIM ] Add dataflow monitor: 
source = 172.17.0.1 group = 224.2.120.250 threshold_interval_sec = 210 
threshold_interval_usec = 0 threshold_packets = 0 threshold_bytes = 0 
is_threshold_in_packets = 1 is_threshold_in_bytes = 0 is_geq_upcall = 0 
is_leq_upcall = 1
[ 2006/12/14 15:50:19 TRACE xorp_fea MFEA ] Add MFC entry: (172.17.0.1, 
224.2.120.250) iif = 1 olist = ...


Here is the show pim join (i deleted some entries) :


root at localhost.localdomain> show pim join
Group           Source          RP              Flags
224.2.127.254   0.0.0.0         172.17.0.10     WC
    Upstream interface (RP):   register_vif
    Upstream MRIB next hop (RP): UNKNOWN
    Upstream RPF'(*,G):        UNKNOWN
    Upstream state:            Joined
    Join timer:                25
    Local receiver include WC: .O.
    Joins RP:                  ...
    Joins WC:                  ...
    Join state:                ...
    Prune state:               ...
    Prune pending state:       ...
    I am assert winner state:  .O.
    I am assert loser state:   ...
    Assert winner WC:          .O.
    Assert lost WC:            ...
    Assert tracking WC:        .OO
    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:            .O.
239.195.255.255 0.0.0.0         172.17.0.10     WC
..........
239.249.165.76  0.0.0.0         172.17.0.10     WC
..........
239.255.255.250 0.0.0.0         172.17.0.10     WC
..........
239.255.255.255 0.0.0.0         172.17.0.10     WC
..........
224.2.120.250   172.17.0.1      172.17.0.10     SG DirectlyConnectedS
    Upstream interface (S):    eth0
    Upstream interface (RP):   register_vif
    Upstream MRIB next hop (RP): UNKNOWN
    Upstream MRIB next hop (S):  UNKNOWN
    Upstream RPF'(S,G):        UNKNOWN
    Upstream state:            NotJoined
    Register state:            RegisterNoinfo RegisterNotCouldRegister
    Join timer:                -1
    KAT(S,G) running:          true
    Local receiver include WC: ...
    Local receiver include SG: ...
    Local receiver exclude SG: ...
    Joins RP:                  ...
    Joins WC:                  ...
    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:        ...
    Could assert WC:           ...
    Could assert SG:           ...
    I am DR:                   OOO
    Immediate olist RP:        ...
    Immediate olist WC:        ...
    Immediate olist SG:        ...
    Inherited olist SG:        ...
    Inherited olist SG_RPT:    ...
    PIM include WC:            ...
    PIM include SG:            ...
    PIM exclude SG:            ...
224.2.127.254   172.17.0.1      172.17.0.10     SG SPT DirectlyConnectedS
..........



The show igmp group (the 224.2.120.250 is not present) :

root at localhost.localdomain> show igmp group
Interface    Group           Source          LastReported Timeout V State
ath0         224.0.0.2       0.0.0.0         192.168.0.2      185 2     E
ath0         224.0.0.13      0.0.0.0         192.168.0.2      185 2     E
ath0         224.0.0.22      0.0.0.0         192.168.0.2      185 2     E
ath0         224.0.0.251     0.0.0.0         192.168.0.2      186 2     E
eth0         224.0.0.2       0.0.0.0         172.17.0.10      185 2     E
eth0         224.0.0.5       0.0.0.0         172.17.0.10      184 2     E
eth0         224.0.0.6       0.0.0.0         172.17.0.10      194 2     E
eth0         224.0.0.9       0.0.0.0         172.17.0.10      189 2     E
eth0         224.0.0.13      0.0.0.0         172.17.0.10      189 2     E
eth0         224.0.0.22      0.0.0.0         172.17.0.10      190 2     E
eth0         224.0.0.251     0.0.0.0         172.17.0.10      185 2     E
eth0         224.2.127.254   0.0.0.0         172.17.0.2       194 2     E
eth0         239.195.255.255 0.0.0.0         172.17.0.2       189 2     E
eth0         239.249.165.76  0.0.0.0         172.17.0.100     191 2     E
eth0         239.255.255.250 0.0.0.0         172.17.0.4       185 2     E
eth0         239.255.255.255 0.0.0.0         172.17.0.2       191 2     E

My config.boot :

interfaces {
    interface eth0 {
    description: "data interface"
    disable: false
    /* default-system-config */
    vif eth0 {
        disable: false
        address 172.17.0.10 {
        prefix-length: 24
        broadcast: 172.17.0.255
        disable: false
        }
    }
    }

    interface ath0 {
    description: "data interface"
    disable: false
    /* default-system-config */
    vif ath0 {
        disable: false
        address 192.168.0.2 {
        prefix-length: 24
        broadcast: 192.168.0.255
        disable: false
        }
    }
    }
}

plumbing {
    mfea4 {
    disable: false
    interface eth0 {
        vif eth0 {
        disable: false
        }
    }
    interface ath0 {
        vif ath0 {
        disable: false
        }
    }
    interface register_vif {
        vif register_vif {
        disable: false
        }
    }
    traceoptions {
        flag all {
        disable: false
        }
    }
    }
}

protocols {
    igmp {
    disable: false
    interface eth0 {
        vif eth0 {
        disable: false
        }
    }
    interface ath0 {
        vif ath0 {
        disable: false
        }
    }
    traceoptions {
        flag all {
        disable: false
        }
    }
    }
}

protocols {
    pimsm4 {
    disable: false
    interface eth0 {
        vif eth0 {
        disable: false
        }
    }
    interface ath0 {
        vif ath0 {
        disable: false
        }
    }
    interface register_vif {
        vif register_vif {
        /* Note: this vif should be always enabled */
        disable: false
        }
    }

    static-rps {
        rp 172.17.0.10 {
        group-prefix 224.0.0.0/4 {
            /* rp-priority: 192 */
            /* hash-mask-len: 30 */
        }
        }
    }

    traceoptions {
        flag all {
        disable: false
        }
    }
    }
}

protocols {
    fib2mrib {
    disable: false
    }
}


Regards, Sebastien.

Pavlin Radoslavov a écrit :
>> source------(R1)-------destination
>>
>> xorp is running on R1, pimsm, igmp, mfea4, fea and fib2mrib are enabled.
>>
>> I am using VLC to send a multicast traffic but nothing is forwarded to  
>> the destination.
>> Everything seems to be good in the configuration and IGMP Membership  
>> Reports and PIM Hello are received in the xorp log messages.
>>
>> R1 is the RP, is this a problem ? (I configured it statically)
>> Should I use another router for the RP ? I mean, as :
>>
>> source----(R1)------(R2=RP)-------destination
>>     
>
> Static RP is fine and actually recommended for your setup.
> And no, there is no need for a second router.
>
> Two of the most frequent issues are:
>
> 1. Is the TTL of the sender's data traffic large enough?
>    By default the TTL is 1 so the data traffic won't be forwarded.
>
> 2. Are there any firewall rules that might affect the multicast
>    forwrading in any way (e.g., rules that filter the IGMP messages,
>    etc).
>
> If the issue is not one of those two, then please send your XORP
> configuration and the output of the following xorpsh commands:
>
> show igmp group
> show pim join
>
> Regards,
> Pavlin
>
>   



More information about the Xorp-users mailing list