Subject: ERO and strict/loose subobject

From: John Sparr <[email-masked]>
Date: Tue, 2 Jan 2001 12:42:33 -0800 (PST)

Hi all,

One question about the ERO object in RSVP:

Assuming there is a sender node and it creates an ERO.
Should the ERO include the ip address of sender
itself? If yes, why?

Another question is about strict/loose object:

The draft of RSVP-TE says "The path between a strict
node and its preceding node MUST include only network
nodes from the strict node and its preceding abstract
node."

Does it mean if there is strict subobject in ERO, then
ther is no loose subobject and if there is loose
subobject, then there is no strict subobject?

Thanks a lot

John

__________________________________________________
Do You Yahoo!?
Yahoo! Photos - Share your holiday photos online!
http://photos.yahoo.com/

---

From: "Sanford, Bill" <[email-masked]>
Date: Tue, 2 Jan 2001 16:16:48 -0500

John, see the comments below:

> -----Original Message-----
> From: John Sparr [mailto:[email-masked]]
> Sent: Tuesday, January 02, 2001 3:43 PM
> To: [email-masked]
> Subject: ERO and strict/loose subobject
> 
> 
> Hi all,
> 

Lets say the ERO is not set with the sender node and is started on the next
hop.  How does the LSP you want to set up know that there are no other hops
in between the sender and next hop?  If you don't have the senders ip
address as the first subobject, there isn't any way to set the properties of
the link to the next hop to loose or strict.

In the implementation in draft-ietf-mpls-rsvp-lsp-tunnel-07.txt, if you
didn't have the sender address in the ERO, it would immediately error with
"Bad EXPLICIT_ROUTE object" error.

In 4.3.4.1. Selection of the Next Hop, it explains:

1) The node receiving the RSVP message MUST first evaluate the first
   subobject.  If the node is not part of the abstract node described by
   the first subobject, it has received the message in error and SHOULD
   return a "Bad initial subobject" error.  If there is no first
   subobject, the message is also in error and the system SHOULD return
   a "Bad EXPLICIT_ROUTE object" error.

> subobject, then there is no strict subobject?

Not at all.  You can have both strict hops and loose hops as part of the
same ERO.  On a "strict" hop link, there isn't any other route it can take
except for the next hop in the ERO list.  On a "loose" hop link, there can
be additional hops between the nodes provided that it ends up on the next
hop.

Bill

---

From: John Sparr <[email-masked]>
Date: Wed, 3 Jan 2001 06:28:16 -0800 (PST)

Hi Bill,

Thanks for the comments. 

I was still a little bit confused about the first
subobject in the ERO. Lets say the example like below:

--- "Sanford, Bill" <[email-masked]> wrote:
> In the implementation in
> draft-ietf-mpls-rsvp-lsp-tunnel-07.txt, if you

---

From: "Sanford, Bill" <[email-masked]>
Date: Wed, 3 Jan 2001 11:37:48 -0500

In draft-ietf-mpls-rsvp-lsp-tunnel-07.txt, 

There are decisions to be made and "4.3.4. Processing of the Explicit Route
Object" explains how to handle them.

> Sent: Wednesday, January 03, 2001 11:28 AM
> To: Sanford, Bill; [email-masked]
> Subject: RE: ERO and strict/loose subobject
> 
> 
> 
> Hi Bill,
> 
> Thanks for the comments.
> 
> subobject in the ERO. Lets say the following example.
> 
>     A--A1--A2--A3--B--C
> 
> Assuming A is the sender node and B is the receiver
> node, A1-A3 are the intermediate nodes. A creates an
> ERO with the first subobj A's addr (loose) and second
> subobj B's addr. When A sends Path msg with the ERO
> towards B, what should A do to the ERO, it should
> delete the first subobj (itself addr)? or send both
> subobjs to B? I think A should delet the first subobj,
> but if it is, it's no use to add the first subobj(
> itself addr) at the beginning of creating ERO.
> 
> Please correct me.
> 
> Thanks in advance
> 
> Regards,
> 
> John
> 
> 
> 
>

---

From: "Sanford, Bill" <[email-masked]>
Date: Thu, 4 Jan 2001 13:08:40 -0500

So if we go back to John's original question:

-----Original Message-----
From: Antonela Paraschiv [mailto:[email-masked]]
Sent: Thursday, January 04, 2001 10:34 AM
To: John Sparr
Cc: [email-masked]; Bill Sanford; MPLS Mailing List
Subject: Re: ERO and strict/loose subobject

