Hi Andy,

Many thanks for the detailed early review, they will help to improve the 
document.
Right, implementation compatibility is essential. We start to work on an update 
to
address all your feedbacks and comments.

Again, many thanks your efforts and clear suggestions.

Kind Regards
Bala'zs (and the co-authors)

-----Original Message-----
From: Andy Smith via Datatracker <[email protected]>
Sent: Monday, July 20, 2026 5:27 PM
To: [email protected]
Cc: [email protected]; [email protected]
Subject: draft-ietf-spring-sr-redundancy-protection-08 early Rtgdir review

Document: draft-ietf-spring-sr-redundancy-protection
Title: SRv6 for Redundancy Protection
Reviewer: Andy Smith
Review result: Has Issues

To: [[email protected]](mailto:[email protected]);
[[email protected]](mailto:[email protected])
Cc: [[email protected]](mailto:[email protected])

Hello,

I have been selected to perform a Routing Directorate early review of this
draft:

https://datatracker.ietf.org/doc/draft-ietf-spring-sr-redundancy-protection/

The Routing Directorate performs early reviews of documents at the request of 
the working group chairs. My focus in this review is to determine whether the 
document is sufficiently clear, complete, and internally consistent to proceed 
toward publication. Please consider these comments together with the other 
working group comments.

For more information about the Routing Directorate, please see:

https://wiki.ietf.org/en/group/rtg/RtgDir

Document: draft-ietf-spring-sr-redundancy-protection-08
Reviewer: Andy Smith
Review Date: 20 July 2026
Intended Status: Standards Track

## Summary

I have significant concerns about this document. It needs more work before 
being submitted to the IESG.

The document describes a useful SRv6 mechanism for packet replication and 
elimination and provides a helpful example of its intended operation. However, 
the current text is not yet ready for publication.

My principal concern is not with the validity of the proposed mechanism, but 
with whether two independent implementations could derive the same packet 
format and processing behavior from this specification. In several places, 
particularly the definition of the RSID argument and the End.R behavior, the 
required behavior is ambiguous or incomplete.

The document also contains numerous grammatical errors, spelling errors, 
incomplete sentences, undefined notation, duplicated figure numbers, missing 
text, inconsistent terminology, and at least one apparent error in the example 
packet-processing sequence. These problems make the technical behavior 
considerably harder to understand.

## Major Comments

### 1. The RSID argument format is not specified precisely enough

Section 3.2 states:

> RSID MUST support containing a FID of 20 bits. RSID MUST support
> containing a
SeqNum of 16 bits.

It then gives an example in which the SeqNum may be 28 bits, while Section 7.1 
says that implementations may support "more bits for advanced scenarios."
Section 3.3 also lists "SeqNum length" as a Redundancy Policy parameter.

It is therefore unclear whether:

* The FID is always exactly 20 bits or may have another length.
* The SeqNum is always exactly 16 bits, or may be 0, 16, 28, or some other 
number of bits. * A packet carries any indication of the SeqNum length. * The 
SeqNum length is inferred entirely from the locally configured Redundancy 
Policy. * There is a maximum supported SeqNum length. * All member flows 
associated with a RedInst must use the same SeqNum length. * The remaining 
zero-filled bits are part of the argument or merely padding.

The text says that the ARG contains the FID "immediately followed by" the 
SeqNum, but it does not give an unambiguous bit diagram or define the bit 
numbering. A receiver cannot reliably extract the SeqNum unless it already 
knows its length.

Please define the complete on-wire format, preferably with a bit diagram. The 
specification should state the exact width and location of each field, the 
permitted SeqNum lengths, how the length is determined, and the required 
handling of unsupported or inconsistent lengths.

### 2. FID scope and member-flow association need clarification

Section 3.2 says:

> FID identifies one specific member flow on an R-Node and has local
significance.

The examples show different FIDs being placed in replicas of the same original 
flow. An elimination node must nevertheless determine that packets received 
with those different FIDs belong to the same redundancy instance and 
sequence-number space.

