Re: [mpls] I-D Action:draft-ietf-mpls-p2mp-lsp-ping-12.txt

Shivakumar Channalli <shivakumar@juniper.net> Fri, 22 October 2010 16:15 UTC

Return-Path: <shivakumar@juniper.net>
X-Original-To: mpls@core3.amsl.com
Delivered-To: mpls@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 04B2228C0D0 for <mpls@core3.amsl.com>; Fri, 22 Oct 2010 09:15:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.524
X-Spam-Level:
X-Spam-Status: No, score=-6.524 tagged_above=-999 required=5 tests=[AWL=0.075, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id htH4i9PQe0hp for <mpls@core3.amsl.com>; Fri, 22 Oct 2010 09:15:41 -0700 (PDT)
Received: from exprod7og104.obsmtp.com (exprod7og104.obsmtp.com [64.18.2.161]) by core3.amsl.com (Postfix) with ESMTP id 6C6A73A68D1 for <mpls@ietf.org>; Fri, 22 Oct 2010 09:15:41 -0700 (PDT)
Received: from source ([66.129.224.36]) (using TLSv1) by exprod7ob104.postini.com ([64.18.6.12]) with SMTP ID DSNKTMG5DxqDPptQAr17bb8mB4dkSkbr4x83@postini.com; Fri, 22 Oct 2010 09:17:20 PDT
Received: from gaugeboson.jnpr.net (10.209.194.17) by P-EMHUB02-HQ.jnpr.net (172.24.192.36) with Microsoft SMTP Server id 8.2.254.0; Fri, 22 Oct 2010 09:14:45 -0700
Received: from emailbng5.jnpr.net ([10.209.194.35]) by gaugeboson.jnpr.net with Microsoft SMTPSVC(6.0.3790.4675); Fri, 22 Oct 2010 21:44:42 +0530
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-Class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Date: Fri, 22 Oct 2010 21:44:40 +0530
Message-ID: <D4C56A454A92494AB873F2FBB8E4154808E45CF8@emailbng5.jnpr.net>
In-Reply-To: <C6921F0EC3DEDB419A67B42AB1EA213802DE90E0@XMB-RCD-206.cisco.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [mpls] I-D Action:draft-ietf-mpls-p2mp-lsp-ping-12.txt
Thread-Index: Acr97fovWGELdmbmzEeKyK2GG/RPxQAPfh+gAA7zTAAACB51UAADMoBgAArX9yAAAVdKwAAetk9gAJBjYkAAAOyKIBtzHt5wAAtTD7AAARimwAA7YTFAABuvKrAAD7yvkAA20yig
References: <D4C56A454A92494AB873F2FBB8E4154808E455EB@emailbng5.jnpr.net> <C6921F0EC3DEDB419A67B42AB1EA213802D12462@XMB-RCD-206.cisco.com> <D4C56A454A92494AB873F2FBB8E4154808E456C9@emailbng5.jnpr.net> <C6921F0EC3DEDB419A67B42AB1EA213802DE8DB0@XMB-RCD-206.cisco.com> <D4C56A454A92494AB873F2FBB8E4154808E4598F@emailbng5.jnpr.net> <C6921F0EC3DEDB419A67B42AB1EA213802DE90E0@XMB-RCD-206.cisco.com>
From: Shivakumar Channalli <shivakumar@juniper.net>
To: "Shaleen Saxena (ssaxena)" <ssaxena@cisco.com>
X-OriginalArrivalTime: 22 Oct 2010 16:14:42.0113 (UTC) FILETIME=[3BEEC310:01CB7204]
Cc: mpls@ietf.org
Subject: Re: [mpls] I-D Action:draft-ietf-mpls-p2mp-lsp-ping-12.txt
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/mpls>, <mailto:mpls-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mpls>
List-Post: <mailto:mpls@ietf.org>
List-Help: <mailto:mpls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mpls>, <mailto:mpls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 22 Oct 2010 16:15:45 -0000

Hi Shaleen ,

|I understand that tails do not get two copies the packet. My question
is
|about the subsequent iterations in the traceroute. For increasing
values
|of TTL, all the tail nodes that have replied previously will keep on
|responding. If I understand your previous email correctly, you said
that
|you want to use Responder-Identifier to limit that. Is it not correct?
|If this is correct, then won't that solution work for your bud nodes?

It'll work.
If we have Responder-Identifier , then we might not need "TTL expire
flag" as well right ?

The suggestion I was proposing prevents a bud node from getting 2 copies
of the same packet, and replying back twice, which may/may not create
problems at ingress.

Also, it makes the operation of PHP and UHP modes of tracing at +BUD
nodes+ almost same, as they now need to respond back, only for labeled
packets.

I am not saying that, whatever the current draft is saying is wrong. I
am trying to +improvise+ the BUD node scenario in case of PHP mode,
Which I think is not thought about in the draft.

The basic idea behind dropping the +unlabelled packet+ at BUD is that,
it reached due to PHP and not because of TTL expiry.

In tail anyways we get a single copy of the packet, so we should not be
doing anything.


If we don't include this rule, it causes some more problems.

In PHP mode:

-----LSP1----
-----------LSP2---------
A-----B------C----D----E
            BUD

Just consider, when a request reaches B, B +might+ respond in 2 ways
a) With 2 down maps 1 containing label 3 and another containing actual
label, As one can reach C, with or without label.
b) With a single down map containing an actual label.