Hi John, 

According to the draft-ietf-mpls-rsvp-lsp-tunnel-07.txt, when the path
message leaves node A (in your example with A, A1, A2, B nodes), the ERO
should have 

   ERO = {A1, B}. 

The following paragraphs from the spec (from 4.3.4.1. Selection of the Next
Hop) state that if a node receives a path message in which the first ERO
subobject does not belong to it, it has to reply with Bad initial object. 

   "1) The node receiving the RSVP message MUST first evaluate the first 
   subobject.  If the node is not part of the abstract node described by 
   the first subobject, it has received the message in error and SHOULD 
   return a "Bad initial subobject" error.  If there is no first 
   subobject, the message is also in error and the system SHOULD return 
    a "Bad EXPLICIT_ROUTE object" error." 
and 
   "6) Finally, the node replaces the first subobject with any subobject 
   that denotes an abstract node containing the next hop.  This is 
   necessary so that when the explicit route is received by the next 
   hop, it will be accepted." 

Note please that step 1) above does not mention ANYTHING about first ERO
subobject being strict or loose. 

Can any of the authors please confirm/infirm the above? 

Best regards, 
Antonela 

John Sparr wrote: 

Hi Eric, 

You are right. I made a mistake. In the example, A is 
not the abstract node and B should set the L bit. 

My question is how node A handle the ERO. Does the ERO 
created by A contains only B's addr or both A's addr 
and B's addr, when A sent out path msg with ERO? 
Assuming A want to send ERO to B and regardless the 
intermediate nodes. 

Thanks. 

Regards, 

John 

--- Eric Gray <[email-masked]> wrote: 
> John, 
> 
>     I believe part of the issue is your use of 
> terms. 
> In the example you give, I believe that either the 
> "address" A must be that of an abstract node that 
> includes addresses A1, A2 and A3 OR B needs 
> to have the L bit set to indicate that it does not 
> have to be the very next (adjacent) peer. I am 
> sure that A cannot forward the Path message 
> to A1, let alone to B, otherwise. 
> 
>     I think if you recast your question in terms of 
> "loose hops" and "abstract nodes" and re-read 
> the applicable sections of the specification, your 
> answer will emerge. 
> 
> -- 
> Eric Gray 
> 
> John Sparr wrote: 
> 
> > Hi Bill, 
> > 
> > Thanks for the comments. 
> > 
> > > > From: John Sparr [ mailto:[email-masked]
<mailto:[email-masked]> ] 
> > > > Assuming there is a sender node and it creates 
> an 
> > > ERO. 
> > > Lets say the ERO is not set with the sender node 
> and 
> > > is started on the next 
> > > hop.  How does the LSP you want to set up know 
> that 
> > > there are no other hops 
> > > in between the sender and next hop?  If you 
> don't 
> > > have the senders ip 
> > > address as the first subobject, there isn't any 
> way 
> > > to set the properties of 
> > > didn't have the sender address in the ERO, it 
> would 
> > > immediately error with 
> > > 1) The node receiving the RSVP message MUST 
> first 
> > > evaluate the first 
> > >    the first subobject, it has received the 
> message 
> > > in error and SHOULD 
> > >    return a "Bad initial subobject" error.  If 
> there 
> > > is no first 
> > >    subobject, the message is also in error and 
> the 
> > > system SHOULD return 
> > > > Does it mean if there is strict subobject in 
> ERO, 
> > > then 
> > > Not at all.  You can have both strict hops and 
> loose 
> > > hops as part of the 
> > > same ERO.  On a "strict" hop link, there isn't 
> any 
> > > other route it can take 
> > > be additional hops between the nodes provided 
> that 
> > > it ends up on the next 
> > > hop. 
> > > 
> > > Bill 
> > 
> > http://photos.yahoo.com/ <http://photos.yahoo.com/>  
> 

__________________________________________________ 
Do You Yahoo!? 
Yahoo! Photos - Share your holiday photos online! 
http://photos.yahoo.com/ <http://photos.yahoo.com/> 

-- 

Antonela Paraschiv 

Passport MPLS, Carrier Data Networks, Nortel Networks

Tel: (978)288-6136 (Esn : 248-6136)

E-mail: [email-masked]

---

From: John Sparr <[email-masked]>
Date: Thu, 4 Jan 2001 11:40:35 -0800 (PST)

