unknown
1970-01-01 00:00:00 UTC
--000e0ce03f6aac29f904783d50e7
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Hi Everton,<br>
<br>
Below are the answers :<br>
<br>
1) "ip pim ssm" is enabled on node1 ra_sta0 as well as node2 ra_sta0.<br>
<br>
2) I do see in wireshark trace that ra_sta0 on both nodes 1 and 2 are receiving
PIMv2 "Hello" packets however they are addressed to 224.0.0.13.<br>
<br>
3) Don't see any error logs on nodes 1 and 2. Below is the output of
"show ip pim hello" on both nodes 1 and 2. Please notice the "Rfail"
counters.<br>
<br>
node1# show ip pim hello<br>
Interface Address Period Timer StatStart Recv Rfail Send Sfail<br>
ra_ap0 192.168.4.20 00:30 00:05 29:57:50 0 3496 3595 0<br>
ra_sta0 192.168.3.20 00:30 00:04 29:57:50 3496 3496 3595 0<br>
node1# <br>
<br>
node2# show ip pim hello<br>
Interface Address Period Timer StatStart Recv Rfail Send Sfail<br>
ra_ap0 192.168.5.10 00:30 00:04 29:56:48 0 3590 3593 0<br>
ra_sta0 192.168.3.10 00:30 00:07 29:56:48 3590 3590 3593 0<br>
node2# <br>
<br>
<br>
Thanks,<br><br><div class="gmail_quote">On Wed, Nov 11, 2009 at 6:04 AM, Everton Marques <span dir="ltr"><<a href="mailto:***@gmail.com" target="_blank">***@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi,<br>
<br>
I think the problem is node2 fails to bring up the node1 as pim neighbor<br>
on ra_sta0, since node1 is missing from node2 "show ip pim neighbor".<br>
<br>
Can you please double check the following?<br>
<br>
1) "ip pim ssm" is enabled on node1 ra_sta0 ?<br>
2) node2 is receiving pim hello packets from node1 on ra_sta0 ?<br>
3) node2 pimd is logging any error/warning ? look for messages about<br>
packets from node1, specially hello packets.<br>
<br>
Thanks,<br>
<font color="#888888">Everton<br>
</font><div><div></div><div><br>
On Wed, Nov 11, 2009 at 4:48 AM, Yoda geek <<a href="mailto:***@gmail.com" target="_blank">***@gmail.com</a>> wrote:<br>
> Below is the output as requested<br>
><br>
><br>
> User Access Verification<br>
><br>
> Password:<br>
><br>
> node2> enable<br>
><br>
> Password:<br>
><br>
> node2# show ip igmp interface<br>
><br>
> Interface Address ifIndex Socket Uptime Multi Broad MLoop AllMu Prmsc Del<br>
><br>
> ra_ap0 192.168.5.10 5 9 00:34:40 yes yes yes no no no<br>
><br>
> node2# show ip igmp interface group<br>
><br>
> Interface Address Group Mode Timer Srcs V Uptime<br>
><br>
> ra_ap0 192.168.5.10 224.0.0.13 EXCL 00:03:55 0 3 00:34:48<br>
><br>
> ra_ap0 192.168.5.10 224.0.0.22 EXCL 00:03:55 0 3 00:34:48<br>
><br>
> ra_ap0 192.168.5.10 239.255.255.250 EXCL 00:03:59 0 3 00:02:17<br>
><br>
> node2# show ip igmp group sources<br>
><br>
> Interface Address Group Source Timer Fwd Uptime<br>
><br>
> node2# show ip igmp sources pim designated-router<br>
><br>
> NonPri: Number of neighbors missing DR Priority hello option<br>
><br>
> Interface Address DR Uptime Elections NonPri<br>
><br>
> ra_ap0 192.168.5.10 192.168.5.10 00:35:16 1 0<br>
><br>
> ra_sta0 192.168.3.10 192.168.3.10 00:35:16 1 0<br>
><br>
> node2# show ip pim designated-router hello<br>
><br>
> Interface Address Period Timer StatStart Recv Rfail Send Sfail<br>
><br>
> ra_ap0 192.168.5.10 00:30 00:08 00:35:23 0 70 71 0<br>
><br>
> ra_sta0 192.168.3.10 00:30 00:10 00:35:23 70 70 71 0<br>
><br>
> node2# show ip pim hello interface<br>
><br>
> Interface Address ifIndex Socket Uptime Multi Broad MLoop AllMu Prmsc Del<br>
><br>
> ra_ap0 192.168.5.10 5 10 00:35:30 yes yes no no no no<br>
><br>
> ra_sta0 192.168.3.10 6 11 00:35:30 yes yes no no no no<br>
><br>
> node2# show ip pim interface local-membership<br>
><br>
> Interface Address Source Group Membership<br>
><br>
> node2# show ip pim local-membership join<br>
><br>
> Interface Address Source Group State Uptime Expire Prune<br>
><br>
> node2# show ip pim join neighbor<br>
><br>
> Recv flags: H=holdtime L=lan_prune_delay P=dr_priority G=generation_id<br>
> A=address_list<br>
><br>
> T=can_disable_join_suppression<br>
><br>
> Interface Address Neighbor Uptime Timer Holdt DrPri GenId Recv<br>
><br>
> node2# show ip pim neighbor rpf<br>
><br>
> RPF Cache Refresh Delay: 10000 msecs<br>
><br>
> RPF Cache Refresh Timer: 0 msecs<br>
><br>
> RPF Cache Refresh Requests: 6<br>
><br>
> RPF Cache Refresh Events: 3<br>
><br>
> RPF Cache Refresh Last: 00:34:24<br>
><br>
> Source Group RpfIface RpfAddress RibNextHop Metric Pref<br>
><br>
> node2# show ip pim rpf upstream<br>
><br>
> Source Group State Uptime JoinTimer RefCnt<br>
><br>
> node2# show ip pim upstream-join-desired<br>
><br>
> Interface Source Group LostAssert Joins PimInclude JoinDesired EvalJD<br>
><br>
> node2# show ip pim upstream-join-desired rpf<br>
><br>
> Source Group RpfIface RibNextHop RpfAddress<br>
><br>
> node2# show ip pim upstream-rpf route 192.168.4.60<br>
><br>
> Address NextHop Interface Metric Preference<br>
><br>
> 192.168.4.60 192.168.3.20 ra_sta0 1 0<br>
><br>
> node2# q<br>
><br>
> On Tue, Nov 3, 2009 at 7:51 AM, Everton Marques <<a href="mailto:***@gmail.com" target="_blank">***@gmail.com</a>><br>
> wrote:<br>
>><br>
>> Hi,<br>
>><br>
>> Can you send the following commands from node2 ?<br>
>><br>
>> show ip igmp interface<br>
>> show ip igmp group<br>
>> show ip igmp sources<br>
>> show ip pim designated-router<br>
>> show ip pim hello<br>
>> show ip pim interface<br>
>> show ip pim local-membership<br>
>> show ip pim join<br>
>> show ip pim neighbor<br>
>> show ip pim rpf<br>
>> show ip pim upstream<br>
>> show ip pim upstream-join-desired<br>
>> show ip pim upstream-rpf<br>
>> show ip route 192.168.4.60<br>
>><br>
>> Thanks,<br>
>> Everton<br>
>><br>
>> On Mon, Nov 2, 2009 at 5:44 AM, Yoda geek <<a href="mailto:***@gmail.com" target="_blank">***@gmail.com</a>> wrote:<br>
>> > Hi Everton,<br>
>> ><br>
>> > I added the entry "ip pim ssm" on ra_ap0 as you suggested. I still<br>
>> > don't<br>
>> > see join request coming into the source. Below is what the configuration<br>
>> > looks like on the individual nodes:<br>
>> ><br>
>> > Node 1 pimd.conf<br>
>> > -------------------------<br>
>> > !<br>
>> > ! Zebra configuration saved from vty<br>
>> > ! 2009/08/08 05:03:23<br>
>> > !<br>
>> > hostname node1<br>
>> > password zebra<br>
>> > enable password zebra<br>
>> > log stdout<br>
>> > !<br>
>> > interface eth0<br>
>> > !<br>
>> > interface eth1<br>
>> > !<br>
>> > interface lo<br>
>> > !<br>
>> > interface ra_ap0<br>
>> > ip pim ssm<br>
>> > ip igmp query-interval 125<br>
>> > ip igmp query-max-response-time-dsec 100<br>
>> > !<br>
>> > interface ra_sta0<br>
>> > ip pim ssm<br>
>> > ip igmp query-interval 125<br>
>> > ip igmp query-max-response-time-dsec 100<br>
>> > !<br>
>> > !<br>
>> > ip multicast-routing<br>
>> > !<br>
>> > line vty<br>
>> > !<br>
>> ><br>
>> ><br>
>> > Node 2 pimd.conf<br>
>> > -------------------------<br>
>> > !<br>
>> > ! Zebra configuration saved from vty<br>
>> > ! 2009/08/09 22:38:12<br>
>> > !<br>
>> > hostname node2<br>
>> > password zebra<br>
>> > enable password zebra<br>
>> > log stdout<br>
>> > !<br>
>> > interface br-lan<br>
>> > !<br>
>> > interface eth0<br>
>> > !<br>
>> > interface eth1<br>
>> > !<br>
>> > interface lo<br>
>> > !<br>
>> > interface ra_ap0<br>
>> > ip pim ssm<br>
>> > ip igmp<br>
>> > ip igmp query-interval 125<br>
>> > ip igmp query-max-response-time-dsec 100<br>
>> > ip igmp join 239.255.255.250 192.168.4.60<br>
>> > !<br>
>> > interface ra_sta0<br>
>> > ip pim ssm<br>
>> > ip igmp query-interval 125<br>
>> > ip igmp query-max-response-time-dsec 100<br>
>> > !<br>
>> > !<br>
>> > ip multicast-routing<br>
>> > !<br>
>> > line vty<br>
>> > !<br>
>> > On Sun, Nov 1, 2009 at 12:44 PM, Everton Marques<br>
>> > <<a href="mailto:***@gmail.com" target="_blank">***@gmail.com</a>><br>
>> > wrote:<br>
>> >><br>
>> >> Hi,<br>
>> >><br>
>> >> Yes, pimd should route the join request towards the source.<br>
>> >><br>
>> >> However, you need to enable "ip pim ssm" on ra_ap0 as well.<br>
>> >> If you enable only "ip igmp" on a interface, pimd won't inject<br>
>> >> IGMP-learnt membership into the pim protocol.<br>
>> >><br>
>> >> Cheers,<br>
>> >> Everton<br>
>> >><br>
>> >> On Sun, Nov 1, 2009 at 7:02 AM, Yoda geek <<a href="mailto:***@gmail.com" target="_blank">***@gmail.com</a>><br>
>> >> wrote:<br>
>> >> > Hi Everton,<br>
>> >> ><br>
>> >> > Thanks for the suggestions. I made the changes to the config files on<br>
>> >> > both<br>
>> >> > nodes as you suggested. Since it is not possible for me to force the<br>
>> >> > client<br>
>> >> > to do a source specific join I added the following line at interface<br>
>> >> > ra_ap0<br>
>> >> > on node 2 where the client is attached:<br>
>> >> ><br>
>> >> > interface ra_ap0<br>
>> >> > ip igmp<br>
>> >> > ip igmp query-interval 125<br>
>> >> > ip igmp query-max-response-time-dsec 100<br>
>> >> > ip igmp join 239.255.255.250 192.168.4.60<br>
>> >> ><br>
>> >> > I do see the source-specific IGMPv3 join group 239.255.255.250 for<br>
>> >> > source<br>
>> >> > 192.168.4.60 which is addressed to 224.0.0.22 on the side of node2.<br>
>> >> > However<br>
>> >> > this join request never makes it to node 1 where the source is<br>
>> >> > located<br>
>> >> > on<br>
>> >> > ra_ap0.<br>
>> >> > Shouldn't the pimd route this join request to the node where the<br>
>> >> > source<br>
>> >> > is<br>
>> >> > attached ?<br>
>> >> ><br>
>> >> > Thanks,<br>
>> >> ><br>
>> >> ><br>
>> >> ><br>
>> >> ><br>
>> >> > On Mon, Oct 26, 2009 at 6:44 AM, Everton Marques<br>
>> >> > <<a href="mailto:***@gmail.com" target="_blank">***@gmail.com</a>><br>
>> >> > wrote:<br>
>> >> >><br>
>> >> >> Hi,<br>
>> >> >><br>
>> >> >> You did not mention whether you got a source-specific IGMPv3 join to<br>
>> >> >> the<br>
>> >> >> channel (S,G)=(192.168.4.60,239.255.255.250). Please notice qpimd is<br>
>> >> >> unable to program the multicast forwarding cache with<br>
>> >> >> non-source-specific<br>
>> >> >> groups. Usually the key issue is to instruct the receiver<br>
>> >> >> application<br>
>> >> >> to<br>
>> >> >> join the source-specific channel (S,G).<br>
>> >> >><br>
>> >> >> Regarding the config, the basic rule is:<br>
>> >> >> 1) Enable "ip pim ssm" everywhere (on every interface that should<br>
>> >> >> pass<br>
>> >> >> mcast).<br>
>> >> >> 2) Enable both "ip pim ssm" and "ip igmp" on interfaces attached to<br>
>> >> >> the receivers (IGMPv3 hosts).<br>
>> >> >><br>
>> >> >> An even simpler config rule to remember is to enable both commands<br>
>> >> >> everywhere. They should not cause any harm.<br>
>> >> >><br>
>> >> >> Hence, if your mcast receiver is attached to Node 2 at ra_ap0, I<br>
>> >> >> think<br>
>> >> >> you will<br>
>> >> >> need at least the following config:<br>
>> >> >><br>
>> >> >> !<br>
>> >> >> ! Node 1<br>
>> >> >> !<br>
>> >> >> interface ra_ap0<br>
>> >> >> ip pim ssm<br>
>> >> >> interface ra_sta0<br>
>> >> >> ip pim ssm<br>
>> >> >><br>
>> >> >> !<br>
>> >> >> ! Node 2<br>
>> >> >> !<br>
>> >> >> interface ra_ap0<br>
>> >> >> ip pim ssm<br>
>> >> >> ip igmp<br>
>> >> >> interface ra_sta0<br>
>> >> >> ip pim ssm<br>
>> >> >><br>
>> >> >> Hope this helps,<br>
>> >> >> Everton<br>
>> >> >><br>
>> >> >> On Mon, Oct 26, 2009 at 4:42 AM, Yoda geek <<a href="mailto:***@gmail.com" target="_blank">***@gmail.com</a>><br>
>> >> >> wrote:<br>
>> >> >> > Hi Everton & Fellow qpimd users,<br>
>> >> >> ><br>
>> >> >> > We're trying to stream multicast video traffic between a Tversity<br>
>> >> >> > server<br>
>> >> >> > and<br>
>> >> >> > a multicast client separated by 2 nodes (node1 and node2). Each<br>
>> >> >> > node<br>
>> >> >> > is<br>
>> >> >> > running quagga suite (version 0.99.15) along with qpimd (version<br>
>> >> >> > 0.158)<br>
>> >> >> > running on top of Linux 2.6.26.<br>
>> >> >> > Node 1 has 3 network interfaces - eth0, ap0 and ra_sta0<br>
>> >> >> > Node 2 has 2 network interfaces - ra_sta0 and ra_ap0<br>
>> >> >> > The Tversity server talks to interface ra_ap0 on Node 1 and the<br>
>> >> >> > multicast<br>
>> >> >> > client talks to interface ra_ap0 on Node 2<br>
>> >> >> > Nodes 1 and 2 talk with each other over their ra_sta0 interfaces<br>
>> >> >> ><br>
>> >> >> > Below is a graphical depiction :<br>
>> >> >> ><br>
>> >> >> > Tversity server -----------ra_ap0--> Node 1<br>
>> >> >> > --ra_sta0-----------------ra_sta0-->Node<br>
>> >> >> > 2-----ra_ap0------------------------> Video Client<br>
>> >> >> > =========== ======================<br>
>> >> >> > ====================== =============<br>
>> >> >> ><br>
>> >> >> ><br>
>> >> >> > Node 1 pimd.conf file<br>
>> >> >> > ==================<br>
>> >> >> > !<br>
>> >> >> > ! Zebra configuration saved from vty<br>
>> >> >> > ! 2009/08/01 20:26:06<br>
>> >> >> > !<br>
>> >> >> > hostname node1<br>
>> >> >> > password zebra<br>
>> >> >> > enable password zebra<br>
>> >> >> > log stdout<br>
>> >> >> > !<br>
>> >> >> > interface eth0<br>
>> >> >> > !<br>
>> >> >> > interface eth1<br>
>> >> >> > !<br>
>> >> >> > interface lo<br>
>> >> >> > !<br>
>> >> >> > interface ra_ap0<br>
>> >> >> > ip pim ssm<br>
>> >> >> > ip igmp<br>
>> >> >> > ip igmp query-interval 125<br>
>> >> >> > ip igmp query-max-response-time-dsec 100<br>
>> >> >> > ip igmp join 239.255.255.250 192.168.4.60<br>
>> >> >> > !<br>
>> >> >> > interface ra_sta0<br>
>> >> >> > ip igmp<br>
>> >> >> > ip igmp query-interval 125<br>
>> >> >> > ip igmp query-max-response-time-dsec 100<br>
>> >> >> > !<br>
>> >> >> > !<br>
>> >> >> > ip multicast-routing<br>
>> >> >> > !<br>
>> >> >> > line vty<br>
>> >> >> > !<br>
>> >> >> ><br>
>> >> >> > Node 2 pimd.conf configuration file<br>
>> >> >> > ============================<br>
>> >> >> > !<br>
>> >> >> > ! Zebra configuration saved from vty<br>
>> >> >> > ! 2009/08/02 21:54:14<br>
>> >> >> > !<br>
>> >> >> > hostname node2<br>
>> >> >> > password zebra<br>
>> >> >> > enable password zebra<br>
>> >> >> > log stdout<br>
>> >> >> > !<br>
>> >> >> > interface eth0<br>
>> >> >> > !<br>
>> >> >> > interface eth1<br>
>> >> >> > !<br>
>> >> >> > interface lo<br>
>> >> >> > !<br>
>> >> >> > interface ra_ap0<br>
>> >> >> > ip igmp<br>
>> >> >> > ip igmp query-interval 125<br>
>> >> >> > ip igmp query-max-response-time-dsec 100<br>
>> >> >> > ip igmp join 239.255.255.250 192.168.4.60<br>
>> >> >> > !<br>
>> >> >> > interface ra_sta0<br>
>> >> >> > ip igmp<br>
>> >> >> > ip igmp query-interval 125<br>
>> >> >> > ip igmp query-max-response-time-dsec 100<br>
>> >> >> > !<br>
>> >> >> > !<br>
>> >> >> > ip multicast-routing<br>
>> >> >> > !<br>
>> >> >> > line vty<br>
>> >> >> > !<br>
>> >> >> ><br>
>> >> >> >
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Hi Everton,<br>
<br>
Below are the answers :<br>
<br>
1) "ip pim ssm" is enabled on node1 ra_sta0 as well as node2 ra_sta0.<br>
<br>
2) I do see in wireshark trace that ra_sta0 on both nodes 1 and 2 are receiving
PIMv2 "Hello" packets however they are addressed to 224.0.0.13.<br>
<br>
3) Don't see any error logs on nodes 1 and 2. Below is the output of
"show ip pim hello" on both nodes 1 and 2. Please notice the "Rfail"
counters.<br>
<br>
node1# show ip pim hello<br>
Interface Address Period Timer StatStart Recv Rfail Send Sfail<br>
ra_ap0 192.168.4.20 00:30 00:05 29:57:50 0 3496 3595 0<br>
ra_sta0 192.168.3.20 00:30 00:04 29:57:50 3496 3496 3595 0<br>
node1# <br>
<br>
node2# show ip pim hello<br>
Interface Address Period Timer StatStart Recv Rfail Send Sfail<br>
ra_ap0 192.168.5.10 00:30 00:04 29:56:48 0 3590 3593 0<br>
ra_sta0 192.168.3.10 00:30 00:07 29:56:48 3590 3590 3593 0<br>
node2# <br>
<br>
<br>
Thanks,<br><br><div class="gmail_quote">On Wed, Nov 11, 2009 at 6:04 AM, Everton Marques <span dir="ltr"><<a href="mailto:***@gmail.com" target="_blank">***@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi,<br>
<br>
I think the problem is node2 fails to bring up the node1 as pim neighbor<br>
on ra_sta0, since node1 is missing from node2 "show ip pim neighbor".<br>
<br>
Can you please double check the following?<br>
<br>
1) "ip pim ssm" is enabled on node1 ra_sta0 ?<br>
2) node2 is receiving pim hello packets from node1 on ra_sta0 ?<br>
3) node2 pimd is logging any error/warning ? look for messages about<br>
packets from node1, specially hello packets.<br>
<br>
Thanks,<br>
<font color="#888888">Everton<br>
</font><div><div></div><div><br>
On Wed, Nov 11, 2009 at 4:48 AM, Yoda geek <<a href="mailto:***@gmail.com" target="_blank">***@gmail.com</a>> wrote:<br>
> Below is the output as requested<br>
><br>
><br>
> User Access Verification<br>
><br>
> Password:<br>
><br>
> node2> enable<br>
><br>
> Password:<br>
><br>
> node2# show ip igmp interface<br>
><br>
> Interface Address ifIndex Socket Uptime Multi Broad MLoop AllMu Prmsc Del<br>
><br>
> ra_ap0 192.168.5.10 5 9 00:34:40 yes yes yes no no no<br>
><br>
> node2# show ip igmp interface group<br>
><br>
> Interface Address Group Mode Timer Srcs V Uptime<br>
><br>
> ra_ap0 192.168.5.10 224.0.0.13 EXCL 00:03:55 0 3 00:34:48<br>
><br>
> ra_ap0 192.168.5.10 224.0.0.22 EXCL 00:03:55 0 3 00:34:48<br>
><br>
> ra_ap0 192.168.5.10 239.255.255.250 EXCL 00:03:59 0 3 00:02:17<br>
><br>
> node2# show ip igmp group sources<br>
><br>
> Interface Address Group Source Timer Fwd Uptime<br>
><br>
> node2# show ip igmp sources pim designated-router<br>
><br>
> NonPri: Number of neighbors missing DR Priority hello option<br>
><br>
> Interface Address DR Uptime Elections NonPri<br>
><br>
> ra_ap0 192.168.5.10 192.168.5.10 00:35:16 1 0<br>
><br>
> ra_sta0 192.168.3.10 192.168.3.10 00:35:16 1 0<br>
><br>
> node2# show ip pim designated-router hello<br>
><br>
> Interface Address Period Timer StatStart Recv Rfail Send Sfail<br>
><br>
> ra_ap0 192.168.5.10 00:30 00:08 00:35:23 0 70 71 0<br>
><br>
> ra_sta0 192.168.3.10 00:30 00:10 00:35:23 70 70 71 0<br>
><br>
> node2# show ip pim hello interface<br>
><br>
> Interface Address ifIndex Socket Uptime Multi Broad MLoop AllMu Prmsc Del<br>
><br>
> ra_ap0 192.168.5.10 5 10 00:35:30 yes yes no no no no<br>
><br>
> ra_sta0 192.168.3.10 6 11 00:35:30 yes yes no no no no<br>
><br>
> node2# show ip pim interface local-membership<br>
><br>
> Interface Address Source Group Membership<br>
><br>
> node2# show ip pim local-membership join<br>
><br>
> Interface Address Source Group State Uptime Expire Prune<br>
><br>
> node2# show ip pim join neighbor<br>
><br>
> Recv flags: H=holdtime L=lan_prune_delay P=dr_priority G=generation_id<br>
> A=address_list<br>
><br>
> T=can_disable_join_suppression<br>
><br>
> Interface Address Neighbor Uptime Timer Holdt DrPri GenId Recv<br>
><br>
> node2# show ip pim neighbor rpf<br>
><br>
> RPF Cache Refresh Delay: 10000 msecs<br>
><br>
> RPF Cache Refresh Timer: 0 msecs<br>
><br>
> RPF Cache Refresh Requests: 6<br>
><br>
> RPF Cache Refresh Events: 3<br>
><br>
> RPF Cache Refresh Last: 00:34:24<br>
><br>
> Source Group RpfIface RpfAddress RibNextHop Metric Pref<br>
><br>
> node2# show ip pim rpf upstream<br>
><br>
> Source Group State Uptime JoinTimer RefCnt<br>
><br>
> node2# show ip pim upstream-join-desired<br>
><br>
> Interface Source Group LostAssert Joins PimInclude JoinDesired EvalJD<br>
><br>
> node2# show ip pim upstream-join-desired rpf<br>
><br>
> Source Group RpfIface RibNextHop RpfAddress<br>
><br>
> node2# show ip pim upstream-rpf route 192.168.4.60<br>
><br>
> Address NextHop Interface Metric Preference<br>
><br>
> 192.168.4.60 192.168.3.20 ra_sta0 1 0<br>
><br>
> node2# q<br>
><br>
> On Tue, Nov 3, 2009 at 7:51 AM, Everton Marques <<a href="mailto:***@gmail.com" target="_blank">***@gmail.com</a>><br>
> wrote:<br>
>><br>
>> Hi,<br>
>><br>
>> Can you send the following commands from node2 ?<br>
>><br>
>> show ip igmp interface<br>
>> show ip igmp group<br>
>> show ip igmp sources<br>
>> show ip pim designated-router<br>
>> show ip pim hello<br>
>> show ip pim interface<br>
>> show ip pim local-membership<br>
>> show ip pim join<br>
>> show ip pim neighbor<br>
>> show ip pim rpf<br>
>> show ip pim upstream<br>
>> show ip pim upstream-join-desired<br>
>> show ip pim upstream-rpf<br>
>> show ip route 192.168.4.60<br>
>><br>
>> Thanks,<br>
>> Everton<br>
>><br>
>> On Mon, Nov 2, 2009 at 5:44 AM, Yoda geek <<a href="mailto:***@gmail.com" target="_blank">***@gmail.com</a>> wrote:<br>
>> > Hi Everton,<br>
>> ><br>
>> > I added the entry "ip pim ssm" on ra_ap0 as you suggested. I still<br>
>> > don't<br>
>> > see join request coming into the source. Below is what the configuration<br>
>> > looks like on the individual nodes:<br>
>> ><br>
>> > Node 1 pimd.conf<br>
>> > -------------------------<br>
>> > !<br>
>> > ! Zebra configuration saved from vty<br>
>> > ! 2009/08/08 05:03:23<br>
>> > !<br>
>> > hostname node1<br>
>> > password zebra<br>
>> > enable password zebra<br>
>> > log stdout<br>
>> > !<br>
>> > interface eth0<br>
>> > !<br>
>> > interface eth1<br>
>> > !<br>
>> > interface lo<br>
>> > !<br>
>> > interface ra_ap0<br>
>> > ip pim ssm<br>
>> > ip igmp query-interval 125<br>
>> > ip igmp query-max-response-time-dsec 100<br>
>> > !<br>
>> > interface ra_sta0<br>
>> > ip pim ssm<br>
>> > ip igmp query-interval 125<br>
>> > ip igmp query-max-response-time-dsec 100<br>
>> > !<br>
>> > !<br>
>> > ip multicast-routing<br>
>> > !<br>
>> > line vty<br>
>> > !<br>
>> ><br>
>> ><br>
>> > Node 2 pimd.conf<br>
>> > -------------------------<br>
>> > !<br>
>> > ! Zebra configuration saved from vty<br>
>> > ! 2009/08/09 22:38:12<br>
>> > !<br>
>> > hostname node2<br>
>> > password zebra<br>
>> > enable password zebra<br>
>> > log stdout<br>
>> > !<br>
>> > interface br-lan<br>
>> > !<br>
>> > interface eth0<br>
>> > !<br>
>> > interface eth1<br>
>> > !<br>
>> > interface lo<br>
>> > !<br>
>> > interface ra_ap0<br>
>> > ip pim ssm<br>
>> > ip igmp<br>
>> > ip igmp query-interval 125<br>
>> > ip igmp query-max-response-time-dsec 100<br>
>> > ip igmp join 239.255.255.250 192.168.4.60<br>
>> > !<br>
>> > interface ra_sta0<br>
>> > ip pim ssm<br>
>> > ip igmp query-interval 125<br>
>> > ip igmp query-max-response-time-dsec 100<br>
>> > !<br>
>> > !<br>
>> > ip multicast-routing<br>
>> > !<br>
>> > line vty<br>
>> > !<br>
>> > On Sun, Nov 1, 2009 at 12:44 PM, Everton Marques<br>
>> > <<a href="mailto:***@gmail.com" target="_blank">***@gmail.com</a>><br>
>> > wrote:<br>
>> >><br>
>> >> Hi,<br>
>> >><br>
>> >> Yes, pimd should route the join request towards the source.<br>
>> >><br>
>> >> However, you need to enable "ip pim ssm" on ra_ap0 as well.<br>
>> >> If you enable only "ip igmp" on a interface, pimd won't inject<br>
>> >> IGMP-learnt membership into the pim protocol.<br>
>> >><br>
>> >> Cheers,<br>
>> >> Everton<br>
>> >><br>
>> >> On Sun, Nov 1, 2009 at 7:02 AM, Yoda geek <<a href="mailto:***@gmail.com" target="_blank">***@gmail.com</a>><br>
>> >> wrote:<br>
>> >> > Hi Everton,<br>
>> >> ><br>
>> >> > Thanks for the suggestions. I made the changes to the config files on<br>
>> >> > both<br>
>> >> > nodes as you suggested. Since it is not possible for me to force the<br>
>> >> > client<br>
>> >> > to do a source specific join I added the following line at interface<br>
>> >> > ra_ap0<br>
>> >> > on node 2 where the client is attached:<br>
>> >> ><br>
>> >> > interface ra_ap0<br>
>> >> > ip igmp<br>
>> >> > ip igmp query-interval 125<br>
>> >> > ip igmp query-max-response-time-dsec 100<br>
>> >> > ip igmp join 239.255.255.250 192.168.4.60<br>
>> >> ><br>
>> >> > I do see the source-specific IGMPv3 join group 239.255.255.250 for<br>
>> >> > source<br>
>> >> > 192.168.4.60 which is addressed to 224.0.0.22 on the side of node2.<br>
>> >> > However<br>
>> >> > this join request never makes it to node 1 where the source is<br>
>> >> > located<br>
>> >> > on<br>
>> >> > ra_ap0.<br>
>> >> > Shouldn't the pimd route this join request to the node where the<br>
>> >> > source<br>
>> >> > is<br>
>> >> > attached ?<br>
>> >> ><br>
>> >> > Thanks,<br>
>> >> ><br>
>> >> ><br>
>> >> ><br>
>> >> ><br>
>> >> > On Mon, Oct 26, 2009 at 6:44 AM, Everton Marques<br>
>> >> > <<a href="mailto:***@gmail.com" target="_blank">***@gmail.com</a>><br>
>> >> > wrote:<br>
>> >> >><br>
>> >> >> Hi,<br>
>> >> >><br>
>> >> >> You did not mention whether you got a source-specific IGMPv3 join to<br>
>> >> >> the<br>
>> >> >> channel (S,G)=(192.168.4.60,239.255.255.250). Please notice qpimd is<br>
>> >> >> unable to program the multicast forwarding cache with<br>
>> >> >> non-source-specific<br>
>> >> >> groups. Usually the key issue is to instruct the receiver<br>
>> >> >> application<br>
>> >> >> to<br>
>> >> >> join the source-specific channel (S,G).<br>
>> >> >><br>
>> >> >> Regarding the config, the basic rule is:<br>
>> >> >> 1) Enable "ip pim ssm" everywhere (on every interface that should<br>
>> >> >> pass<br>
>> >> >> mcast).<br>
>> >> >> 2) Enable both "ip pim ssm" and "ip igmp" on interfaces attached to<br>
>> >> >> the receivers (IGMPv3 hosts).<br>
>> >> >><br>
>> >> >> An even simpler config rule to remember is to enable both commands<br>
>> >> >> everywhere. They should not cause any harm.<br>
>> >> >><br>
>> >> >> Hence, if your mcast receiver is attached to Node 2 at ra_ap0, I<br>
>> >> >> think<br>
>> >> >> you will<br>
>> >> >> need at least the following config:<br>
>> >> >><br>
>> >> >> !<br>
>> >> >> ! Node 1<br>
>> >> >> !<br>
>> >> >> interface ra_ap0<br>
>> >> >> ip pim ssm<br>
>> >> >> interface ra_sta0<br>
>> >> >> ip pim ssm<br>
>> >> >><br>
>> >> >> !<br>
>> >> >> ! Node 2<br>
>> >> >> !<br>
>> >> >> interface ra_ap0<br>
>> >> >> ip pim ssm<br>
>> >> >> ip igmp<br>
>> >> >> interface ra_sta0<br>
>> >> >> ip pim ssm<br>
>> >> >><br>
>> >> >> Hope this helps,<br>
>> >> >> Everton<br>
>> >> >><br>
>> >> >> On Mon, Oct 26, 2009 at 4:42 AM, Yoda geek <<a href="mailto:***@gmail.com" target="_blank">***@gmail.com</a>><br>
>> >> >> wrote:<br>
>> >> >> > Hi Everton & Fellow qpimd users,<br>
>> >> >> ><br>
>> >> >> > We're trying to stream multicast video traffic between a Tversity<br>
>> >> >> > server<br>
>> >> >> > and<br>
>> >> >> > a multicast client separated by 2 nodes (node1 and node2). Each<br>
>> >> >> > node<br>
>> >> >> > is<br>
>> >> >> > running quagga suite (version 0.99.15) along with qpimd (version<br>
>> >> >> > 0.158)<br>
>> >> >> > running on top of Linux 2.6.26.<br>
>> >> >> > Node 1 has 3 network interfaces - eth0, ap0 and ra_sta0<br>
>> >> >> > Node 2 has 2 network interfaces - ra_sta0 and ra_ap0<br>
>> >> >> > The Tversity server talks to interface ra_ap0 on Node 1 and the<br>
>> >> >> > multicast<br>
>> >> >> > client talks to interface ra_ap0 on Node 2<br>
>> >> >> > Nodes 1 and 2 talk with each other over their ra_sta0 interfaces<br>
>> >> >> ><br>
>> >> >> > Below is a graphical depiction :<br>
>> >> >> ><br>
>> >> >> > Tversity server -----------ra_ap0--> Node 1<br>
>> >> >> > --ra_sta0-----------------ra_sta0-->Node<br>
>> >> >> > 2-----ra_ap0------------------------> Video Client<br>
>> >> >> > =========== ======================<br>
>> >> >> > ====================== =============<br>
>> >> >> ><br>
>> >> >> ><br>
>> >> >> > Node 1 pimd.conf file<br>
>> >> >> > ==================<br>
>> >> >> > !<br>
>> >> >> > ! Zebra configuration saved from vty<br>
>> >> >> > ! 2009/08/01 20:26:06<br>
>> >> >> > !<br>
>> >> >> > hostname node1<br>
>> >> >> > password zebra<br>
>> >> >> > enable password zebra<br>
>> >> >> > log stdout<br>
>> >> >> > !<br>
>> >> >> > interface eth0<br>
>> >> >> > !<br>
>> >> >> > interface eth1<br>
>> >> >> > !<br>
>> >> >> > interface lo<br>
>> >> >> > !<br>
>> >> >> > interface ra_ap0<br>
>> >> >> > ip pim ssm<br>
>> >> >> > ip igmp<br>
>> >> >> > ip igmp query-interval 125<br>
>> >> >> > ip igmp query-max-response-time-dsec 100<br>
>> >> >> > ip igmp join 239.255.255.250 192.168.4.60<br>
>> >> >> > !<br>
>> >> >> > interface ra_sta0<br>
>> >> >> > ip igmp<br>
>> >> >> > ip igmp query-interval 125<br>
>> >> >> > ip igmp query-max-response-time-dsec 100<br>
>> >> >> > !<br>
>> >> >> > !<br>
>> >> >> > ip multicast-routing<br>
>> >> >> > !<br>
>> >> >> > line vty<br>
>> >> >> > !<br>
>> >> >> ><br>
>> >> >> > Node 2 pimd.conf configuration file<br>
>> >> >> > ============================<br>
>> >> >> > !<br>
>> >> >> > ! Zebra configuration saved from vty<br>
>> >> >> > ! 2009/08/02 21:54:14<br>
>> >> >> > !<br>
>> >> >> > hostname node2<br>
>> >> >> > password zebra<br>
>> >> >> > enable password zebra<br>
>> >> >> > log stdout<br>
>> >> >> > !<br>
>> >> >> > interface eth0<br>
>> >> >> > !<br>
>> >> >> > interface eth1<br>
>> >> >> > !<br>
>> >> >> > interface lo<br>
>> >> >> > !<br>
>> >> >> > interface ra_ap0<br>
>> >> >> > ip igmp<br>
>> >> >> > ip igmp query-interval 125<br>
>> >> >> > ip igmp query-max-response-time-dsec 100<br>
>> >> >> > ip igmp join 239.255.255.250 192.168.4.60<br>
>> >> >> > !<br>
>> >> >> > interface ra_sta0<br>
>> >> >> > ip igmp<br>
>> >> >> > ip igmp query-interval 125<br>
>> >> >> > ip igmp query-max-response-time-dsec 100<br>
>> >> >> > !<br>
>> >> >> > !<br>
>> >> >> > ip multicast-routing<br>
>> >> >> > !<br>
>> >> >> > line vty<br>
>> >> >> > !<br>
>> >> >> ><br>
>> >> >> >