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