The document should explain more precisely:

* Whether a FID identifies the original protected flow, an ingress member flow, 
an egress member flow, or a locally configured RedInst. * Whether the same 
member flow may have different FIDs at different R-nodes. * How multiple 
incoming FIDs are associated with the same elimination instance. * Whether all 
replicas of an original packet carry the same SeqNum. * Whether the FID value 
is allocated by the transmitting R-node or by the receiving R-node. * What 
"local significance" means when an upstream node must place the downstream 
node's FID in the RSID.

The text in Section 3.3 concerning "RSID+FID used by the downstream R-node"
suggests that the FID is allocated in the context of the downstream R-node.
That relationship should be stated explicitly and consistently.

### 3. Sequence-number lifecycle and wraparound behavior are unclear

The document says that the SeqNum is created at the first R-node and used by 
replication and elimination functions, but it does not describe the 
sequence-number lifecycle.

At minimum, the document should state how the following are handled or identify 
the external algorithm that defines them:

* SeqNum initialization.
* SeqNum incrementing.
* Wraparound.
* Restart of an R-node.
* Reuse of a FID.
* Changes to a Redundancy Policy.
* Packets remaining in flight when a sequence-number space is reset.
* Whether subsequent replication nodes preserve the original SeqNum or may 
generate a new one.

The elimination algorithm itself may be implementation-specific, but the sender 
and receiver still need a common understanding of the sequence-number space.
Otherwise, implementation-specific choices may cause valid packets to be 
classified as duplicates.

### 4. End.R error handling is incomplete

Section 4.1 defines processing for packets whose upper-layer protocol is IPv4, 
IPv6, or Ethernet. However, it does not specify the required handling of:

* An ARG that is too short for the configured FID and SeqNum fields.
* An unsupported SeqNum length.
* An unknown FID.
* A known FID for which no active Redundancy Policy exists.
* A malformed or inconsistent RSID.
* A packet received without the expected SRH or encapsulation.
* Failure of the redundancy function.
* Resource exhaustion at the elimination node.

The generic statement "Process the Upper Layer Header" does not appear 
sufficient for all these cases. Please define whether such packets are dropped, 
processed using ordinary IPv6 behavior, passed through, or handled according to 
local policy. Appropriate counters and logging behavior may also need to be 
identified.

### 5. The controller requirements are inconsistent with the rest of the 
document

Section 4.1 says:

> As elimination node needs to maintain the state of served flows, a
centralized controller MUST have a knowledge of elimination nodes capability.

It then says:

> It MUST NOT provision the redundancy policy to a redundancy node when
> the
computation result goes beyond the flow recovery capability of the elimination 
node.

This introduces a mandatory centralized controller, but other parts of the 
document allow information to be allocated and distributed by an R-node or by 
various management and control-plane mechanisms.

Please clarify whether a centralized controller is an architectural 
requirement. If it is not, these requirements should be expressed in terms of 
the management or control-plane entity provisioning the policy.

"Flow recovery capability" is also undefined. It could refer to the number of 
flows, sequence-window size, packet rate, buffering capacity, supported 
algorithms, maximum differential delay, or some combination of these. The 
required capability information and the condition that MUST NOT be exceeded 
need to be stated more precisely.

### 6. The H.Encaps.R definition contains missing and ambiguous text

Section 4.2.1 says:

> Node "N" steers the egress packet P1 into an SRv6 Policy with a Source
Address T and a segment list SP1=, where S13 is a Redundancy SID...

The segment list following `SP1=` is missing.

This is important because the subsequent example depends on the ordering of 
S11, S12, and S13. Please restore the missing segment list and define the 
segment notation clearly.

The statement that the RSID "MUST be the last segment in an SR Policy" is also 
ambiguous because SRHs display segment lists in an order that can be confusing.
Please say explicitly whether "last" means the final segment to be executed, 
the segment in Segment List[0], or the final textual element in the policy 
representation.

### 7. Next Header processing needs to be stated precisely

