Subject: Use of L3PID

From: Apratim Mukherjee <[email-masked]>
Date: Wed, 10 Oct 2001 12:01:19 +0530

Hi,

The Label Request Object carries the L3PID expected to be supported at the 
'reciever' .
draft-ietf-mpls-rsvp-lsp-tunnel-08.txt:
"If the receiver cannot support the protocol L3PID, it SHOULD send a PathErr
with the error code "Routing problem" and the error value"Unsupported
L3PID."  This causes the RSVP session to fail."
But it is not clear to me as to where the check for this support is to be
carried out . Existing documents ( especially the Juniper implementation
white paper ) seem to suggest that this check should be carried out at every
LSR . 
But , lets look at a situation :
Ingress-->LSR1-->LSR2--->Egress
IPv6        IPv4       IPv4      IPv6 

So , in this case the LSP will be aborted at  LSR1 itself. However , if the
check were to be made only at the egress , the Lsp would have been set up
and data packets also would have gone through , since they do not need any
IPv6 support at either LSR 1 or LSR 2, they need it only at the Ingress and
Egress .

Please tell me if I am missing out on something here,
Thanks,
Apratim

---

From: "Feng, Mark" <[email-masked]>
Date: Wed, 10 Oct 2001 14:04:09 -0700

IMO, only the egress node should check. The transit nodes are merely
forwarding the data packets. Whether they support the L3PID protocol does
not seem to be relevant.

- Mark

> -----Original Message-----
> From: Apratim Mukherjee [mailto:[email-masked]]
> Sent: Tuesday, October 09, 2001 11:31 PM
> To: [email-masked]
> Subject: Use of L3PID
> 
> 
> Hi,
>

---

From: [email-masked]
Date: Wed, 10 Oct 2001 23:47:33 +0200

Mark,

I agree with you. 1 minor addition: If PHP is used, also the penultimate 
node should check.

Best regards,

        Francis.

-----------------------------

To:
"'Apratim Mukherjee'" <[email-masked]>, [email-masked]
cc:
(bcc: Francis ARTS/BE/ALCATEL)

Subject:
RE: Use of L3PID

- Mark

---

From: "Feng, Mark" <[email-masked]>
Date: Wed, 10 Oct 2001 17:43:50 -0700

Sorry, I don't think I completed the thing.

If the egress node needs to have the L2 encapsulation in the data packets, 
then it shouldn't give a NULL label to the penultimate hop.

- Mark

> From: Feng, Mark 
> Sent: Wednesday, October 10, 2001 5:36 PM
> To: 'Kireeti Kompella'; [email-masked]; Feng, Mark
> Cc: [email-masked]; [email-masked]
> Subject: RE: Use of L3PID
> 
> 
> Following is from RFC 3031
> "
>    If, on the other hand, penultimate hop popping is used, 
> then when the
>    penultimate hop looks up the label, it determines:
> 
>       -  that it is the penultimate hop, and
> 
>       -  who the next hop is.
> 
>    The penultimate node then pops the stack, and forwards the packet
>    based on the information gained by looking up the label that was
>    previously at the top of the stack.  When the LSP egress 
> receives the
>    packet, the label which is now at the top of the stack will be the
>    label which it needs to look up in order to make its own forwarding
>    decision.  Or, if the packet was only carrying a single label, the
>    LSP egress will simply see the network layer packet, which is just
>    what it needs to see in order to make its forwarding decision.
> "
> 
> - Mark
> 
> > From: Kireeti Kompella [mailto:[email-masked]]
> > Sent: Wednesday, October 10, 2001 5:26 PM
> > To: [email-masked]; [email-masked]
> > Cc: [email-masked]; [email-masked]
> > Subject: RE: Use of L3PID
> > 
> > 
> > Mark:
> > 
> > > I don't think the PHP needs to do that. The PHP has, in the 
> > "lookup table",
> > > the incoming label, and the next hop. What is missing is 
> > the outgoing label.
> > > It doesn't need the L3PID to forward the data packets.
> > 
> > With PHP, there is no outgoing label.  If the label stack is 
> > empty after
> > popping, what L2 encapsulation do you put on the data packet?
> >  
> > Francis:
> > 
> > Slight change: if PHP is used AND the label stack is empty 
> > after the pop,
> > the penultimate LSR should also check.
> > 
> > Mark:
> > 
> > Agreed, with Francis's proviso.
> > 
> > Kireeti.
> > 
>

---

From: "Feng, Mark" <[email-masked]>
Date: Wed, 10 Oct 2001 17:58:49 -0700

You are right. The check should be there at the penultimate hop.

- Mark

> Sent: Wednesday, October 10, 2001 5:49 PM
> To: [email-masked]; [email-masked]
> > > If the label stack is empty after
> Doesn't answer the question.  All you have done is point out that
> the RFC is incomplete in its description.
> 
> >    previously at the top of the stack.
> 
> If the label that was previously at the top of the stack has the end
> of stack bit set, the L3PID (or some other magic) determines what
> the layer 2 encap on the outgoing packet should be.  Otherwise, the
> outgoing packet is sent as an MPLS packet.
> 
> If you do it differently, I'd be interested in your algorithm.
> 
> Kireeti.
>

---

From: "Hariom P" <[email-masked]>
Date: Wed, 10 Oct 2001 18:47:59 -0700

I am a little confused here. Please correct me if my understanding from this 
thread is incorrect..

1. Every hop will store the L3PID received in the path msg.

2. Penultimate hop if asked by the egress-hop to do PHP will POP the label 
and use the L3PID as the encap type only if POPed label happens to be the 
last label in the stack.

3. Only Egress hop has to make sure it supports the protocol indicated in 
the L3PID, else send pathErr msg. That is because it has to do POP and 
ROUTE.

with regards,
Rajeev

>From: "Feng, Mark" <[email-masked]>
>To: "'Kireeti Kompella'" <[email-masked]>,        "Feng, 
>Mark"<[email-masked]>, [email-masked]
>Date: Wed, 10 Oct 2001 17:58:49 -0700
>

_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp

---

From: [email-masked]
Date: Thu, 11 Oct 2001 06:53:29 +0200

Hariom,

> 1. Every hop will store the L3PID received in the path msg.

Correct.

> and use the L3PID as the encap type only if POPed label happens to be 
the

Correct.

> the L3PID, else send pathErr msg. That is because it has to do POP and

The egress definitely needs to support the protocol in the L3PID. However, 
the penultimate node also may have to understand the protocol of the L3 
PID to some extent. Example: If IP is carried in an LSP, RFC 3031 
indicates that the TTL has to be copied from the mpls header to the IP 
header. Therefore, the penultimate node needs to understand the position 
of the TTL in the IP header. 

Best regards,

        Francis.

-------------------------------

To:
[email-masked], [email-masked], [email-masked]
cc:
(bcc: Francis ARTS/BE/ALCATEL)

Subject:
RE: Use of L3PID

I am a little confused here. Please correct me if my understanding from 
this
thread is incorrect..

with regards,
Rajeev

---

From: Shahram Davari <[email-masked]>
Date: Thu, 11 Oct 2001 07:03:13 -0700

Hi,

One reason might be that the intermediate LSRs need to know the L3PID in order to generate proper ICMP.

Yours,
-Shahram

> From: Feng, Mark [mailto:[email-masked]]
> Sent: Wednesday, October 10, 2001 5:04 PM
> To: 'Apratim Mukherjee'; [email-masked]