Re: [spring] Comments on draft-filsfils-spring-sr-policy-considerations-01

Przemyslaw Krol <pkrol@google.com> Tue, 30 October 2018 16:45 UTC

Return-Path: <pkrol@google.com>
X-Original-To: spring@ietfa.amsl.com
Delivered-To: spring@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 77DDE130DC8 for <spring@ietfa.amsl.com>; Tue, 30 Oct 2018 09:45:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.501
X-Spam-Level:
X-Spam-Status: No, score=-17.501 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id S78YIjlfhLcN for <spring@ietfa.amsl.com>; Tue, 30 Oct 2018 09:45:24 -0700 (PDT)
Received: from mail-io1-xd30.google.com (mail-io1-xd30.google.com [IPv6:2607:f8b0:4864:20::d30]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9C91512D4EA for <spring@ietf.org>; Tue, 30 Oct 2018 09:45:24 -0700 (PDT)
Received: by mail-io1-xd30.google.com with SMTP id k17-v6so7675106ioc.4 for <spring@ietf.org>; Tue, 30 Oct 2018 09:45:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=lMxL8VqUxJCp8U9+J/Qj+PiiZs7amJr3N/3DiNa9j+o=; b=iJeyLXSYtSZu+XoCvRhV4XwXWSx/2VtghNopvIBHyFJ1okT6B1z5kC+VySfpnNWzLP BB9PeEmnWL3w1NQKyG9tI3y0qwCqsuoaZk6kw31l7XHXD9jZkQqZCyAlMrNTQinHjMBu Z1SV2yeBXeUG8yETJ0mFGOIq428SdBON3kMJka3pzIOSYRi90LSGYn6K2HbrryKon/1l HHBvuhnZfEXn3S2QedIoPAvTUCFuUqIZV0nemJ/IfC4D1ZIJ7uj2GzujEFzTpQ374pIv daoDteZ3+FF4Q3qYwenV2tiLZpiFgJWyCSahBCHdjMsuYiCHZVmqQdwyeyd6BZhPewvj KJpQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=lMxL8VqUxJCp8U9+J/Qj+PiiZs7amJr3N/3DiNa9j+o=; b=N6hvDENWDEbrvpM9O/7jNZyWXoUREJILuQAy4iegnosB5ag7JlnMTTgthnfC3PirAc UR4GowbEyj763eW/J1SOD/kwiy+kyyKTi9jS4whcbk53/f3WtdaSi8cJbCn0mL0kSrhl NI7SQi7US10HEYavrO0U/CDU0rjbOOKRdOTHZXPVWJi9ml2Y03bATUDZBC8MAYb7aYfH r4ogQza5RdwFOcMiN1pLOTB7MHXRg5ky5xYI03xqnzjR/TFaiCxdbYamM1ovXPeoCnfs bTaAL8fTgJx2eXbHWcoMX5RQvxSJYv9cfRBsDlZYpYLJo/tUVJuPikQGyRZjAysk2nIE QUTw==
X-Gm-Message-State: AGRZ1gIOwRcO9JT1Q7CU/oFqng7ZtJ6D8cXPY9Vp501747FLz1qIuJzc DwzD/MHh57J2cMIVrheB2Xd24tr2wJHbjGdjM5ZUmg==
X-Google-Smtp-Source: AJdET5fmbustvw5DTRAAvUnBjEtRuah9hGgFanJPNVsFIFp7UMyVmvSIWa3eGh5lU0JOX22r3bBV0KNCkQ4FCqv516I=
X-Received: by 2002:a5e:a507:: with SMTP id 7-v6mr12090109iog.151.1540917923299; Tue, 30 Oct 2018 09:45:23 -0700 (PDT)
MIME-Version: 1.0
References: <CAHd-QWv0E1skiiAV+L7AiDk78qjPH=RZ_vC-me94Cj_yC8eRCQ@mail.gmail.com> <3470b63ec7264ac096e326a59d97b50f@XCH-ALN-008.cisco.com> <CAHxMRea=a6qf5c7HFf+mQV5vC5DvxMVORkTY4Ceo9uv9z4jOsg@mail.gmail.com>
In-Reply-To: <CAHxMRea=a6qf5c7HFf+mQV5vC5DvxMVORkTY4Ceo9uv9z4jOsg@mail.gmail.com>
From: Przemyslaw Krol <pkrol@google.com>
Date: Tue, 30 Oct 2018 09:44:46 -0700
Message-ID: <CACH2EkULQC2dieee+rBOdvMKa3x96=1yTHi2DGB7jzonkXqjqw@mail.gmail.com>
To: rjs@rob.sh
Cc: "Ketan Talaulikar (ketant)" <ketant@cisco.com>, robjs=40google.com@dmarc.ietf.org, spring@ietf.org, draft-filsfils-spring-sr-policy-considerations@tools.ietf.org
Content-Type: multipart/alternative; boundary="00000000000072d61f057974e91b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/bxnYxEKsGe9dj4nmadox7E_wDSQ>
Subject: Re: [spring] Comments on draft-filsfils-spring-sr-policy-considerations-01
X-BeenThere: spring@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Source Packet Routing in NetworkinG \(SPRING\)" <spring.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spring>, <mailto:spring-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spring/>
List-Post: <mailto:spring@ietf.org>
List-Help: <mailto:spring-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spring>, <mailto:spring-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 30 Oct 2018 16:45:29 -0000

Howdy,

I tend to agree that in the current shape,
draft-filsfils-spring-sr-policy-considerations-02
<https://tools.ietf.org/html/draft-filsfils-spring-sr-policy-considerations-02>
document
attempts to cover architectural, operational and use-case aspects which may
not be optimal. To that point, if we can agree whether it is supposed to be
a more operationally-focused extension to its
parent draft-ietf-spring-segment-routing-policy draft or more of a use case
overview, we could make relevant adjustments/augmentations to accommodate
that. I personally see a value in both options but based on Rob's feedback,
the latter one may not be suited for SPRING WG.

thanks,
pk

On Mon, Oct 22, 2018 at 9:50 PM Rob Shakir <rjs@rob.sh> wrote:

> Ketan, Authors,
>
> Thanks for the update. Further responses are in-line marked [rjs].
>
> My key feedback here is that I feel like we're not really on the same page
> as to what this draft is trying to communicate. Perhaps if we agreed this,
> then it'd be clearer what the right direction for the document is.
>
> I'd really encourage the WG to read this doc and provide the authors with
> feedback -- especially if you have an implementation, or are implementing
> SR-TE Policy in your network.
>
> On Thu, 18 Oct 2018 at 19:10 Ketan Talaulikar (ketant) <ketant@cisco.com>
> wrote:
>
>>
>>
>>    - (2) What is the intention of the diagram shown in this section? It
>>    seems to be completely an implementation detail that an implementation has
>>    the "SRPM" that acts as a central resolution point. For instance, what
>>    should a reader learn from the fact that the SRPM is not a standard RIB
>>    resolution process? If there are suggestions that one wants this
>>    implementation - should there be some discussion of the complexity of this
>>    new API between say, the BGP daemon and a general RIB process?
>>
>> *[KT] **We will clarify in the text that the section provides a
>> conceptual overview of components/functionality that work with each other
>> to implement SR Policy on a headend. The intention is not to define APIs
>> between the blocks since those are implementation details. We have several
>> drafts related to the SR Policy functionality – besides the architecture
>> draft, there are extensions to BGP (BGP-SRTE & LS), PCEP then we have Yang
>> model. This draft puts these blocks into reference so implementers get an
>> idea of the functionality that maps to say BGP and the SR Policy processes
>> (e.g. draft-ietf-idr-segment-routing-te-policy).*
>>
>
>>    - (2) My general feedback on this section is that this is
>>    implementation discussion, that does not add to the IETF content that we
>>    are publishing within SPRING. Like we have had discussion of use case
>>    drafts, I think this is similar but from the implementor side. I'd like to
>>    discuss the value that this content has.
>>
>> *[KT] **There is a difference between documenting implementation details
>> and providing a conceptual overview of the implementation aspects.
>> Especially when defining an architecture which involves multiple protocols
>> and functional blocks. I find it valuable as an implementer myself.*
>>
>
> [rjs] I don't think that the edits that are made to this section
> particularly add anything. If the intention is the conceptual overview, I
> don't understand why we refer to say, the "SRP process". Conceptually,
> shouldn't this be describing interaction between functional blocks? i.e.,
> we have a functional block in the architecture that is responsible for
> learning candidate paths (it's an implementation detail from where...), and
> selects the active path, installing it into the RIB or FIB.
>
> If the intention is to have this be conceptual, my suggestion would be to
> make the language refer to architectural concepts - rather than what seem
> to be realisations of the idea, and to convert the diagrams into lists that
> describe what each block is doing. Others may have thoughts on this too -
> especially where they have other implementations.
>
>
>>
>>    - (3.1) I think that this section has some useful content, but it's
>>    buried by starting out by defining the algorithms.. Why not make this
>>    section be focused towards the constraints that must be considered when
>>    calculating a SID stack for a particular path. i.e., the key points seem to
>>    be:
>>
>>
>>    - Use of the IGP metric as the metric for path optimisation is
>>       desirable, especially in constrained push or readable depth environments,
>>       because it allows the minimum number of deviations from the shortest path
>>       and therefore labels.
>>       - If a different metric is used, then this implies that every time
>>       that metric differs from the IGP metric, then this will result in
>>       additional SIDs.
>>
>>
>>    - There is no mention of flex-algorithm in this section. It seems
>>          relevant given that you can also mitigate the problem that is trying to be
>>          solved here by having a set of prefix SIDs per metric.
>>
>> *[KT] **We will put a forward reference to the Flex Algo section here.*
>>
>>    - It may be advantageous to sacrifice optimality of the path
>>       calculation solution by relaxing the optimisation constraints.
>>
>>
>>    - The draft should talk about the operational considerations here -
>>          i.e., it implies that you can actually tolerate the margin in the
>>          optimisation objective for the service.
>>          - The "just pick the best you can do within N SIDs" is
>>          dangerous, since it means that the network delivers a service that *isn't*
>>          what the operator asked for - which may result in service degradation
>>          (e.g., consider live/live where there is a maximum latency difference that
>>          is tolerable between the two feeds).
>>
>> *[KT] **We will add text clarifying this aspect. However, the point is
>> also that the operator may be OK with the “best possible” and so such an
>> option may be useful in some deployments.*
>>
>
> [rjs] I don't think that we agree at all on whether this section is useful
> in its current form. What is the message that we're trying to convey in
> this section of the document? If it is that there are possible algorithms
> that may be used by an operator dependent on their service, I'm not clear
> that we need to document this. The value to me *would be* that we cover
> some of the caveats of calculating policies that are specific to SR --
> i.e., SID stack depth being something that is influenced by divergence from
> the shortest path, and the fact that we might need to sacrifice the optimal
> solution to pathing based on these constraints, then I think it'd be
> useful. The current text does not get this across clearly.
>
>
>>
>>    - (3.2) I'm unclear of the value of this text. It seems to me that
>>    we're restating some of the optimisation objectives that are known for
>>    general TE (and, for example, are described by - say RFC3209). What is it
>>    that we're trying to communicate to the reader here -- can it be covered by
>>    "existing path calculation considerations, such as resource affinity
>>    [rfc3209] can be applied to the path calculation of SR paths"?
>>
>> *[KT] **We do not assume that anyone that is deploying SR Policies is
>> familiar with RSVP-TE. RFC3209 does cover resource affinity but not the
>> others. Some of the constraints are unique to SR. Hence, there is a value
>> in specifying the available constraints.*
>>
>
> [rjs]: Again, we might have to agree to disagree here. I did not make an
> assertion that someone was familiar with RSVP-TE, but that they were
> familiar with *TE* -- there are networks that meet these constraints that
> do not use SR or RSVP-TE.... Again, I'd find it very useful to understand
> what the authors are trying to communicate in this section. If it's that
> there are particular trade-offs, sure, let's find new wording -- but if
> not, then I'm not clear why SPRING needs to standardise an incomplete list
> of optimisation criteria.
>
>
>>
>>    - (3.4) I'm again going to question the value of this section -- it
>>    doesn't seem to give enough detail of the algorithm that you're proposing
>>    to be generally useful, and points out it is a node-local behaviour. If
>>    there's a desire to get to a common understanding of how to take a path and
>>    compress its SID stack, then let's write this out.
>>
>> *[KT] **Agree that this is a node local behavior. However, the high
>> level description does indicate how an implementation could go about
>> determining a path to a SID in an efficient manner.*
>>
>
> [rjs]: If there's really value in this high-level description (I'm not
> sure I agree...) -- it seems like then restructuring this section to write
> out the algorithm then use it to illustrate how it operates on a network
> after this.
>
>
>>
>>    - (4) See my comments on Section 2 of this document, why is
>>    describing how the interaction between different processes within what
>>    sounds like a single implementation something that we should publish within
>>    the IETF?
>>
>> *[KT] **These examples are important to illustrate how the candidate
>> path selection tiebreaker rules work in different conditions. The
>> interactions are also valuable to understand the selection which happens
>> say within BGP (based on its best path) for BGP-SRTE and the selection that
>> then happens at SR Policy level. This section was originally placed in the
>> Appendix of the SR Policy Architecture draft since the candidate path
>> selection tiebreaker rules were specified in that draft. Later was move to
>> this informational draft.*
>>
>
> [rjs]: In my view, this example would be best _as succinctly_ as possible
> to demonstrate the preferences in the actual draft. It seems to me that the
> explanations themselves are quite wordy to make a couple of clear points:
>
>  - BGP path selection is unaffected by SR-TE policy.
>  - If a protocol does not make its own path selection, then SR-TE policy
> attributes are considered to differentiate between them.
>  etc.
>
> Ideally, this should be clear in the policy architecture draft itself. If
> it can't be made clear, then I think we should seriously consider whether
> we have the right level of complexity here.
>
>
>>
>>    - (5+5.1+5.2) The core point that seems to be being made here is that
>>    - within a single IGP area the head-end has all the visibility it requires;
>>    if there are multiple areas, there are ways that a head-end could get
>>    access to the areas that it is not part of (e.g., BGP-LS). Is anything more
>>    being said here? Do the implementation details that there are BGP-LS RRs
>>    actually matter?
>>
>> *[KT] **The intention is to provide guidance for some of the deployment
>> options for achieving this functionality.*
>>
>>    - (5.3) Similarly to the above, this seems to assume one particular
>>    mechanism of building a centralised system, that doesn't need any new
>>    extensions in the IETF. Is this something that we need to document?
>>
>> *[KT] **We explain while taking an example of a mechanism based on IETF
>> standards that is available for operators looking to deploy this model.*
>>
>>    - (6.2) This section seems to imply that there can never be
>>    allocations from the SRLB that are not dynamically advertised via some
>>    other protocol. Is this really true?
>>
>> *[KT] **I don’t believe this was the intention. We will clarify this in
>> the text.*
>>
>>    - (8) Given that there is a separate draft discussing this -- what is
>>    the motivation to have this in this document?
>>
>> *[KT] **This section gives and overview of the proposal with an example
>> of optical circuit. It also clarifies that the concept described is
>> applicable not just for optical links but in general to other types of
>> layer 2 circuits and tunnels as well. The draft-anand-spring-poi-sr goes
>> into the details of the use-case, protocol mechanism and extensions
>> specifically for optical networks only.*
>>
>
> [rjs]: For the above points -- I think we've clearly seen in the WG and
> IESG that there is not a huge amount of appetite to publish use case
> drafts. From an operational perspective, I also don't really find these
> sections that useful since they don't really give me enough information to
> be able to figure out an implementation. I'd be interested whether the
> working group thinks that they are sufficiently of interest to include in
> this document.
>
> Cheers,
> r.
>
>
>> Thanks,
>>
>> r.
>> _______________________________________________
>> spring mailing list
>> spring@ietf.org
>> https://www.ietf.org/mailman/listinfo/spring
>>
>

-- 
Przemyslaw "PK" Krol |  Strategic Network Engineer ing | pkrol@google.com