The encapsulation procedures say "Set the outer Next Header value," without 
specifying the value or how it is selected.

For an encapsulation containing an SRH, the IPv6 header's Next Header 
identifies the SRH, while the SRH Next Header identifies the encapsulated 
payload. When the SRH is omitted for a one-segment policy, the IPv6 Next Header 
directly identifies the encapsulated payload.

Section 4.2.3 separately says:

> The Next Header field of the SRH MUST be set to 143.

Please define the required Next Header values for each of the following cases:

* IPv4 payload with an SRH.
* IPv6 payload with an SRH.
* Ethernet payload with an SRH.
* IPv4, IPv6, and Ethernet payloads when the SRH is omitted.

The present wording could lead to different encapsulations by different 
implementations.

### 8. H.Encaps.R.L2 has an empty processing step

Section 4.2.3 contains:

> S04. Set the outer Next Header value
> S05.
> S06. Submit the packet...

S05 is empty. Please either restore the missing operation or renumber the steps.

### 9. The relationship between End.R and the headend behaviors is unclear

The abstract and introduction say that the document introduces one new SRv6 
Segment Endpoint Behavior. Section 4 then says:

> the following packet processing rules are defined as a new set of SRv6
> SID
behaviors regarding the Redundancy SID: (i) End.R, (ii) H.Encaps.R, ...

The H.Encaps behaviors are headend behaviors, not endpoint behaviors. The text 
should consistently distinguish:

* The new End.R endpoint behavior.
* The associated headend encapsulation behaviors.
* The redundancy function or algorithm invoked by End.R.

The terms "Redundancy Segment," "Redundancy SID," "RSID," "Redundancy 
functionality," "Redundancy Policy," and "Redundancy instance" should also be 
reviewed and used consistently.

### 10. The example contains an apparent processing error

In Appendix A, the E5 processing description says:

> E5 intends to send the packet to the next redundancy node (E6), which
> is
reachable via SRv6, so E6 performs H.Encaps.R(.Red)...

Presumably this should say that **E5** performs H.Encaps.R(.Red), not E6.

Please review the complete appendix carefully for similar node-attribution 
errors.

### 11. The IPv6 notation in Appendix A is not syntactically valid

The appendix uses examples such as:

* `2001:db8:L:j::/128`
* `2001:db8:K:j:U::`
* `2001:db8:src::1`
* `2001:db8:dst::1`
* `2001:db8:K:5:P:arg::`

Letters such as K, L, P, U, X, `src`, `dst`, and `arg` are not hexadecimal IPv6 
components. The notation is evidently intended to contain symbolic 
placeholders, but this is not made sufficiently clear and can be mistaken for 
literal IPv6 addresses.

Please either use syntactically valid documentation addresses or define a 
formal notation in which bracketed or otherwise visibly distinguished symbols 
represent variable fields.

### 12. Normative language is used inconsistently

The document invokes BCP 14, but many operational requirements use lowercase 
"must" and "should," including statements about logging, management access, 
capacity limits, and configuration behavior.

Please determine which statements are normative protocol requirements and 
capitalize the BCP 14 terms where appropriate. Statements that are merely 
recommendations or descriptions should be rewritten without normative-sounding 
lowercase language.

Conversely, some existing uppercase requirements may be unnecessarily tied to a 
particular architecture, especially the centralized-controller requirements 
discussed above.

## Additional Comments

### 13. Pass-through mode is not defined

Section 7.1 says that R-nodes should default to "pass-through mode." This term 
is not defined.

Does pass-through mean ordinary IPv6 processing, forwarding without replication 
or elimination, decapsulation followed by forwarding, or rejection of packets 
addressed to an unconfigured RSID? Please define the behavior.

### 14. The NTP recommendation is unexplained

Section 7.3 says:

> Accurate time synchronization (i.e., NTP) is recommended.

The described mechanism appears to use sequence numbers rather than 
synchronized timestamps. Please explain what function requires synchronized 
time, what level of accuracy is needed, and what happens without it. Otherwise, 
this recommendation should be removed.

