[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: WG last calls - comments on draft-ietf-ccamp-rsvp-te-exclude-route-03.txt
Hi Dimitri,
Thanks for these useful comments. Replies inline...
dimitri papadimitriou wrote:
hi adrian,
some comments here below on the exclude route i-d
technical
---------
1. section 2.1
"Constrained Shortest Path First (CSPF) computation at Ingress, so the
ERO and XRO signaled at Ingress could be (A3-strict, A4-strict,
AB2-strict, Egress-loose) and (B1, B2, BC1, C1, C2) respectively."
AB1 should also be excluded as AB2 does not know the first path crosses
this node so there may be a case (in this example for inst. imagine
there is no link between AB2 and B3) where this could lead to overlap if
AB2 selects an area B link to reach AB1
correct, the same applies for the next area as well.
2. section 4
"The exclude route identifies a list of abstract nodes that MUST NOT
be traversed along the path of the LSP being established."
while section 4.1
" The concept of loose or strict hops has no meaning in route
exclusion. The L bit, defined for ERO subobjects in [RSPV-TE], is
reused here to indicate that an abstract node MUST be avoided (value
0) or SHOULD be avoided (value 1)."
correct. I believe it is better to say "... that should not be
traversed..." with "should" in small because the formal specification is
in the subsections.
3. section 4.1
"The subobjects are identical to
those defined in [RFC3209] and [RFC3473] for use in EROs."
looking at the definitions this is not the case (moreover the SRLG
subobject has been added) -
Are you only referring to the SRLG subobject? If yes, then it is best to
change it into "...those defined in [RFC3209] and [RFC3473] for use in
EROs and section 3.1 of this document."
4. section 4.1
" An Attribute octet is introduced in the subobjects that define IP
addresses to indicate the attribute (e.g. interface, node, SRLG)
associated with the IP addresses that can be excluded from the path."
what is a subobject that define IP addresses ?
see following subsections. Is it enough that I change "IP address" into
"IP prefix" to make it more clear?
5. section 4.1
" For instance, the attribute node allows a whole node to be excluded
from the path, in contrast to the attribute interface, which allows
specific interfaces to be excluded from the path. "
but below the definition says "0 indicates that the interface or set of
interfaces associated with the IP prefix should be excluded or avoided"
which makes the term specific ambiguous
Section 4.1 is an example on how to exclude a node or an interface from
a path. Section 4.1.1 contains the full specification and the example
looks to be contained in 4.1.1.
6. section 4.1.5
" node
1 indicates that the node with the Router ID should be
excluded or avoided (this can be achieved using IPv4/v6
subobject as well, but is included here because it may be
convenient to use subobjects from RRO, in specifying the
exclusions)"
until "(this can be achieved using IPv4/v6 subobject" i understand after
i would ask you to clarify i guess you mean RRO from another path ?
should you include this as part of the definition ?
Can you give an example on how the exlude/avoid resources from a path
computation while the path is already computed and signaled (otherwise
you do not have an RRO)?
7. section 4.2 - condition 1. what does happen when the L flag is not
set and the condition is not verified ?
Then the actions mentioned do not have to be done and the next step in
the processing is done. There is no explicit statement saying that in
this case the next step must be taken, neither is there a statement
saying that the processing also stops when the condition is met. See
4.3.4.1. of RFC3209 for similar way of describing processing.
8. section 4.2 - condition 3. "If they do contradict, the subobjects
with the L flag not set, strict or MUST be excluded, respectively, in
the ERO or XRO MUST take precedence." this sentence is cryptic i put in
the technical part because it impacts understanding concerning the exact
processing
Indeed, the sentence is not understandable and even wrong (the same
applies to a similar sentence in EXRS). Irrespective of whether the ERO
subobject is strict or loose, it takes precedence togheter with exclude
subobjects in the XRO over the avoid subobjects.
9. section 4.2 - condition 4. "The number of introduced SLRGs with the L
flag set to "avoid" should be minimised." i guess you mean wrt to the
number of "exclude" SRLGs (blocking) ? or is there an absolute
limitation due to the message size
The sentence you are referring to is not related to the number of
subobejcts in the XRO. It is related to the number of links belonging to
SRLGs that should be avoided. For instance, when there is a path that
has a link with 1 SRLG to be avoided, and there is another path with a
link of 2 SRLGs to be avoided, and there are no alternative paths then
take the first path because it minimises the number of SLRGs with the L
flag set to avoid.
To make it clear, I will change the text as follows: "The number of
introduced explicit ndoes or abstract nodes in the computed path with
the L flag set to "avoid" should be minimised.
10. section 4.2 - concerning the operations i would suggesting adding a
rule suggesting that no contradicting exclusions get inserted
What is a contradicting exclusion? Do you mean if for instance a node
appears twice in the XRO, as avoid and exclude? In that case it is
exclude. I will add a statement. Contradictions with ERO are possible
but that is mentioned.
11. section 5.
"The Explicit Exclude Route defines abstract nodes or resources (such
as links, unnumbered interfaces or labels) that must not be used on
the path between two inclusive abstract nodes or resources in the
explicit route."
... "must" while the L bit means either "avoid" or "exclude"
indeed, should be "...must not or should not be used...".
12. section 5.1
" A new ERO subobject type is defined. The Explicit Exclude Route
Subobject (EXRS) has type [TBD]. The EXRS may not be present in an
RRO or XRO."
would you clarify the meaning of the second sentence in the context of
the first one ? (note: the doc. since far tells the reader that the EXRS
is an ERO subobject)
Better to make it "The EXRS MUST NOT be present in an XRO". The
subobjects of the XRO are the same as the ERO subobject. The EXRS is
also an ERO subobject, but may not be present in XRO. It is rather
obvious that EXRS can not be in the RRO, so that can be removed.
13. section 5.1
" Note: The Most Significant Bit in the Type field could be used to
indicate exclusion of IPv4/IPv6, AS and SRLG subobjects, eliminating
the need to prepend the subobject with an additional TLV header.
This would reduce the number bytes require for each subobject by 2
bytes. However, this approach would reduce the ERO Type field space
by half. This issue need WG discussion and feedback."
-> i would suggest keeping existing definition (since the EXRS is to
considered as an optimization), this said better formalization of the
EXRS subobjects needs to be provided - as the next section mentions
"Each EXRS may carry multiple exclusions. The exclusion is encoded
exactly as for XRO subobjects and prefixed by an additional Type and
Length." while with the provided alignment it looks like each exclusion
element is encoded with this double Type/Length field
Thanks for your feedback on this question. Concerning the alignment:
there can be multiple subobjects in an EXRS, note the plural form of
"EXRS subobjects" in the first figure of section 5.1. Better to make
this more explicit in the specification of "EXRS subobjects": One or
more EXRS subobjects. An EXRS subobject indicates....". For a better
alignment it might be better to indeed add 2 padding bytes after the
Type and Length.
note that section 5. would probably require a revision after completion
of the technical details
I agree. In fact, I believe the processing can be largely removed by
referring to the XRO processing. The processing is the same except with
the limitation that it only applies to a part of the path. For instance
comment 8 above, also applies here and it makes not much sense to
duplicate things.
14. section 6.
" 2. The EXRS SHOULD be supported. If supported, the same
restrictions as for the XRO apply."
-> the EXRS is an optimization it should not be considered as a should
but optional ie MAY
Because it is about *minimal* compliance, I tend to agree.
15. there is nothing said concerning usage of EXRS when using XRO ?
Good point. Since there is basically not much difference in the
processing between EXRS and XRO, it is not a big deal to handle both.
editorial
---------
1. section 2. and onward why referring to a "Explicit Exclude Route" and
then to a "5.1 Explicit Exclusion Route Subobject (EXRS)" and not a
"Explicit Exclude Route Subobject (EXRS)" ? -> the document would
benefit from using a single term either "exclude" or "exclusion"
ok, lets take "exclusion"
2. section 2.
" This subobject might also be appropriate for use within Explicit
Routes or Record Routes, but that discussion is outside the scope of
this document."
would suggest replace this sentence with "This document does not assume
or preclude any other usage for this subobject."
ok
3. section 2. "A new subobject type the Explicit Exclude
Route Subobject (EXRS) is introduced to indicate an exclusion
between a pair of included abstract nodes."
would complete the last part of the sentence (as i guess you mean of the
ERO in the present context)
indeed, sentence should be "A new ERO subobject type ...."
4. why section 3.1 is defined as "SRLG ERO Subobject" i think this
should better be defined as an "SRLG Subobject" as i do not see a
specific reason for having an SRLG subobject outside of the XRO, EXRS
context ?
not really, see 2 previous comments. It is really an ERO subobject but
the usage of this in ERO is not part of this document. This comes down
to the discussion whether XRO defines new subobjects specific for XRO or
whether XRO simply reuses the ERO subobjects with some modifications
(L-flag and attribute). So far, the latter has been choosen but that
means that it is an SRLG ERO subobject.
5. Section 4.1.x - adapt IP address to IPv4 address when defining the
IPv4 subobject, etc.
yes
6. Section 4.1.5 - either use the term LSR Router ID or TE Router ID,
see rfc3477, section 4, from where we got the object. In fact, a
reference to this RFC is missing.
7. section 5.1
""Thus, an EXRO subobject for an IP hop might look as follows:..." ?
what do you mean by might ? isn't EXRS instead of EXRO ?
"Might" means that there other methods to do the same. For instance, if
the IP hop is IPv6, it looks different. If unnumbered links are used, it
is also different. Indeed, EXRO should be EXRS.
8. section 5.1
"Both subobjects are as described earlier in this document." both (to
which subobject do you refer here) ?
should be "The format of an EXRS subobject is exactly the same as the
format of a subobject in the XRO. An EXRS may include all subobjects
defined for the XRO in this document.".
In this way it is more clear. Becuase SRLG has been defined for XRO in
this document it may also be in the EXRS but that is implicit in the
above sentence.
9 "5.2 Semantics and Processing Rules for the EXRS" -> "5.2 Processing
Rules for the EXR Subobject and its Subobjects"
indeed. should be "5.2 Semantics and Processing Rules for the EXRS and
its Subobjects".
10. section 5.2
"If the presence of EXRO Subobjects precludes further forwarding of
the Path message, the node should return a PathErr with the error
code "Routing Problem" and error value of "Route blocked by Exclude
Route"."
you mean EXRS ? instead EXRO ?
yes
11. section 5.2
"If a node is called upon to process an EXRS and does not support
handling of exclusions it will return a PathErr with a "Bad
EXPLICIT_ROUTE object" error."
... Routing Problem/Bad EXPLICIT_ROUTE object
yes
note that in general definition of the subobject field could be made a
bit more explicit
I agree with that.
hope these comments will help you
Sure. Thanks for the comments.
regards,
Stefaan