Martin, Alvaro,

That sentence seems good. I've just posted revision 22 of the draft including 
it (together with a couple of nit-fixes as pointed by Jingrong).

Thanks,
Pablo.

https://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-22

-----Original Message-----
From: Martin Vigoureux <martin.vigour...@nokia.com> 
Sent: lunes, 28 de septiembre de 2020 10:03
To: Pablo Camarillo (pcamaril) <pcama...@cisco.com>; Alvaro Retana 
<aretana.i...@gmail.com>; The IESG <i...@ietf.org>
Cc: Bruno Decraene <bruno.decra...@orange.com>; spring@ietf.org; Joel Halpern 
<j...@joelhalpern.com>; spring-cha...@ietf.org; 
draft-ietf-spring-srv6-network-programm...@ietf.org
Subject: Re: Alvaro Retana's Discuss on 
draft-ietf-spring-srv6-network-programming-20: (with DISCUSS and COMMENT)

Hello Pablo,

thank you. In relation to item 5, here is a suggestion discussed by the IESG 
during the Telechat:

"In the context of this specification, the End, End.X and End.T behaviors with 
PSP do not contravene Section 4 of [RFC8200] because the destination address of 
the incoming packet is the address of the node executing the behavior."

-m

Le 2020-09-25 à 20:28, Pablo Camarillo (pcamaril) a écrit :
> Hi Alvaro,
> 
> Thanks for your review. See inline with [PC].
> (Note that we've just posted rev21 of the draft.)
> 
> Thanks,
> Pablo.
> 
> -----Original Message-----
> From: Alvaro Retana via Datatracker <nore...@ietf.org>
> Sent: miércoles, 23 de septiembre de 2020 22:58
> To: The IESG <i...@ietf.org>
> Cc: draft-ietf-spring-srv6-network-programm...@ietf.org; 
> spring-cha...@ietf.org; spring@ietf.org; Bruno Decraene 
> <bruno.decra...@orange.com>; Joel Halpern <j...@joelhalpern.com>
> Subject: Alvaro Retana's Discuss on 
> draft-ietf-spring-srv6-network-programming-20: (with DISCUSS and COMMENT)
> 
> Alvaro Retana has entered the following ballot position for
> draft-ietf-spring-srv6-network-programming-20: Discuss
> 
> 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/iesg/statement/discuss-criteria.html
> for more information about IESG DISCUSS and COMMENT positions.
> 
> 
> The document, along with other ballot positions, can be found here:
> https://datatracker.ietf.org/doc/draft-ietf-spring-srv6-network-programming/
> 
> 
> 
> ----------------------------------------------------------------------
> DISCUSS:
> ----------------------------------------------------------------------
> 
> I am balloting DISCUSS because I find the document unclear and lacking proper 
> technical details around significant functionality, as reflected in my first 
> 3 points.  The fourth point is related to the registration policy (which 
> doesn't match the definition in rfc8126), and my last point is for the IESG 
> to consider.
> 
> (1) Pseudocode and normative behavior
> 
> The use of pseudocode was chosen as the mechanism to specify behavior, as 
> explained in §4:
> 
>     An implementation of the pseudocode is compliant as long as the externally
>     observable wire protocol is as described by the pseudocode.
> 
> Clarity in the pseudocode is essential because it is used to determine 
> compliance.  Several places need improvement:
> 
> (1a) In §4.1/§4.13/§4.15, the pseudocode is missing an ELSE after S04, to 
> include the error conditions if SL != 0.  A check for an error condition when 
> SL is decremented is also needed.  As written, the pseudocode could process 
> the packet (SL == 0) *and* send an ICMP time exceeded message... :-(
> [PC] Please check the pseudocode in rev 21. We have included the missing 
> break statement in S03. I believe the current pseudocode is good.
> 
> I'm using as a reference the pseudocode in §4.3.1.1/rfc8754, which includes 
> the same initial statement.
> 
> (1b) It would be nice if the behavior in §4.1.1 were also specified using 
> pseudocode.  As written, I am not sure if the intent is to process any 
> upper-layer header or only specific ones.  Is the objective for this 
> operation to be similar to the one in §4.3.1.2/rfc8754?  Please be specific 
> on what is meant by "allowed by local configuration".
> [PC] Yes, we can structure the text in 4.1.1 in pseudocode form. The 
> processing is not the same as RFC8754/Section 4.3.1.2. The “allowed by local 
> configuration” is to enable the processing of only specific types of 
> Upper-layer Headers for packets addressed to an SRv6 SID of the specific 
> behaviors. E.g. An operator may not wish to have BGP sessions (or in general 
> any TCP traffic) destined to a local SID, but may want to enable ICMPv6 
> packet processing for OAM purposes.
> <OLD>
> 4.1.1.  Upper-Layer Header
> 
>     When processing the Upper-layer Header of a packet matching a FIB
>     entry locally instantiated as an SRv6 End SID, if Upper-layer Header
>     processing is allowed by local configuration (e.g.  ICMPv6), then
>     process the upper-layer header.  Otherwise, send an ICMP parameter
>     problem message to the Source Address and discard the packet.  Error
>     code 4 (SR Upper-layer Header Error) and Pointer set to the offset of
>     the upper-layer header.
> </OLD>
> <NEW>
> 4.1.1.  Upper-Layer Header
> 
> When processing the Upper-layer Header of a packet matching a FIB entry 
> locally instantiated as an SRv6 End SID do the following:
> 
> S01. If (Upper-Layer Header type is allowed by local configuration) {
> S02.   Process the Upper-layer Header
> S03. } Else {
> S04.   Send an ICMP Parameter Problem to the Source Address,
>            Code 4 (SR Upper-layer Header Error),
>            Pointer set to the offset of the Upper-layer Header,
>            Interrupt packet processing and discard the packet.
> S05  }
> 
> Notes.
> S01. An operator may not wish to have any TCP traffic destined to a local 
> SID, but may want to enable ICMPv6 packet processing for OAM purposes.
> </NEW>
> 
> [Note: this point by itself is not DISCUSS-worthy, but §4.1.1 is used, for 
> different reasons, in some of the other items I point to below.  That is why 
> I include it here.]
> 
> (1c) §4.4/§4.6: S01 of the second piece of pseudocode is an instruction for 
> processing a non-IPv6 upper header.  However, earlier in that section, it is 
> specified that the SID "is associated with one or more L3 IPv6 adjacencies/an
> IPv6 FIB table".  How can the upper header not be IPv6 if the specification 
> explicitly says it has to be?
> [PC] The pseudocode is convoluted. I propose to turn it around for 4.4, 4.5, 
> 4.6 and 4.7. As an example with 4.4:
> <OLD>
>     When processing the Upper-layer header of a packet matching a FIB
>     entry locally instantiated as an SRv6 End.DX6 SID, the following is
>     done:
> 
>     S01. If (Upper-Layer Header type != 41(IPv6) ) {
>     S02.    Process as per Section 4.1.1
>     S03. }
>     S04. Remove the outer IPv6 Header with all its extension headers
>     S05. Forward the exposed IPv6 packet to the L3 adjacency J
> </OLD>
> <NEW>
>     When processing the Upper-layer header of a packet matching a FIB
>     entry locally instantiated as an SRv6 End.DX6 SID, the following is
>     done:
> 
>     S01. If (Upper-Layer Header type == 41(IPv6) ) {
>     S02.    Remove the outer IPv6 Header with all its extension headers
>     S03.    Forward the exposed IPv6 packet to the L3 adjacency J
>     S04. }
>     S05. Else {
>     S06.    Process as per Section 4.1.1
>     S07. }
> </NEW>
> 
> (1d) §4.5/§4.7 have the same issue but related to IPv4.
> [PC] We’ve clarified the pseudocode on the same lines as 1c.
> 
> (1e) §4.9 also has the same issue when it specifies that "End.DX2 SID...is 
> associated with one outgoing interface I", but allows for the processing of 
> non-ethernet payloads which could then be forwarded through a different 
> outgoing interface.
> [PC] We’ve clarified the pseudocode on the same lines as 1c.
> 
> (1f) §4.11/§4.12 allows the processing of non-ethernet payloads, which will 
> not be "associated with an L2 Table T" as described.
> [PC] We’ve clarified the pseudocode on the same lines as 1c.
> 
> (2) §4.12 describes the only behavior that can carry an ARG.  I don't 
> understand how it works:
> 
>        Arg.FE2 is encoded in the SID as an (k*x)-bit value.  These bits
>        represent a list of up to k OIFs, each identified with an x-bit
>        value.  Values k and x are defined on a per End.DT2M SID basis.  The
>        interface identifier 0 indicates an empty entry in the interface
>        list.
> 
> Let's assume a router has 10 possible OIFs, and the operator uses 4-bit 
> values to identify them; then, the ARG would take 40 bits of the SID.  Is 
> that how the math works?
> 
> Assuming my interpretation is correct, for 20 OIFs and 5-bit values we would 
> need 100 bits.  Considering the examples in §3.2, where a /64 is allocated to 
> a router, this behavior wouldn't have enough bits!  I realize that maybe a 
> better encoding would be to use a 20-bit field, each representing an 
> interface.
> However, there would still be a limit of < 64 OIFs.  Am I missing something?
> [PC] For the End.DT2M behavior, Arg.FE2 is a locally allocated Ethernet 
> Segment Identifier that is used for split-horizon filtering as described in 
> RFC7432. The text that you have quoted above needs to be removed since it is 
> trying to describe one way of allocation (which obviously has its 
> limitations). Instead, we will update this text to clarify the semantics and 
> purpose of the Arg.FE2 and its allocation method would be left as 
> implementation specific (just similar to an ESI label).
> [PC]Please see the updated text of rev21.
> 
> I'm trying to ultimately get to the fact that there are limits to this 
> behavior, but they are not described in the document.  Please clearly explain 
> any limitations and any possible workaround.
> 
> (3) The description of the flavors in §4.16 is also unclear.
> 
> The section starts with this introduction:
> 
>     The PSP, USP and USD flavors are variants of the End, End.X and End.T
>     behaviors.  For each of these behaviors these flavors MAY be
>     supported for a SID either individually or in combinations.
> 
> By being "variants", I interpret that the behavior is different than what is 
> specified in §4.1.
> 
> (3a) Some of the behaviors, as listed in Table 4, include an indication of 
> the flavors.  How are the values interpreted?  For example, the Table lists 8 
> different behaviors related to End:
> 
> | 1           | 0x0001 |   End (no PSP, no USP)  |    [This.ID]     |
> | 2           | 0x0002 |       End with PSP      |    [This.ID]     |
> | 3           | 0x0003 |       End with USP      |    [This.ID]     |
> | 4           | 0x0004 |     End with PSP&USP    |    [This.ID]     |
> ...
> | 28          | 0x001C |       End with USD      |    [This.ID]     |
> | 29          | 0x001D |     End with PSP&USD    |    [This.ID]     |
> | 30          | 0x001E |     End with USP&USD    |    [This.ID]     |
> | 31          | 0x001F | End with PSP, USP & USD |    [This.ID]     |
> 
> Is value 1 what is specified in §4.1?  Or does it include USD, which is not 
> explicitly excluded)?
> [PC] This has been corrected in revision 20. Can you please recheck and let 
> me know? E.g. 0x0001 does not include any of the flavors.
> 
> 
> [PC] For the remainder of the comments in this section, lets recall that a 
> single Segment Endpoint Behavior codepoint is bound to a SID at a segment 
> endpoint node.   A node computing a segment list with a particular SID knows 
> its associated behavior.  A segment endpoint node receiving a packet destined 
> to a locally instantiated SID performs only the processing associated with 
> the behavior bound to that SID.  A behavior is only bound to a SID, never to 
> a node.
> (3b) If a behavior with more than one flavor is signaled, how should the 
> receiving node determine which one to apply?  I guess that the application of 
> behaviors 4 or 29 depends on the number of SLs -- the expected behavior 
> should be clearly specified.
> [PC] The segment endpoint node receiving a packet destined to a SID with 
> behavior 4 applies only the processing associated with the SID (I.e. behavior 
> 4).
> 
> (3c) Is it assumed that all nodes support all behaviors?  Are there mandatory 
> to implement behaviors?  Should the behavior be advertised before it is used?
> [PC] The answer to first two questions is no. For the third, if a node 
> computing a segment list does not know of a SID (and its behavior) it will 
> not be able to 'use' the SID in a segment list.
> 
> (3d) §4.16.1.2:
> 
>     When a SID of PSP-flavor is processed at a non-penultimate SR Segment
>     Endpoint Node, the PSP behavior is not performed as described in the
>     pseudocode below since Segments Left would not be zero.
> 
> For example, for the End behavior, I'm assuming that behavior 1 is performed 
> instead of 2 (or 4, or 29, or 31) if SL != 0.  Should this be done even if 
> the node did not advertise the non-PSP flavor?
> [PC] If a SID of END behavior (1) is instantiated at a segment endpoint node, 
> a packet destined to that SID will only ever be processed with behavior 1.
> 
> If the node is not known to support the PSP flavor, should it be an error to 
> receive a packet requesting that behavior?
> [PC] If a node does not support PSP, then it has not instantiated any SID 
> with a segment endpoint behavior including PSP, and it is not possible for it 
> to receive a packet destined to a local SID it has not instantiated.
> 
> If only the PSP flavor is advertised, can the Source assume that the node 
> also supports the non-PSP flavor?
> [PC] If a SID with PSP flavor is advertised (I.e. segment endpoint behavior 
> codepoint 2) by a segment endpoint node, a SR source node can only expect 
> that SID has the behavior bound to it.
> 
>    [BTW, I'm asking about advertisement because §4.16.1.1 makes the statement
>    that the nodes "advertise the SIDs instantiated on them via control plane
>    protocols as described in Section 9".  Even though §9 talks about control
>    plane protocols are "not necessary for an SDN control plane" because "one
>    expects the controller to explicitly provision the SIDs".]
> 
> (3e) §4.16.2 describes the USP flavor, which is one where the endpoint 
> consumes the packet by processing the next header.  I don't understand how 
> the outcome due to the extended process is different from the original one in 
> §4.1.  Can you please explain?  It seems to me that the externally observable 
> result is the same.
> [PC] We have use-cases where the packets with SRH may be destined to 
> applications or host implementations running in containers. The USP flavor is 
> useful to remove the consumed SRH from the extension header chain before 
> sending over to the application stack – we’ve seen this with smartNICs. As 
> such the perspective on externally observability differs and hence we believe 
> it is needed to specify this.
> 
> I have the same question about the USD flavor and the externally observable 
> behavior related to §4.1.
> [PC] The USD flavor specifically enables the de-encapsulation of inner IP 
> packet and its further forwarding (consider use-case like TI-LFA where 
> encapsulation is done on the PLR and de-encapsulation has to be done on the 
> last node of the repair list). In this case the PLR node that is crafting the 
> SID list wants to ensure that the last segment in the repair list is able to 
> perform decapsulation.
> 
> In general, the observable behavior of §4.1, USP, and USD seem the same to me.
> The next two points are related.
> 
> (3f) §4.16.3 describes the USD flavor, which assumes that the decapsulation 
> results in a packet that can be forwarded.  Can the FIB lookup result in a 
> local destination?
> [PC] Please refer the previous comment about the use-case and so yes, we 
> normally expect the decapsulation results in a packet that is forwarded out. 
> However, the inner packet may also be destined to a local address.
> 
> (3g) Does the USD flavor mean that, for the End behavior (as described in 
> §4.1), the action of "process the next header in the packet" cannot result in 
> a forwarded packet?  Same question for the USP behavior?
> [PC] Please refer to the previous comments. There is no such assumptions on 
> neither the base End behavior nor End with USP.
> 
> (3h) The last paragraph in §4.16.3:
> 
>     An implementation that supports the USD flavor in conjunction with
>     the USP flavor MAY optimize the packet processing by first looking
>     whether the conditions for the USD flavor are met, in which case it
>     can proceed with USD processing else do USP processing.
> 
> What are the "conditions for the USD flavor"?  As far as I can tell from the 
> document, the only condition is for the specific behavior to be signaled.  
> What else?
> [PC] I've removed this paragraph. This is an implementation optimization and 
> provides no value to the pseudocode preceding it.
> 
> Going back to the questions above...  When is the option to optimize possible?
> Does a specific behavior have to be used?  Behavior 30 (End with USP&USD)?  
> Or can it also optimize if behavior 3 (End with USP) is signaled?
> 
> (4) §10.2 creates a new registry with an "FCFS" registration procedure.  I am 
> assuming that this is the same as the "First Come First Served" (no
> abbreviation!) policy from rfc8126; please add a reference if that is the 
> case.
> [PC] Ack to change FCFS for “First Come First Served [RFC8126]”.
> 
>   The description used is not the same as what rfc8126 specifies:
> 
> - "Requests for allocation...must include a...preferably also a brief
>    description of how the value will be used."   Using "preferably" indicates
>    that a description is optional.  However, it is not optional in rfc8126.
> 
> - "...brief description...may be provided with a reference to an Internet
>    Draft or an RFC or in some other documentation that is permanently and
>    readily available."  There is no such requirement in rfc8126.  For example,
>    the "Specification Required" policy requires "a permanent and readily
>    available public specification".  Is that what you want  instead?
> 
> [PC] Indeed, the current text is wrong. My bad. I've updated the text with 
> this diff below. Also, I’m not sure whether that paragraph is really needed. 
> Maybe just putting in the table “First Come First Served [RFC8126]” is 
> sufficient as RFC8126 already describes what is written in the text below. If 
> it can be removed please let me know.
> <OLD>
>     Requests for allocation from within the FCFS range must include a
>     point of contact and preferably also a brief description of how the
>     value will be used.  This information may be provided with a
>     reference to an Internet Draft or an RFC or in some other
>     documentation that is permanently and readily available.
> </OLD>
> <NEW>
>     Requests for allocation from within the First Come First Serve range must 
> include a
>     point of contact and a brief description of how the
>     value will be used.
> </NEW>
> 
> (5) This point is for the IESG to discuss.
> 
> §4.16.1.2:
> 
>        The End, End.X and End.T behaviors with PSP do not contravene
>        Section 4 of [RFC8200] because the destination address of the
>        incoming packet is the address of the node executing the behavior.
> 
> The spring WG's interpretation of rfc8200 was a central point in the appeal 
> presented against the WG consensus on this document.  The text above, I 
> believe, reflects that consensus.
> 
> However, given that the document relies on the spring WG's interpretation of 
> rfc8200, I think it would be better if the text is explicit.
> 
> Suggestion: to add at the end of the paragraph>
> 
>     This conclusion represents the consensus interpretation of the spring WG.
> 
> 
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
> 
> (1) §3.1:
> 
>     An SRv6 endpoint behavior MAY require additional information for its
>     processing (e.g. related to the flow or service).  This information
>     may be encoded in the ARG bits of the SID.
> 
> The sentence is simply stating a fact, not a normative behavior.   s/MAY/may
> [PC] This is fixed in rev20.
> 
> (2) All the examples in §3.2 have a /48 prefix allocated to the SRv6 
> deployment (and then /64s per node).  Is it possible to start with a 
> different SRv6 infrastructure allocation, a /64, or /96 maybe?  If so, please 
> include an example.  If not, please explain any limitations.
> [PC] The examples are based on real deployments and as such reflect the 
> practical aspects of those operators SRv6 infrastructure allocation designs. 
> It would be counter-productive and misleading to provide artificially 
> manufactured examples (and then why just /96 and not something else?). The 
> document does not pose any limitations.
> 
> (3) §4 starts by saying that "Each FIB entry indicates the behavior 
> associated with a SID instance and its parameters."  But the previous section 
> (§3.3. SID
> Reachability) says that "node N would advertise IPv6 prefix(es) matching the 
> LOC parts covering its SIDs or shorter-mask prefix" (not the behavior).  IOW,
> §3.3 sets the expectation of an advertisement covering just the LOC, but §4 
> seems to expect entries that cover the LOC+FUNC.  Which one is correct?
> [PC] Section 3.3 talks about the Prefix Reachability advertisement for the 
> SRv6 Locator. Section 4, is talking about FIB entries instantiated on the SR 
> Segment Endpoint Node that has allocated those local SIDs – please note that 
> they are local entries. There is no discussion on their advertisement in 
> Section 4. Can you please check if the update text in Section 4 in v21 
> clarifies?
> 
> In the end, it may not matter which entry is in the FIB, as long as the SID 
> is reachable.  However, the specification of the behavior feels sloppy.
> 
> (4) §4.9/§4.10: For the S04 step, perhaps decompose it into individual 
> actions (similar to S04-S06 in §4.7).
> [PC] Fixed in rev21.
> 
> (5) §4.11/§4.12  "S05. Learn the exposed MAC Source Address..."
> 
> The note related to this step says that in "EVPN, the learning...is done via 
> the control plane"...but here it is done via the data plane.  What, if any, 
> is the effect on EVPN operation?  Are there issues with learning conflicting 
> information from different sources?  It seems to me that it could be 
> relatively easy to spoof the source and create unexpected entries in the L2 
> table.  Please point to the EVPN documents where this type of operation is 
> considered.
> [PC] Indeed, text is inaccurate. I've updated the note to the following:
> <OLD>
>     S05.  In EVPN, the learning of the exposed MAC Source Address is done
>     via the control plane.
> </OLD>
> <NEW>
> S03. In EVPN RFC7432, the learning of the exposed MAC Source Address is done 
> via control plane. In L2VPN VPLS RFC4761 RFC4762 reachability is obtained by 
> standard learning bridge functions in the data plane.
> </NEW>
> 
> (6) §4.10/§4.11/§4.12 don't have references to the example applications 
> mentioned.  Please add Informative references.
> [PC] Ack. I’ve add the references to RFC7432, RFC4761, RFC4762, RFC8317, 
> RFC4761.
> 
> (7) §4.13/§4.15 instantiate a Binding SID, but only in the case where SL != 0.
> What about the case where a Binding SID wouldn't require an extra 
> encapsulation (SL == 0)?  Is there a reason that it is not supported in this 
> document?
> [PC] Such a requirement has not yet arisen. If need arises in the future, a 
> new behavior may be defined by a future document. This document provides the 
> framework and the extensibility to do so.
> 
> (8) §5.1: I'm assuming that the last line in this section (the one starting 
> with S03) should be proceeded by "Note:".
> [PC] Fixed.
> 
> (9) §5.1: "The H.Encaps behavior is valid for any kind of Layer-3 traffic."
> While it may be used for any kind of traffic, I'm assuming that there will be 
> a policy that determines which traffic is encapsulated using a specific SRv6 
> policy, right?  Please be specific about that.
> [PC] This document does not describe how traffic is steered into an SR 
> Policy, it may be steered by a route installed by BGP, a static route, some 
> application specific selection, etc.. The steering of a packet into an SR 
> Policy is out of scope of this document..
> 
> (10) §5.3: "Ethernet [IEEE.802.3_2012]"  Please use the reference when 
> Ethernet is first used in the document.  [I have the same question as Rob 
> related to the version of the 802.3 spec.]
> [PC] Fixed in rev20.
> 
> (11) §5.3: "...MUST remove the preamble or frame check sequence (FCS) from 
> the Ethernet frame upon encapsulation and the decapsulating node MUST 
> regenerate
> the preamble or FCS before forwarding Ethernet frame."   Which one?  The
> preamble can be easily recreated by the receiver, while removing the FCS may 
> be more problematic -- even if the FCS is not checked in transit, it seems 
> that it would be important to carry it.  In any case, the real question here 
> is: why use "or"?  Is it left at the discretion of the encapsulating node?  
> Are there any considerations when selecting?
> [PC] You are correct. Corrected to the following:
> <OLD>
> The encapsulating node MUST remove the preamble or frame check sequence (FCS) 
> from the Ethernet frame upon encapsulation and the decapsulating node MUST 
> regenerate the preamble or FCS before forwarding Ethernet frame.
> </OLD>
> <NEW>
> The encapsulating node MUST remove the preamble (if any) and frame check 
> sequence (FCS) from the Ethernet frame upon encapsulation and the 
> decapsulating node MUST regenerate, as required, the preamble and FCS before 
> forwarding Ethernet frame.
> </NEW>
> 
> (12) All the headend behaviors (§5) include this text:
> 
>     The push of the SRH MAY be omitted when the SRv6 Policy only contains
>     one segment and there is no need to use any flag, tag or TLV.
> 
> If the endpoint behavior indicates the PSP or USP flavors, what should the 
> receiver do?  Clearly there is no SRH to pop.  Is this an error or should the 
> receiver simply ignore the flavor?
> [PC] If there is no SRH, then the SRH processing is not executed.
> The PSP and USP flavors only make changes in the SRH processing pseudocode, 
> hence it is not executed.
> 
> (13) §6: "counter...for traffic that matched that SID and was processed 
> correctly"  Does "processed correctly" include when the result being an ICMP 
> error message?  Or should those be counted separately?
> [PC] Packets that result in an ICMP error message or those that are dropped 
> are not counted as correctly processed. I've updated the text.
> <OLD>
>     A node supporting this document SHOULD implement a pair of traffic
>     counter (one for packets and one for bytes) per local SID entry, for
>     traffic that matched that SID and was processed correctly.
> </OLD>
> <NEW>
>     A node supporting this document SHOULD implement a pair of traffic
>     counters (one for packets and one for bytes) per local SID entry, for
>     traffic that matched that SID and was processed successfully (i.e. 
> packets which generate ICMP Error Messages or are dropped are not counted).
> </NEW>
> 
> (14) §7: I'm guessing that "flow-based hash" and "load-balancing hash" are 
> the same thing, is that correct?  It would be nice to use consistent 
> terminology.
> [PC] Fixed.
> 
> (15) §8: A rogue node inside the SR domain may (on purpose) signal the wrong 
> behavior for a flow, which may result in the delivery of the traffic to the 
> wrong destination (potentially including destinations outside the domain), 
> among other things.  Note that this action is possible even if the rogue node 
> is authenticated and authorized to generate an SRH.  I didn't find this 
> threat mentioned in rfc8402/rfc8754.
> [PC] The control plane protocol specifics are outside the scope of this 
> document. I am not able to parse this comment and what is it that needs to be 
> addressed in this document.
> 
> (16) §9.4: I'm not sure what the purpose of §9 is, as a whole.  But the 
> summary in §9.4 puzzles me more; what is the intent?  Does Table 1 indicate 
> that, for example, an IGP implementation should not advertise the 
> End.B6.Encaps behavior?
>   Does Table 2 indicate that only BGP-LS should signal the ability to 
> H.Encaps.L2?  I am confused about the value/intent because the text clearly 
> says that the control plane is outside the scope of this document.
> [PC] The section provides an overview of the role of control plane routing 
> protocols in the advertisements of the SRv6 Locator and the SIDs along with 
> their behaviors – all new aspects that have been introduced in this document. 
> Based on the SRv6 solutions developed around the behaviors introduced in this 
> document, it indicates what information is expected to be advertised via 
> which protocol. It does not describe “how” since that is clearly outside the 
> scope of this document and part of the individual routing protocol extensions.
> 
> (17) [nits]
> 
> s/an network operator/a network operator
> s/one billionth and one millionth of the assigned address space/one billionth 
> and one millionth of the available address space
> s/packet's header Section 7/packet's header (Section 7)/g
> [PC] Those three have been fixed.
> 
> s/bundle(LAG)/bundle (LAG)
> Please expand LAG.
> [PC] "(LAG)" has been removed as per the comments of another AD.
> 
> Thank you for your time Alvaro!
> 
> 
> 
_______________________________________________
spring mailing list
spring@ietf.org
https://www.ietf.org/mailman/listinfo/spring

Reply via email to