Also, NTP is a protocol rather than a measure of accuracy; if time 
synchronization is required, an appropriate reference and requirement should be 
provided.

### 15. Behavior when paths are not disjoint should be clearer

The draft sometimes refers to different paths and sometimes to disjoint paths.
The mechanism can apparently operate over non-disjoint paths, although the 
resulting protection may be reduced.

Please distinguish between:

* A protocol requirement that packets use different paths.
* A design recommendation that the paths be link-, node-, or SRLG-disjoint.
* A service objective or controller computation policy.

The type of disjointness is currently not specified.

### 16. Maximum differential delay should be discussed

An elimination function typically maintains a sequence-recovery window or 
history. The acceptable differential delay between member paths affects how 
long state must be retained and whether delayed replicas are correctly 
eliminated.

The document mentions using paths with similar delay to reduce jitter but does 
not connect path differential delay to elimination-state sizing or "flow 
recovery capability." This relationship should be explained in the operational 
considerations.

### 17. ECMP behavior deserves clearer guidance

The draft correctly notes that placing FID and SeqNum bits in the IPv6 
Destination Address may cause per-packet ECMP changes.

However, the suggested workaround of excluding ARG bits from ECMP hashing may 
not be universally configurable and could affect other traffic. Adding a node 
SID before the RSID also changes the path and SID-list requirements.

Please explain more clearly that operators must verify the hashing behavior of 
every relevant forwarding node and that an implementation cannot assume ARG 
bits will be excluded.

### 18. Multiple Redundancy Policies per RSID are unclear

Section 4.1 says that a Redundancy Segment "has associated Redundancy 
Policy(s)," while elsewhere the text says an RSID "MUST have a related 
Redundancy Policy."

Please clarify whether there is:

* One policy per RSID.
* One policy containing multiple per-flow entries.
* Multiple policies associated with the same RSID.
* One policy per RedInst.

### 19. Source address A and policy B are not used

Section 4.1 says:

> An instance of a redundancy SID is associated with a redundancy policy
> B and
a source address A.

The symbols A and B are not subsequently used in the End.R definition.
Elsewhere A and B are used as the source and destination addresses of an inner 
packet.

Please remove this sentence, explain its relevance, or use notation that does 
not conflict with the packet notation in Section 4.2.1.

### 20. Required behavior for sequence-number zero should be clarified

The draft says that ARG=0 is meaningful and represents FID=0 and SeqNum=0. That 
establishes that zero values are valid, but it does not say whether FID 0 is 
always allocatable, whether SeqNum 0 is an ordinary sequence value, or whether 
either value has initialization semantics.

This should be stated explicitly.

### 21. IEEE 802.1CB algorithm dependency is unclear

Section 4 says that the redundancy algorithm is outside the scope of the 
document and gives IEEE 802.1CB as an example. The implementation section then 
describes an IEEE 802.1CB FRER implementation.

Please clarify whether an implementation may use any replication and 
elimination algorithm, or whether certain externally defined behavioral 
properties are required for interoperability. If the algorithm is entirely 
local, explain which aspects remain interoperable regardless of algorithm 
choice.

### 22. Management model language is premature or unclear

Section 7.6 says:

> This needs further work.

and:

> A Device Model should distinguish...

For a Standards Track document, "needs further work" is not actionable 
specification text. If a YANG model is outside the scope of this document, say 
so clearly and describe the manageable objects without implying that an 
unspecified model is part of the protocol requirement.

## Nits and Editorial Comments

The document would benefit from a comprehensive English-language edit. The 
following list is substantial but may not be exhaustive.

### Abstract and Section 1

