[pim] Mohamed Boucadair's No Objection on draft-ietf-pim-sr- p2mp-policy-15: (with COMMENT)

Mohamed Boucadair via Datatracker <[email protected]>
Newsgroups gmane.ietf.pim
Message-ID <175446795655.1188876.6043439418804859243@dt-datatracker-5bd446d5fd-c47nq>
Mohamed Boucadair has entered the following ballot position for
draft-ietf-pim-sr-p2mp-policy-15: No Objection

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)


Please refer to https://www.ietf.org/about/groups/iesg/statements/handling-ballot-positions/ 
for more information about how to handle DISCUSS and COMMENT positions.


The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/draft-ietf-pim-sr-p2mp-policy/



----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

Hi Rishabh, Dan, Clarence, Hooman, and Jeffrey,

Thank you for the effort put into this specification, which leverages RFC9524
and RFC9256.

Please find some comments below:

# Check

Section 2 has the following:

   It is similar to SR Policy
   [RFC9256].  Like SR Policy, SR P2MP Policy has one or more Candidate
   Paths and uses same criteria to select the Active Candidate Path.

I’d like to check this as I’m not sure that all parameters are inherited. For
example, do we still have Discriminator for the P2MP case as well?

# Active instance of a Candidate Path?!

Section 2.3 says:
   The controller designates an active instance of a CP at the Root node
   of SR P2MP Policy by signalling this state through the protocol used
   to instantiate the Replication segment of the instance.

(1) What is meant by “an active instance of a CP”?

(2) How this behavior interacts with the tie-breaking rules?

As I’m there, please fix this: s/The controller/A controller

# Section 2.4

CURRENT:
   The Tree-SID of the active
   instance of the active Candidate Path SHOULD be used as the Binding
   SID of the SR P2MP Policy.

Why this is not MUST? (see also next comment)

# Steering behavior

CURRENT:
   The Root node can steer an incoming packet into a SR P2MP Policy in
   one of following methods:

   *  Local Policy-Based Routing: The Root node selects the active P2MP
      tree instance of the active Candidate Path of the SR P2MP Policy
      based on local policy.  The procedures to map an incoming packet
      to a SR P2MP Policy are out of scope of this document.

   *  Tree-SID Based Routing: The Binding SID (Tree-SID) in the incoming
      packet is used to map the packet to the appropriate P2MP tree
      instance.

(1) Should the behavior of the root node be part of the instructions received
from the controller?

(2) As discussed earlier in the document, there is room for a case where
BID!=Tree-SID. What is the expected behavior in such cases?

(3) s/Local Policy-Based Routing/Local Policy-Based forwarding and s/Tree-SID
Based Routing/Tree-SID Based forwarding

# Section 3.1

CURRENT:
   The Tree-SID SHOULD also
   serve as the Replication-SID for the Replication segments at
   intermediate Replication nodes and Leaf nodes.

Please provide the rationale for this one. What are the implications if this
SHOULD is not followed?

# Section 3.2

(1)

CURRENT:
   A shared Replication Segment SHOULD be identified using a Root-ID set
   to zero (0.0.0.0 for IPv4 and :: for IPv6) along with a Replication-
   ID that is unique within the context of the node where the
   Replication segment is instantiated.

Idem as previous point, why this isn’t a MUST? At least the rationale should be
called out.

(2)

CURRENT:
   However, a shared Replication segment MUST NOT be associated with an
   SR P2MP tree.

Does this apply even if this is shared only between a subset and not all
instances?

# Section 3.3

## Transport/Service Context

CURRENT:
   For multi-point services, the transport identifier which is the Tree-
   SID or Replication SID at a Leaf node is also associated with the
   service context because it is not always feasible to separate the
   transport and service context with efficient replication in core
   since a) multi-point services may have differing sets of end-points,
   and b) downstream allocation of service context cannot be encoded in
   packets replicated in the core.

I guess I understand what is meant here by these contexts, but it would be
better to introduce these first.

## Deployment matter?

CURRENT:
   However, for SR-MPLS deployments, if it is known a priori that multi-
   point services mapped to a P2MP tree can be uniquely identified
   within the SR domain, a controller MAY opt not to instantiate
   Replication Segments at Leaf nodes.

How is that made known to the controller? Also, shouldn’t this better handled
by a policy?

# Section 4.2

CURRENT:
   A controller performs the following functions in general:

   *  Topology Discovery: A controller discovers network topology across
      Interior Gateway Protocol (IGP) areas, levels or Autonomous
      Systems (ASs).

   *  Capability Exchange: A controller discovers a node's capability to
      participate in SR P2MP tree as well as advertise it’s capability
      to compute P2MP trees.