Both the responses are valid. For simplicity let's consider that B
replied back with only 1 downmap (b)

Now consider, we send a request to C with a downmap containing actual
label.
C ends up receiving 2 copies of the same packet, one with label and
another without label. (if we don't apply the rule I mentioned)

In this case, label validation will fail for the packet received without
label. Because the downmap contains a label and we received a packet
without label.

So we send out success as well as failure responses for the same request
message received, which is not correct.

The only way we can prevent this scenario is, by applying the suggested
rule. 

This is actually what I trying to prevent.






$hiv...



|-----Original Message-----
|From: Shaleen Saxena (ssaxena) [mailto:ssaxena@cisco.com]
|Sent: Thursday, October 21, 2010 6:28 PM
|To: Shivakumar Channalli
|Cc: mpls@ietf.org; Nitin Bahadur; Shaleen Saxena (ssaxena)
|Subject: RE: [mpls] I-D Action:draft-ietf-mpls-p2mp-lsp-ping-12.txt
|
|Hi Shiv,
|
|I understand that tails do not get two copies the packet. My question
is
|about the subsequent iterations in the traceroute. For increasing
values
|of TTL, all the tail nodes that have replied previously will keep on
|responding. If I understand your previous email correctly, you said
that
|you want to use Responder-Identifier to limit that. Is it not correct?
|If this is correct, then won't that solution work for your bud nodes?
|
|Shaleen
|
|-----Original Message-----
|From: Shivakumar Channalli [mailto:shivakumar@juniper.net]
|Sent: Thursday, October 21, 2010 2:10 AM
|To: Shaleen Saxena (ssaxena)
|Cc: mpls@ietf.org; Nitin Bahadur
|Subject: RE: [mpls] I-D Action:draft-ietf-mpls-p2mp-lsp-ping-12.txt
|
|Shaleen,
|
|For tail nodes we don't get 2 copies of the same packet unlike bud
|nodes.
|Its just a particular case of bud nodes that we have to solve here.
|
|
|
|$hiv...
|
|
|
||-----Original Message-----
||From: Shaleen Saxena (ssaxena) [mailto:ssaxena@cisco.com]
||Sent: Wednesday, October 20, 2010 9:59 PM
||To: Shivakumar Channalli
||Cc: mpls@ietf.org; Nitin Bahadur; Shaleen Saxena (ssaxena)
||Subject: RE: [mpls] I-D Action:draft-ietf-mpls-p2mp-lsp-ping-12.txt
||
||Hi,
||
||I understand your PHP usage better now. However changing the behavior
|of
||T bit will not prevent multiple responses from tail nodes. If you plan
||to use Responder Identifier TLV to limit that, then it will work for
|bud
||nodes as well (unless bud node itself is the target). So changing the
||behavior of the T bit for PHP is only a partial solution to the
|problem.
||
||Shaleen
||
||
||-----Original Message-----
||From: Shivakumar Channalli [mailto:shivakumar@juniper.net]
||Sent: Tuesday, October 19, 2010 8:41 AM
||To: Shaleen Saxena (ssaxena)
||Cc: mpls@ietf.org; Nitin Bahadur
||Subject: RE: [mpls] I-D Action:draft-ietf-mpls-p2mp-lsp-ping-12.txt
||
||Shaleen,
||
||||  H - M1 - B - M2 - T
||||
||||Here:
|||| H: Head
|||| M1, M2: Two mid-point nodes
|||| B: Bud
|||| T: Tail
||
|||As per your suggestion, when T flag is used in a PHP scenario:
|||- Bud nodes will never respond, even if it is their turn to do so,
||
||Let me explain it again. If a packet is sent with TTL 2
||Bud node B receives 2 packets:
||1) Labeled packet, due to TTL expiry (for which it would normally
||perform a  swap and send it to M2)
||2) unlabelled packet, which arrives due to PHP done at M1
||
||The suggestion is to drop the unlabelled packet(2) at bud, if "TTL
||expiry flag" is set, because it landed in B due to PHP done at M1, not
||due to label TTL expiry.
||
||
|||- Tail nodes will keep responding to all echo requests where TTL is
|||greater than their depth.
|||
|||I am not sure how this behavior can be helpful to traceroute.
||
||Tail nodes will always get a single copy of the packet unlike bud
|nodes.
||
||More ever, if the responder-id tlv is present a node would never
|respond
||back, unless the criterions for responder-id tlv are met correctly.
||
||
|||The original problem is that bud and tail nodes keep responding to
|||traceroute requests, for TTL greater than their depth. The extra
|||responses can be prevented if the nodes check for label expiry.
|However
|||without the label, traceroute packets for various TTL values look the
|||same. If you have a suggestion on how to solve this problem in a PHP
|||scenario, I will be willing to put it in the draft.
||
||
||This problem can be solved by dropping +unlabelled packets+ at +bud
||node+, if TTL expiry flag is set in the request.
||
||
||
||
||$hiv...
||
||
||
|||-----Original Message-----
|||From: Shaleen Saxena (ssaxena) [mailto:ssaxena@cisco.com]
|||Sent: Tuesday, October 19, 2010 5:08 PM
|||To: Shivakumar Channalli
|||Cc: mpls@ietf.org; Nitin Bahadur; Shaleen Saxena (ssaxena)
|||Subject: RE: [mpls] I-D Action:draft-ietf-mpls-p2mp-lsp-ping-12.txt
|||
|||Hi Shivakumar:
|||
|||I did not put the suggested text after discussions with other
authors.
|||The behavior you suggest does not solve the problem of receiving
|||multiple responses from various bud and tail nodes during traceroute.
|||
|||As per your suggestion, when T flag is used in a PHP scenario:
|||- Bud nodes will never respond, even if it is their turn to do so,
|||- Tail nodes will keep responding to all echo requests where TTL is
|||greater than their depth.
|||
|||I am not sure how this behavior can be helpful to traceroute.
|||
|||The original problem is that bud and tail nodes keep responding to
|||traceroute requests, for TTL greater than their depth. The extra
|||responses can be prevented if the nodes check for label expiry.
|However
|||without the label, traceroute packets for various TTL values look the
|||same. If you have a suggestion on how to solve this problem in a PHP
|||scenario, I will be willing to put it in the draft.
|||
|||Regards,
|||Shaleen
|||
|||-----Original Message-----
|||From: Shivakumar Channalli [mailto:shivakumar@juniper.net]
|||Sent: Tuesday, October 19, 2010 2:00 AM
|||To: Shaleen Saxena (ssaxena)
|||Cc: mpls@ietf.org; Nitin Bahadur
|||Subject: [mpls] I-D Action:draft-ietf-mpls-p2mp-lsp-ping-12.txt
|||
|||Shaleen,
|||Please find the mail thread, where in we had a discussed about PHP
|||scenario.
|||
|||
|||
|||$hiv...
|||
|||
|||
|||-----Original Message-----
|||From: Shivakumar Channalli
|||Sent: Tuesday, June 01, 2010 6:17 PM
|||To: 'Shaleen Saxena (ssaxena)'; Santiago Alvarez (saalvare); Nitin
|||Bahadur
|||Cc: mpls@ietf.org
|||Subject: RE: [mpls] Last Calls on P2MP LSP Ping and Enhanced DS Map
|||
||||I will updated the P2MP OAM draft to reflect the PHP scenario.
||||
||||So does PHP always happen before bud node? Consider the following
||||topology:
||||
||||  H - M1 - B - M2 - T
||||
||||Here:
|||| H: Head
|||| M1, M2: Two mid-point nodes
|||| B: Bud
|||| T: Tail
|||
|||PHP will happen before tail (T i.e pure egress) also.
|||In the example T is pure egress, so packet should be processed by T,
||but
|||in case of B (bud node) it should be dropped.
|||
|||That's why it should be clearly specified as
|||
|||"In p2mp LSP case, if a node (other than ++pure egress++) receives a
|||+MPLS
|||LSP trace packet+, without any label, then it should drop the packet
|||without processing"
|||
|||In other words, "if a bud node receives a unlabelled packets , then
it
|||should be dropped"
|||
|||
||||
||||So will both M1 and M2 send out unlabelled packets? Will the TTL of
||the
||||packet cause any different behavior from M1 and M2?
|||
|||I guess, there should not be any problems as such.
|||
|||
|||
||||Also, your suggestion applies to only packets with T bit turned on,
||||correct? If it is for all ping/trace packets, then I foresee some
||||issues, where certain nodes will never respond.
|||
|||That's correct. The packets should be dropped only if T bit is set.
|||Other wise in ping mode of operation, we may not get reply at all if
|we
|||apply this rule to all packets.
|||
|||
|||
|||...$hiv
|||
|||
|||
||||-----Original Message-----
||||From: Shaleen Saxena (ssaxena) [mailto:ssaxena@cisco.com]
||||Sent: Tuesday, June 01, 2010 5:51 PM
||||To: Shivakumar Channalli; Santiago Alvarez (saalvare); Nitin Bahadur
||||Cc: mpls@ietf.org; Shaleen Saxena (ssaxena)
||||Subject: RE: [mpls] Last Calls on P2MP LSP Ping and Enhanced DS Map
||||
||||Hi Shiv, Nitin,
||||
||||I will updated the P2MP OAM draft to reflect the PHP scenario.
||||
||||So does PHP always happen before bud node? Consider the following
||||topology:
||||
||||  H - M1 - B - M2 - T
||||
||||Here:
|||| H: Head
|||| M1, M2: Two mid-point nodes
|||| B: Bud
|||| T: Tail
||||
||||So will both M1 and M2 send out unlabelled packets? Will the TTL of
||the
||||packet cause any different behavior from M1 and M2?
||||
||||Also, your suggestion applies to only packets with T bit turned on,
||||correct? If it is for all ping/trace packets, then I foresee some
||||issues, where certain nodes will never respond.
||||
||||Thanks,
||||Shaleen
||||
||||
||||> -----Original Message-----
||||> From: Shivakumar Channalli [mailto:shivakumar@juniper.net]
||||> Sent: Saturday, May 29, 2010 11:13 AM
||||> To: Santiago Alvarez (saalvare); Nitin Bahadur; Shaleen Saxena
||||> (ssaxena)
||||> Cc: mpls@ietf.org
||||> Subject: RE: [mpls] Last Calls on P2MP LSP Ping and Enhanced DS
Map
||||>
||||>
||||> |> 1. precluding bud node support
||||> Another way is to try to solve bud node issue in case of PHP
||||>
||||> |> 2. bud node receiving duplicate traffic (label and unlabeled)
||||> |> Cheers.
||||> Receiving unlabelled packet in case of PHP can be solved by
||following
||||a
||||> simple rule.
||||>
||||> "In p2mp LSP case, if a node (other than pure egress) receives a
|||+MPLS
||||> LSP trace packet+, without any label, then we should drop the
|packet
||||> without processing"
||||>
||||> Reason: In trace route mode we want packets to reach control plane
|||due
||||> to TTL expiry, but in PHP p2mp mode packets are also received by
|bud
||||> nodes due the PHP. As a result we can make an assumption that, the
||||> packet received by control plane is not due to TTL expiry, and
drop
||||the
||||> packets.
||||>
||||>
||||> ...$hiv
||||>
||||>
||||>
||||> |-----Original Message-----
||||> |From: Santiago Alvarez (saalvare) [mailto:saalvare@cisco.com]
||||> |Sent: Saturday, May 29, 2010 6:03 AM
||||> |To: Nitin Bahadur; Shaleen Saxena (ssaxena); Shivakumar Channalli
||||> |Cc: mpls@ietf.org; Santiago Alvarez (saalvare)
||||> |Subject: RE: [mpls] Last Calls on P2MP LSP Ping and Enhanced DS
|Map
||||> |
||||> |It seems to me that, in order to find PHP acceptable for P2MP
|LSPs,
||||> one
||||> |the these two need to be acceptable:
||||> |1. precluding bud node support
||||> |2. bud node receiving duplicate traffic (label and unlabeled)
||||> |Cheers.
||||> |
||||> |SA
||||> |--
||||> |> -----Original Message-----
||||> |> From: mpls-bounces@ietf.org [mailto:mpls-bounces@ietf.org] On
||||Behalf
||||> |Of
||||> |> Nitin Bahadur
||||> |> Sent: Friday, May 28, 2010 4:52 PM
||||> |> To: Shaleen Saxena (ssaxena); Shivakumar Channalli
||||> |> Cc: mpls@ietf.org
||||> |> Subject: Re: [mpls] Last Calls on P2MP LSP Ping and Enhanced DS
|||Map
||||> |>
||||> |>
||||> |> Shaleen,
||||> |>
||||> |> > I was referring to
||||> |> >
http://tools.ietf.org/html/draft-ietf-mpls-rsvp-te-no-php-oob-
||||> |> > mapping-04
||||> |>
||||> |> This draft does not say that PHP *must not* be used ever for
|RSVP
||||> |P2MP.
||||> |> This draft specifies a requirement for non-PHP behavior and
||solves
||||> |that
||||> |> problem.
||||> |>
||||> |> > . Do you have an application where you use PHP? Is P2MP TE
||||> |> > with PHP going to be deployed in service provider networks?
||||> |>
||||> |> Yes...we have customers (in deployment) using P2MP with PHP.
||||> |>
||||> |> nitin
||||> |> _______________________________________________
||||> |> mpls mailing list
||||> |> mpls@ietf.org
||||> |> https://www.ietf.org/mailman/listinfo/mpls