* "service provided in Segment Routing networks" should be "services provided 
in Segment Routing networks" or "a service provided in a Segment Routing 
network." * Consider replacing capitalized "Redundancy Protection" with 
lowercase except where it is a formally defined term. * "the high reliability"
should be "high reliability." * "different protections paths" should be 
"different protection paths." * "On the elimination network node" should be "At 
the elimination node." * "packet level protection" should be "packet-level 
protection." * "remains operationel" should be "remains operational." * "other 
protection mechanism" should be "other protection mechanisms." * Add a comma 
after the parenthetical list ending in "etc." * "scenario specific" should be 
"scenario-specific." * "out of scope in this document" should be "outside the 
scope of this document." * "ultra reliable" should be "ultra-reliable." * 
"Cloud VR/Game" is unclear and should be expanded or rewritten. * "other type 
of video services" should be "other types of video service." * "high value 
private line service" should be "high-value private-line services." * Avoid 
ending the list with both "etc." and an implied open-ended list.

### Section 2

* Define BER when first used or add it to the terminology section.
* "R-node participating in the service protection" should be "an R-node 
participating in service protection." * "Rep node" and "Elm node" are awkward 
abbreviations. Consider "replication node" and "elimination node" throughout. * 
"Redundancy instance, flow-specific..." needs an article or a complete 
sentence. * "Flow Identification" would normally be "Flow Identifier" if it 
refers to the value carried in the packet.

### Section 3.1

* "referred as" should be "referred to as."
* Remove the space before the period in "elimination ."
* "flow related" and "flow specific" should be hyphenated when used 
adjectivally. * "has flow specific states" should probably be "maintains 
flow-specific state." In networking usage, "state" is normally uncountable here.

### Section 3.2

* "Meta Data" and "meta data" should be "metadata."
* "on an R-Node" should use consistent capitalization: "R-node."
* "all packet" should be "all packets."
* "for example by" needs commas: "for example, by..."
* "Netconf" should be "NETCONF."
* "among controller and R-nodes" should be "between the controller and the 
R-nodes" or "among controllers and R-nodes." * "The explicit format of 
Redundancy SID" should be "The exact format of the Redundancy SID." * Use 
either `FUNC` or `FUNCT` consistently. * "ARG: Contains" should use lowercase 
"contains." * "immediatelly" should be "immediately." * "Remaining LSB" should 
be "The remaining least-significant bits." * "a maximal size SeqNum field"
should be "a maximum-size SeqNum field." * "It is meaning that" should be "It 
means that." * "Note2" should be "Note 2." * "per packet basis" should be 
"per-packet basis." * "node specific" should be "node-specific."

### Section 3.3

* "The first and the last R-nodes needs" should be "The first and last R-nodes 
need." * "VRF/ VSI" contains an unnecessary space. * "defined for example"
should be "defined, for example," * "desribed" should be "described." * The 
sentence beginning "Using SR Policy..." is a fragment. Suggested structure:
"The use of an SR Policy, as described in RFC 9256, to define an egress 
member-flow protection path is outside the scope of this document."

### Section 3.4

* The first topology is Figure 1, but Section 4.1 also labels the 
endpoint-behavior table as Figure 1. Figure numbers must be unique. * List 
numbering uses `1)`, `2.1)`, `2.2)`, and `3)`. Use consistent nested-list 
formatting. * "arrives at Rep node" should be "arrives at the Rep node." * 
"Meta data information" is redundant; use "Metadata." * "path specific" should 
be "path-specific." * Add a comma before "i.e." or rewrite the sentence. * 
"downstream to the Elm node" should be "downstream of the Elm node." * "out of 
the scope" should be "outside the scope." * The two consecutive paragraphs 
beginning "Note:" should either be separate numbered notes or ordinary prose. * 
"path forwarding delay" could simply be "forwarding delay."

### Section 4

