Subject: Question about PIM-SM

From: Ashish Zalani <[email-masked]>
Date: Thu, 21 Jun 2001 13:07:28 -0400

Hi,

I am new to this mailing list. I have a question about the PIM-SM protocol.

If I understand it correctly, the PIM-SM protocol (RFC 2362) specifies that 
for every (*,G) or (S,G) entry in the multicast routing table, the router 
must maintain an Incoming Interface (iif), and an Outgoing Interface List 
(oif-list), along with other information. My question is, why should it 
maintain only one incoming interface, and not a list of incoming 
interfaces? Potentially there could be multiple routes to the source, each 
on a different interface.

The reason I ask this is because I am running into a situation where one 
router has multiple routes to the RP of a multicast group. It sets the iif 
as one of the interfaces that it uses to reach the RP. But any multicast 
packets for that group that are received on a different interface are being 
dropped by the router.

Is this a common problem, or have I misunderstood the spec?

-Ashish.
Ashish Zalani
Modeling Engineer
OPNET Technologies, Inc.
===========================================================
Come to the networking industry's premier conference,
OPNETWORK 2001 August 27 - August 31
(http://www.opnet.com/opnetwork2001/home.html)
and to OPNET's cutting-edge seminars
(http://www.opnet.com/seminars.html)

---

From: John Zwiebel <[email-masked]>
Date: Thu, 21 Jun 2001 11:22:27 -0700

> If I understand it correctly, the PIM-SM protocol (RFC 2362) specifies that

Although this is the current standard, if you try to implement this
you'll
be making a mistake.  This RFC was written at time when the multicast
requirements
were just beginning to be understood.  I strongly encourage you to look
at the
new PIM draft which, although difficult to read, covers the PIM protocol 
much more thoroughly than the RFC.

> on a different interface.

Do you want to forward two (or more) copies of the packet out all the
interfaces 
in the Olist or one?

> packets for that group that are received on a different interface are being

This is exactly what you want it to do.

> _______________________________________________
> Pim-external mailing list
> [email-masked]
> http://mailist.procket.com/mailman/listinfo/pim-external

---

From: Ashish Zalani <[email-masked]>
Date: Thu, 21 Jun 2001 15:03:21 -0400

>This is exactly what you want it to do.

Let me state my problem a little differently. In my case, there are 
multiple (equal cost) paths between the RP and this router (and those 
multiple paths come in on different interfaces on the router). The router 
stores only one interface set as it's incoming interface for the RP. But 
due to the multiple paths the unicast routing distributes the packets along 
different paths and the router receives the packets on different 
interfaces, though each one could have been a valid incoming interface. All 
packets that come in on any interface other than the marked incoming 
interface are dropped. I think this is undesirable behavior.

-Ashish.

Ashish Zalani
Modeling Engineer
OPNET Technologies, Inc.

---

From: "Ajay Virginkar" <[email-masked]>
Date: Thu, 21 Jun 2001 12:17:52 -0700

A Router X receives a Join Request from a downstream router. This prompts
the router to setup a (S,G) or (*,G) route with the iif pointing to the RP.
Now the Router will send a Join Request for G towards the RP on the same
interface it set up as  the iif. So there should not be a need to setup
multiple iifs for a multicast route.
If this is maintained I guess in your case, the question is why does the
router receive any multicast packets for G from any other interface (other
than the iif) unless a (S,G) route also exists.
What is the behavior if there is only a single route towards the RP?
Ajay

---

From: Apoorva Karan <[email-masked]>
Date: Thu, 21 Jun 2001 12:25:08 -0700

Ashish Zalani wrote:

> multiple paths come in on different interfaces on the router). The
> router stores only one interface set as it's incoming interface for
> the RP. But due to the multiple paths the unicast routing distributes
> the packets along different paths and the router receives the packets
> on different interfaces, though each one could have been a valid
> incoming interface. All packets that come in on any interface other
> than the marked incoming interface are dropped. I think this is
> undesirable behavior.

Ashish,

The point here is that you do not want to forward copies of the same
packet more than once. Even if you do receive multiple copies on
different interfaces, you forward only the one that comes on the correct
interface (which is the interface through which you have the "best" path
to the RP).

Thanks,
Apoorva

---

From: John Zwiebel <[email-masked]>
Date: Thu, 21 Jun 2001 14:14:00 -0700

> than the marked incoming interface are dropped. I think this is

At this time, there is no way to be able to do load-sharing of
multicast packets between multiple paths.  You can use one and
only one.

The router that is "distributing" the packets on different paths
is doing something wrong.  Why is "unicast" routing involved in
the forwarding decision at all?  Unicast should only be used to
determine whether or not the packet came in on the correct interface
and to determine the upstream router to which you want to send a
PIM join.  Even the old RFC's state that if there is more than
one upstream equal-cost choice that the JOIN is sent to the one with the
highest IP address.

---

From: "Hal Sandick" <[email-masked]>
Date: Fri, 22 Jun 2001 10:38:19 -0400

I know this is the pim list but just an FYI...

MOSPF had the capability of accepting packets from multiple links between
the *same* two MOSPF routers.

Regards,

Hal

---

From: John Zwiebel <[email-masked]>
Date: Fri, 22 Jun 2001 10:18:16 -0700

> the *same* two MOSPF routers.

There is nothing in PIM that prevents this.  But the point is
orthogonal to the question posed.

---

From: Ashish Zalani <[email-masked]>
Date: Fri, 22 Jun 2001 13:33:06 -0400

>one upstream equal-cost choice that the JOIN is sent to the one with the

Well, thanks to everyone who responded to my query. I must clarify that the 
problem that I was seeing was actually due to a bug in the implementation 
that I had. At first I probably misunderstood how the protocol works, but 
on giving it more thought I realized that there was no reason why the 
multiple paths should have caused problems.

No, my problem actually was that the router was sending the JOIN message on 
one interface, but was (incorrectly) setting a different interface as the 
incoming interface. And this problem only surfaced when the router had 
multiple (unicast) paths to the RP.

Sorry for all the confusion.

-Ashish.
Ashish Zalani
Modeling Engineer
OPNET Technologies, Inc.

---

From: "Hal Sandick" <[email-masked]>
Date: Fri, 22 Jun 2001 13:33:53 -0400

John,

John Zwiebel wrote:

> There is nothing in PIM that prevents this.

I don't believe this is true.  in mospf you look suppose to look at the rpf to
the *router id* of the upstream router.  In pim you look at the iif.

> But the point is

sorry, I don't entirely agree -- I think it about 60 degrees. :)  Seriouly, this
is one way of doing load sharing over multiple links.

Regards,

Hal