It also need to retrieve installed tree instances in the underly domain when it
first bootstraps.

# Section 4.3

## Loops

CURRENT:
   A controller MUST compute a P2MP tree such that there are no loops in
   the tree at steady state as required by [RFC9524]).

I guess this should be conditional: IF the controllers computes a tree, then it
must be forwarding loop-free.

(nit) delete the extra “)”.

## Policy-based

CURRENT:
   A controller SHOULD modify a P2MP tree of a Candidate Path on
   detecting a change in the network topology or in case a better path
   can be found based on the new network state.  In this case, the
   controller MAY create a new instance of a P2MP tree and remove the
   old instance of the tree from the network in order to minimize
   traffic loss.

The SHOULD is scoped vaguely. No every topology change will trigger a
modification of the tree.

Also, I guess some policy is needed to drive the controller behavior for
migrating to a new path/instance.

# Section 4.5.2

CURRENT:
   It is possible for a controller create a disjoint backup tree
   instance for providing end-to-end path protection.

Well, this depends on the underlying topology.

Not sure this statement (even if adjusted) adds much to the discussion.

# Additional Operational Considerations

I was expecting some discussion about scalability matters and how to test an
active CP.

Please consider adding some discussion about these. Adding readily-available
pointers (if any) would work as well. Thanks

# Minor points

## Abstract

(1) Circular definition

CURRENT :
   A SR P2MP Policy consists of Candidate Paths (CP) which
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   define the topology of P2MP tree instances in each Candidate Path.
   ^^^^^^                                     ^^^^^^^^^^^^^^^^^^^^^^

(2) (nit) s/Paths and and how P2MP trees/Paths and how P2MP trees

## Introduction

(1) Cite an authoritative reference

CURRENT:
   A Multi-point service delivery can be realized with P2MP trees in a
   Segment Routing domain.
   ^^^^^^^^^^^^^^^^^^^^^^

(2) There might be multiple roots

OLD:
   A controller computes P2MP tree instances, from the Root to Leaf
   nodes,

NEW:
   A controller computes P2MP tree instances, from a Root to Leaf
   nodes,

(3) nit

OLD: Once computed, the controller instantiate a P2MP tree instance
NEW: OLD: Once computed, the controller instantiates a P2MP tree instance

(4) Missing references

CURRENT:
   The Replication segments of a P2MP tree can be instantiated for both
   SR-MPLS and SRv6 dataplanes, enabling efficient packet replication
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   within an SR domain.

## Section 2.2: point the reader to Section 4 where these matters are zoomed
into

OLD: A SR P2MP Policy is provisioned on a controller.

NEW: An SR P2MP Policy is provisioned on a controller (see Section 4).

## Section 2.3

CURRENT:
   The Root
   node selects the active Candidate Path based on the tie breaking
   rules defined in [RFC9256].
                 ^^^^^^^^^^^^

Please add the exact section to look at.

## Section 4

OLD:
   A controller is provisioned with SR P2MP Policy and it's Candidate
                                                       ^^^^^^
   Paths to compute and instantiate P2MP trees in SR domain.  Once
                                               ^^^^^^^^^^^^
   computed, the controller instantiates the Replication segments that
   compose the P2MP in the SR domain nodes using signalling protocols
   such as PCEP, BGP, NetConf etc.  The procedures for provisioning a
                      ^^^^^^^^^^^^
   controller and the instantiation Replication segments in SR domain
                                  ^^^^                   ^^^^^^^^
   are outside the scope of this document.

NEW:
   A controller is provisioned with SR P2MP Policy and its Candidate
   Paths to compute and instantiate P2MP trees in an SR domain.  Once
   computed, the controller instantiates the Replication segments that
   compose the P2MP in the SR domain nodes using signalling protocols
   such as PCEP, BGP, NETCONF, etc.  The procedures for provisioning a
   controller and the instantiation of Replication segments in an SR domain
   are outside the scope of this document.

## Section 4.2

s/ASs/ASes
s/it’s capability/its capability

## Appendix

Replication SIDs formatted as SRv6 Segment Identifier (SID). The textual
representation of those has to adhere to RFC 5952, especially this part:

   The characters "a", "b", "c", "d", "e", and "f" in an IPv6 address
   MUST be represented in lowercase.

Cheers,
Med



_______________________________________________
pim mailing list -- [email protected]
To unsubscribe send an email to [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.