Antonela,

I think it doesn't matter for the strict or loose
attribute set for the sender's first subobject in the
ERO.

The sender node just use it (itself addr) as an
evaluating for the first subobj and then delet it.

The L bit is meaningful fot the next hop. If the L bit
is set, phop can reach nhop freely, the very adjcance
is not nessary.

For example:  A--B--C--D

A is a sender and D is a receiver. For the ERO A
created should be in order: A,B,C,D.

When A send out path msg with ERO, the first subobj
(A's addr) is deleted. When B received path msg with
the ERO, it see itself addr first.

Is that clear?

If wrong, please correct me.

Regards,

John

--- Antonela Paraschiv <[email-masked]>
wrote:
> Hi John,
> 
> According to the
> draft-ietf-mpls-rsvp-lsp-tunnel-07.txt, when the
> path
> The following paragraphs from the spec (from
> 4.3.4.1. Selection of the
> Next Hop) state that if a node receives a path
> message in which the
> first ERO subobject does not belong to it, it has to
> reply with Bad
> initial object.
> 
> > > > node, A1-A3 are the intermediate nodes. A
> creates
> > > an
> > > > subobj B's addr. When A sends Path msg with
> the
> > > ERO
=== message truncated ===

---

From: "Brennen, Jack" <[email-masked]>
Date: Thu, 4 Jan 2001 17:02:20 -0500

Your reading of the draft appears to be correct -- the draft
seems to allow that although it is not really a useful behavior.

It seems that any of the following EROs could be sent from
B1 to B2 and still maintain correct end-to-end operation:

              A--B1--B2--B3--C

   {B,C}
   {B2,B,C}
   {B2,B3,B,C}
   {B2,B3,C}
   {Bx,C}        -- where Bx is any subset of node B containing
                    both B2 and B3.

This is not a complete list -- the draft leaves a great deal of
room for variations on these themes.

All of these EROs seem to be permitted by the draft, primarily
by the third paragraph of 4.3.4.2:

   Otherwise, if the node is a member of the abstract node for the first
   subobject, a series of subobjects MAY be inserted before the first
   subobject or MAY replace the first subobject.  Each subobject in this
   series MUST denote an abstract node that is a subset of the current
   abstract node.

My personal preference as an implementor would be to forward the
incoming ERO unmodified -- send the ERO {B,C} to node B2.

But certainly nothing useful can come from sending the
ERO {B2,C} to node B2.

> From: Michael H. O'Meara [mailto:[email-masked]]
> Sent: Thursday, January 04, 2001 4:38 PM
> To: Eric Gray
> Cc: John Sparr; Bill Sanford; MPLS Mailing List
> Hello all,
>      While there's a thread on the subject, I was hoping that someone
> might help clarify some of my confusion in regards to the 
> processing of an
> ERO. In particular, I'm having some difficulty understanding 
> the selection
> of a next hop for a node in the interior of an abstract node. 
> According to
> draft-ietf-mpls-rsvp-lsp-tunnel-07.txt, section 4.3.4.1:
> 
> 5) Interior of the Abstract Node Case: Otherwise, the node selects a
>    next hop within the abstract node of the first subobject (which the
>    node belongs to) that is along the path to the abstract node of the
>    second subobject (which is the next abstract node).  
> ...
> 6) Finally, the node replaces the first subobject with any subobject
>    hop, it will be accepted.
> 
>     What, exactly, is meant by "any subobject that denotes an abstract
> node containing the next hop?" For example, given the 
> following topology:
> 
>     A--B1--B2--B3--C
> 
>     Say that A sends an ERO={B,C}, where B describes an 
> abstract node that
> contains B1, B2, and B3, and B and C are strict hops. According to the
> steps for making the selection of a next hop, B1 could send 
> an ERO={B2,C}
> to B2.
> Since C is listed as a strict hop, B2 would return a 
> "Bad strict
> node error." I may be missing something, but it would seem 
> that nothing in
> the steps for the selection of a next hop, nor in section 
> 4.3.4.2 on the
> addition of subobjects to the ERO, would preclude this from 
> happening. I
> would certainly appreciate any help in clarifying this matter.
> 			Thanks in advance,
> 				Mike    
> 
> ***************************
> Michael O'Meara
> Technician
> MPLS Consortium	
> InterOperability Lab
> University of New Hampshire
> ***************************
> 
> 
>