Subject: Re: [pim] Some questions and suggestions on PIM-PORT draft

From: "Bhatia, Manav (Manav)" <[email-masked]>
Date: Sun, 6 Feb 2011 22:41:08 +0530

Hi Stig,

> > I am not sure if I follow this. In what conditions can a neighbor think that the connection is UP while the other still think that is not UP.
> >
> > If a client immediately sends a join/prune message as soon as its local connection is declared UP, TCP on the other hand will get this message only after the ACK which would have brought the connection up in that neighbor as well. I am not sure if I am missing something here.
> 
> One example is if for some reason TCP is broken so that no TCP
> packets pass. Then if say one router tries to send packets, it will

By "TCP is broken", do you mean a TCP implementation that is broken or some transient condition in the network where TCP packets from A don't reach B? I think the former can be ruled out because if a router has problems in their TCP implementation then they have much bigger things to worry about then ensuring that their join/prune messages are being correctly sent out.

> see the connection going down after reaching the retry limit. If the
> other router does not try to send, it will not realize the connection

Even if the other router has nothing to send it still has to acknowledge the TCP packets that it has received. If its unable to do that, the source will keep retransmitting the original TCP packet.

Cheers, Manav

---

From: Stig Venaas <[email-masked]>
Date: Mon, 07 Feb 2011 10:41:12 -0800

> By "TCP is broken", do you mean a TCP implementation that is broken or some transient condition in the network where TCP packets from A don't reach B? I think the former can be ruled out because if…

A transient condition.

> Even if the other router has nothing to send it still has to acknowledge the TCP packets that it has received. If its unable to do that, the source will keep retransmitting the original TCP packet.

Yes, but imagine that somehow the link is broken so that no packets
come through for a few minutes (of course that might lead to the
PIM neighborship expiring too though). Then a router that has nothing
it tries to send, also don't receive anything it needs to ACK. The
connection will appear to be working just fine.

---

From: "Bhatia, Manav (Manav)" <[email-masked]>
Date: Tue, 8 Feb 2011 06:04:51 +0530

> connection will appear to be working just fine.

.. and its precisely why we would want to use Keepalives!

However I still don't see why sending native PIM joins/prunes will help here. If your link is broken and cant carry TCP packets to directly connected routers why do we think that they would be able to ship the multicast packets. If there are TCP connectivity issues then we should just shutdown the connection and wait for operator intervention if it really comes to that before restoring the PIM connectivity.

Cheers, Manav