* "a new set of SRv6 SID behaviors" is inaccurate because four listed behaviors 
are headend behaviors. * "Note, that" should be "Note that." * "Redundancy 
Functionality" should not be capitalized unless it is a defined term. * 
"algoritm" should be "algorithm." * "Redundancy specific" should be 
"redundancy-specific." * "Redundancy Segment is..." needs an article
throughout: "A Redundancy Segment..." * "Redundancy Policy(s)" should be 
avoided; use either singular or plural prose. * "instantiation of which 
provides" is difficult to parse. * "Flow-ID" and "FID" are used inconsistently.
* The sentence defining SeqNum is a comma splice. * "for DetNet MPLS data 
plane" should be "for the DetNet MPLS data plane." * "utilizes sequence number"
should be "uses the sequence number." * "ingresss" should be "ingress." * 
"R-nodes are ingresss node" should be "R-nodes are ingress nodes." * Add a 
comma after "[RFC8402]." * "As elimination node needs" should be "Because an 
elimination node needs." * "have a knowledge" should be "have knowledge." * 
"elimination nodes capability" should be "the elimination node's capabilities"
or "elimination-node capabilities." * "Upper Layer Header" and "Upper-Layer 
header" should be used consistently. * The conditional in the End.R pseudocode 
appears to be missing a closing parenthesis:
  `If (Upper-Layer header type == (4 OR 41 OR 143))`.
* Add terminal punctuation or semicolons consistently to the pseudocode steps.
* "is same as defined" should be "is the same as that defined."

### Section 4.2

* The opening sentence in Section 4.2.1 is a fragment: "When a node N 
receives..." * "identified as a Flow for redundancy" should be rewritten. * 
"Flow related" should be "flow-related." * "in case of elimination" should be 
"in the case of elimination." * "neither a local address nor SID" should be 
"neither a local address nor a SID." * "P1, and P2 (if exists)" should be "P1 
and P2, if P2 exists." * "respectively look like" is inappropriate if there may 
be only one packet. * The pseudocode combines two operations in S01. These 
should be separate numbered steps. * "LAST SID" should be replaced by precise 
SRH terminology. * Use `FID`, `Flow-ID`, or `Flow-ID1` consistently. * "first 
SID" should be related explicitly to the relevant SRH fields and execution 
order. * "Ethernet specific" should be "Ethernet-specific." * "TTL/Hop Limit 
related action" should be "TTL- or Hop-Limit-related action." * The preamble is 
normally not presented to an Ethernet interface as part of the received frame.
The "if any" qualification helps, but the text should be checked for alignment 
with actual interface behavior. * The text describing H.Encaps.R.L2.Red does 
not show the resulting packet format, unlike the other behaviors. Consider 
adding it for consistency.

### Section 5

* "one new assignments" should be "one new assignment."
* Verify the capitalization and exact name of the IANA subregistry.
* `xTBD1` should be checked against the usual presentation of hexadecimal 
values in the registry.

### Section 6

* "this section have to be removed" should be "this section is to be removed."
* RFC 7942 is cited but is missing from the reference lists.
* "decision processes" would read better as "decision-making process."
* The closing quotation needs punctuation before the closing quotation mark.
* "open sourced" should be replaced with the name of the organization or 
"open-source project." It does not answer the stated field, "organization 
responsible." * "generates copies and send them" should be "generates copies 
and sends them." * "Flow identification on ingress node limited" should be 
"Flow identification on the ingress node is limited." * "FlowLabel" should be
"IPv6 Flow Label" unless it is an implementation-specific identifier. * Use an 
RFC 3339-style date, such as `2026-07-10`, rather than `2026.07.10`.

### Section 7

* The first sentence is overly long and should be divided.
* "in order to effectively integrate" can be shortened to "to integrate."
* "pass- through" contains an inappropriate line-break artifact in the source 
rendering; ensure it renders as "pass-through." * "Section 3.2." should not 
have a period after the section number. * "supporting more bits" has no clear 
grammatical subject. * "All R-nodes must support SRv6" should either use 
normative `MUST` or be rewritten descriptively. * "External systems ... are 
expected to compute" should acknowledge that such systems are not mandatory 
unless that is an architectural requirement. * "flow count does not exceed 
R-node capacity" needs an article or pluralization. * "Security operation 
related to redundancy proection functionality are" should be "Security 
operations related to the redundancy-protection function include." * 
"proection" should be "protection." * "allow such an analysis" should be 
"support such analysis." * "Replication/Elimination" should generally be 
lowercase. * "Query active redundancy policy entries and served flows on each 
R-node is needed" should be rewritten as an imperative. * "per flow basis"
should be "per-flow basis." * "is needed e.g." should be "is needed, for 
example," or rewritten. * "Standardized Technologies" should not be 
capitalized. * "Device Model" should be "device model." * "CFM tools" should be 
expanded or referenced. * "and/or" should generally be avoided. * "detecting 
packet arrival" is not parallel with "Monitor liveness." * Consider using 
"packet-replication rate" and "duplicate-elimination rate" to remove ambiguity.

### Section 8

* "can also achieved" should be "can also be achieved."
* "by blocking the elimination" should explain what it means to block 
elimination. * The sentence beginning "The use of redundancy protection should 
be restricted..." incorrectly uses "i.e." to join distinct recommendations. * 
"PCEP with TLS" should cite the applicable PCEP security specification if this 
is retained as an example. * "Replay attacks also can affect" should be "Replay 
attacks can also affect." * "dependent on the algorithm..., however algorithm 
are" should be "dependent on the algorithm; however, algorithms are..." * 
"Statements ... applies" should be "Statements ... apply." * "information as 
well" is awkward; rewrite the sentence. * Add a comma after the introductory 
phrase in "By limiting the number..." * "Impact of resource exhaustion" needs 
an article. * "algorithms of elimination" should be "elimination algorithms."

### Sections 9 and 10

* Consider adding country information consistently to all contributor and 
author addresses or omitting it consistently. * In the acknowledgements, add 
"and" before the final name: "Jeffrey Zhang, and Adrian Farrel."

### Appendix A

* "Nodes n4 is" should be "Node n4 is."
* Capitalization of `N3` and `n4` is meaningful but easy to miss. Explain it in 
prose, not only in the figure legend. * Node `j`, locator field `K`, function 
`U`, and parameter `P` need clearer definitions. * "towards neighbor node i"
should be "toward neighboring node i." * "via the nth link" should define how 
`n` is represented in `Xin`. * "per packet redundancy" should be "per-packet 
redundancy." * "identifies the flow the packet belongs to" should be 
"identifies the flow to which the packet belongs." * "path specific" should be 
"path-specific." * "argument part ... involves" should be "argument part ...
contains." * The packet notation should be defined before use. * `link-1`, 
`link-2`, `Link3`, and `Link7` use inconsistent capitalization and hyphenation.
* "the next redundancy nodes" should be "the next redundancy nodes" only when 
there is more than one; otherwise use singular. * "it send the UDP packet"
should be "it sends the UDP packet." * "The above described principles" should 
be "The principles described above." * "such more complex network topologies"
should be "more complex network topologies."

### References

* Add RFC 7942, which is cited in Section 6.
* Review whether RFC 9256 should be normative, since the document defines SR 
Policy headend behavior using SR Policy terminology. * Review whether the 
security Internet-Draft must be normative. If this document depends on 
requirements in that draft, the dependency should be explicit. * The reference 
text shown for the Internet-Draft appears to have an empty URL field and 
unusual author formatting. This may be generated automatically, but it should 
be checked. * Verify that every protocol named in the body and needed to 
implement a normative requirement has an appropriate reference.

## Conclusion

The basic mechanism is understandable, but the specification currently mixes 
architectural description, implementation choices, operational recommendations, 
and normative packet-processing requirements without consistently 
distinguishing among them.

Before publication, I recommend:

1. Defining an exact, interoperable RSID ARG format.
2. Clarifying FID scope and SeqNum lifecycle.
3. Completing and tightening the End.R and H.Encaps.R processing rules.
4. Correcting the technical errors and missing text in the examples.
5. Performing a comprehensive editorial pass over the entire document.

Once these issues are addressed, the document should be substantially easier to 
review and implement.

Regards,

Andy




_______________________________________________
spring mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to