rfc9703xml2.original.xml   rfc9703.xml 
<?xml version="1.0"?> <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference. <!DOCTYPE rfc [
RFC.2119.xml"> <!ENTITY nbsp "&#160;">
<!ENTITY RFC8287 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference. <!ENTITY zwsp "&#8203;">
RFC.8287.xml"> <!ENTITY nbhy "&#8209;">
<!ENTITY RFC8029 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference. <!ENTITY wj "&#8288;">
RFC.8029.xml">
<!ENTITY RFC7705 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.
RFC.7705.xml">
<!ENTITY RFC8690 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.
RFC.8690.xml">
<!ENTITY RFC8174 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.
RFC.8174.xml">
<!ENTITY RFC8403 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.
RFC.8403.xml">
<!ENTITY RFC8664 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.
RFC.8664.xml">
<!ENTITY RFC4271 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.
RFC.4271.xml">
<!ENTITY RFC5065 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.
RFC.5065.xml">
<!ENTITY RFC6286 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.
RFC.6286.xml">
<!ENTITY RFC9086 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.
RFC.9086.xml">
<!ENTITY RFC9087 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.
RFC.9087.xml">
<!ENTITY RFC7942 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.
RFC.7942.xml">
<!ENTITY RFC9256 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.
RFC.9256.xml">
<!ENTITY RFC6793 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.
RFC.6793.xml">
]> ]>
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-ietf-mpls-sr-epe-oam-19" ipr="trust200902">
<front>
<title abbrev="EPE-OAM">Label Switched Path (LSP) Ping/Traceroute for Segment
Routing (SR)
Egress Peer Engineering Segment Identifiers (SIDs)
with MPLS Data Plane</title>
<author initials="S." surname="Hegde" fullname="Shraddha Hegde"> <rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-ie
<organization>Juniper Networks Inc.</organization> tf-mpls-sr-epe-oam-19" number="9703" consensus="true" ipr="trust200902" obsolete
<address> s="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="
<postal> 3" symRefs="true" sortRefs="true" version="3">
<street>Exora Business Park</street>
<city>Bangalore</city>
<region>KA</region>
<code>560103</code>
<country>India</country>
</postal>
<email>shraddha@juniper.net</email>
</address>
</author>
<author initials="M." surname="Srivastava" fullname="Mukul Srivastava">
<organization>Juniper Networks Inc.</organization>
<address>
<postal>
<street></street>
<city></city>
<region></region>
<code></code>
<country></country>
</postal>
<email>msri@juniper.net</email>
</address>
</author>
<author initials="K." surname="Arora" fullname="Kapil Arora"> <front>
<organization>Individual Contributor</organization>
<address>
<postal>
<street></street>
<city></city>
<region></region>
<code></code>
<country></country>
</postal>
<email>kapil.it@gmail.com</email>
</address>
</author>
<author initials="S." surname="Ninan" fullname="Samson Ninan"> <!--[rfced] We updated "MPLS Data Plane" to "MPLS Data Planes" in the
<organization>Ciena</organization> document title. If that is not correct and it should be singular,
<address> please let us know. We also added a hyphen to "EPE SIDs" in the
<postal> abbreviated title that spans the PDF to match the running text.
<street></street>
<city></city>
<region></region>
<code></code>
<country></country>
</postal>
<email>samson.cse@gmail.com</email>
</address>
</author>
<author initials="X." surname="Xu" fullname="Xiaohu Xu">
<organization>China Mobile</organization>
<address>
<postal>
<street></street>
<city>Beijing</city>
<region></region>
<code></code>
<country>China</country>
</postal>
<email>xuxiaohu_ietf@hotmail.com </email>
</address>
</author>
<date year="2024"/>
<area>Routing</area>
<workgroup>Routing area</workgroup>
<keyword>OAM</keyword>
<keyword>EPE</keyword>
<keyword>BGP-LS</keyword>
<keyword>BGP</keyword>
<keyword>SPRING</keyword>
<keyword>SDN</keyword>
<keyword>SID</keyword>
<abstract> Original:
<t>Egress Peer Engineering (EPE) is an application of Segment Routing to (title)
solve the problem of egress peer selection. The Segment Routing based Label Switched Path (LSP) Ping/Traceroute for Segment Routing (SR)
BGP-EPE solution allows a centralized controller, e.g. a Software Egress Peer Engineering (EPE) Segment Identifiers (SIDs) with MPLS
Defined Network (SDN) controller to program any egress peer. Data Plane
The EPE solution requires the node or the SDN controller to program
the PeerNode Segment
Identifier(SID) describing a session between two nodes, the PeerAdj SID
describing the link (one or more) that is used by sessions between peer nodes
,
and the PeerSet SID describing any connected interface to any peer in the rel
ated group.
This document provides new sub-TLVs for EPE Segment
Identifiers (SID) that would be used in
the MPLS Target stack TLV (Type 1), in MPLS Ping and Traceroute procedures.
</t> (short title)
</abstract> LSP for SR EPE SIDs with MPLS
</front> Current:
(title)
Label Switched Path (LSP) Ping/Traceroute for Segment Routing (SR)
Egress Peer Engineering (EPE) Segment Identifiers (SIDs) with MPLS
Data Planes
<middle> (short title)
<section title="Introduction" anchor='intro'> LSP for SR EPE-SIDs with MPLS
<t> Egress Peer Engineering (EPE) as defined in -->
<xref target ='RFC9087'/> is
an effective mechanism to select the egress peer link based on different criteri
a.
In this scenario, egress peers may belong to a completely different ownership.
The EPE-SIDs provide means to represent egress peer nodes, links, sets of links
and sets of nodes.
Many network <title abbrev="LSP for SR EPE-SIDs with MPLS">Label Switched Path (LSP) Ping
deployments have built their networks consisting of multiple Autonomous /Traceroute for
Systems, either for the ease of operations or as a result of network mergers and Segment Routing (SR) Egress Peer Engineering (EPE) Segment Identifiers (SIDs
acquisitions. )
The inter-AS links connecting any two Autonomous Systems could be traffic-engine with MPLS Data Planes</title>
ered <seriesInfo name="RFC" value="9703"/>
using EPE-SIDs in this case, where there is single ownership but different AS <author initials="S." surname="Hegde" fullname="Shraddha Hegde">
numbers. <organization>Juniper Networks Inc.</organization>
It is important to validate <address>
the control plane to forwarding plane synchronization for these SIDs so <postal>
that any anomaly can be detected easily by the network operator. <street>Exora Business Park</street>
<city>Bangalore</city>
<region>Karnataka</region>
<code>560103</code>
<country>India</country>
</postal>
<email>shraddha@juniper.net</email>
</address>
</author>
<author initials="M." surname="Srivastava" fullname="Mukul Srivastava">
<organization>Juniper Networks Inc.</organization>
<address>
<email>msri@juniper.net</email>
</address>
</author>
<author initials="K." surname="Arora" fullname="Kapil Arora">
<organization>Individual Contributor</organization>
<address>
<email>kapil.it@gmail.com</email>
</address>
</author>
<author initials="S." surname="Ninan" fullname="Samson Ninan">
<organization>Ciena</organization>
<address>
<email>samson.cse@gmail.com</email>
</address>
</author>
<author initials="X." surname="Xu" fullname="Xiaohu Xu">
<organization>China Mobile</organization>
<address>
<postal>
<city>Beijing</city>
<country>China</country>
</postal>
<email>xuxiaohu_ietf@hotmail.com </email>
</address>
</author>
<date year="2024" month="December"/>
<area>RTG</area>
<workgroup>mpls</workgroup>
<keyword>OAM</keyword>
<keyword>EPE</keyword>
<keyword>BGP-LS</keyword>
<keyword>BGP</keyword>
<keyword>SPRING</keyword>
<keyword>SDN</keyword>
<keyword>SID</keyword>
<abstract>
<t>Egress Peer Engineering (EPE) is an application of Segment Routing
(SR) that solves the problem of egress peer selection. The SR-based
BGP-EPE solution allows a centralized controller, e.g., a
Software-Defined Network (SDN) controller, to program any egress peer.
The EPE solution requires the node or the SDN controller to program 1) the
PeerNode Segment Identifier (SID) describing a session between two
nodes, 2) the PeerAdj SID describing the link or links that are
used by the sessions between peer nodes, and 3) the PeerSet SID
describing any connected interface to any peer in the related group.
This document provides new sub-TLVs for EPE-SIDs that are used in
the MPLS Target stack TLV (Type 1) in MPLS Ping and Traceroute
procedures.</t>
</abstract>
</front>
<middle>
<section anchor="intro" numbered="true" toc="default">
<name>Introduction</name>
<t> Egress Peer Engineering (EPE), as defined in <xref target="RFC9087"
format="default"/>, is an effective mechanism that is used to select the e
gress peer
link based on different criteria. In this scenario, egress peers may
belong to a completely different ownership. The EPE-SIDs provide the
means to represent egress peer nodes, links, sets of links, and sets of
nodes. Many network deployments have built their networks consisting of
multiple Autonomous Systems (ASes) either for the ease of operations or as
a
result of network mergers and acquisitions. The inter-AS links
connecting any two ASes could be traffic-engineered using
EPE-SIDs in this case, where there is single ownership but different
AS numbers. It is important to validate the control
plane to forwarding plane synchronization for these SIDs so that any
anomaly can be easily detected by the network operator. EPE-SIDs may
also be used in an ingress Segment Routing (SR) policy <xref target="RFC92
56"
format="default"/> to choose exit points where the remote AS has
a completely different ownership. This scenario is out of scope for this
document.
</t>
<figure anchor="reference_diagram">
<name>Reference Diagram</name>
EPE-SIDs may also be used in ingress SR policy <xref target ='RFC9256'/>to choos <!-- [rfced] FYI - In Figure 1, we updated "AS 2", "AS 3", and "AS 4"
e exit points to have no spaces in order to match "AS1" in the diagram and
where the remote AS belongs to completely different "AS2" and "AS3" in the subsequent text. Please let us know if
ownership. This scenario is out of scope of this document. there is any objection.
</t>
<t> AS 2 > AS2
<figure anchor="reference_diagram" title="Reference Diagram"> AS 3 > AS3
<artwork> AS 4 > AS4
-->
<artwork name="" type="" align="left" alt=""><![CDATA[
+---------+ +------+ +---------+ +------+
| | | | | | | |
| H B------D G | H B------D G
| | +---/| AS 2 |\ +------+ | | +---/| AS2 |\ +------+
| |/ +------+ \ | |---L/8 | |/ +------+ \ | |---L/8
A AS1 C---+ \| | A AS1 C---+ \| |
| |\\ \ +------+ /| AS 4 |---M/8 | |\\ \ +------+ /| AS4 |---M/8
| | \\ +-E |/ +------+ | | \\ +-E |/ +------+
| X | \\ | K | X | \\ | K
| | +===F AS 3 | | | +===F AS3 |
+---------+ +------+ +---------+ +------+]]></artwork>
</figure>
<t>In <xref target="reference_diagram" format="default"/>, EPE-SIDs are
configured on AS1 towards AS2 and AS3 and advertised in the Border
Gateway Protocol - Link State (BGP-LS) <xref target="RFC9086"
format="default"/>. In certain cases, the EPE-SIDs advertised by the
control plane may not be in synchronization with the label programmed in
the data plane. For example, on C, a PeerAdj SID could be advertised to
indicate it is for the link C-&gt;D. Due to some software anomaly, the
actual data forwarding on this PeerAdj SID could be happening over the
C-&gt;E link. If E had relevant data paths for further forwarding the
packet, this kind of anomaly would go unnoticed by the network operator.
A detailed example of a correctly programmed state and an incorrectly
programmed state along with a description of how the incorrect state can
be detected is described in <xref target="Appendix" format="default"/>.
A Forwarding Equivalence Class (FEC) definition for the EPE-SIDs will
detail the control plane association of the SID. The
data plane validation of the SID will be done during the MPLS traceroute
procedure. When there is a multi-hop External BGP (EBGP) session
between the ASBRs, a PeerNode SID is advertised, and the traffic
<bcp14>MAY</bcp14> be load-balanced between the interfaces connecting
the two nodes. In <xref target="reference_diagram" format="default"/>,
C and F could have a PeerNode SID advertised. When the Operations,
Administration, and Maintenance (OAM) packet is received on F, it needs
to be validated that the packet came from one of the two interfaces
connected to C.
</t>
<t> This document provides Target Forwarding Equivalence Class (FEC)
Stack TLV definitions for EPE-SIDs. This solution requires the
node constructing the target FEC stack to determine the types of
SIDs along the path of the LSP. Other procedures for MPLS Ping and
Traceroute, as defined in <xref target="RFC8287" sectionFormat="of"
section="7"/> and clarified in <xref target="RFC8690" format="default"/>,
are applicable for EPE-SIDs as well.</t>
</section>
<section anchor="operation" numbered="true" toc="default">
<name>Theory of Operation</name>
<t><xref target="RFC9086" format="default"/> provides mechanisms to
advertise the EPE-SIDs in BGP-LS.
</artwork> <!--[rfced] Please clarify this sentence. Are SR paths built using either
</figure> EPE-SIDs or PCEP extensions? Please let us know which option is preferred.
In this reference diagram, EPE-SIDs are
configured on AS1 towards AS2 and AS3 and
advertised in BGP-LS <xref target="RFC9086"/>.
In certain cases the EPE-SIDs advertised by the control plane may not be in
synchronization with the label programmed in the data plane. For example,
on C a PeerAdj SID could be advertised to indicate it is for the link C->D.
Due to some software anomaly, the actual data forwarding on this PeerAdj SID
could be happening over the C->E link. If E had relevant data paths for fur
ther
forwarding the packet, this kind of anomaly will go unnoticed by the network
operator.
A detailed example of a correctly programmed state and an incorrectly progra
mmed
state along with a description of how the incorrect state can be detected
is
described in <xref target="APPENDIX"/>.
A FEC definition for the EPE-SIDs will define the details of the control
plane association of the SID. The data plane validation of the SID will
be done during the MPLS traceroute procedure. When there is a multi-hop EBG
P
session between the ASBRs, PeerNode SID is advertised, and the traffic MAY b
e
load-balanced between the interfaces connecting the two nodes. In the refer
ence
diagram, C and F could have a PeerNode-SID advertised. When the OAM packet
is
received on F, it needs to be validated that the packet came from one of
the two interfaces connected to C.
</t>
<t> This document provides Target Forwarding Equivalence Class (FEC)
stack TLV definitions for EPE-SIDs. This solution requires that the node
constructing the target FEC stack can
determine the type of the SIDs along the path of the
LSP. Other procedures for MPLS Ping and Traceroute
as defined in <xref target="RFC8287"/> section 7 and clarified by <xref target
="RFC8690"/>
are applicable for EPE-SIDs as well.</t>
</section> Original:
These EPE-SIDs may be used to build Segment Routing paths as described
in [I-D.ietf-idr-segment-routing-te-policy] or using Path Computation
Element Protocol (PCEP) extensions as defined in [RFC8664].
<section title="Theory of Operation" anchor='operation'> Perhaps A:
<t><xref target ='RFC9086'/> provides These EPE-SIDs may be used to build SR paths as described
mechanisms to advertise the EPE-SIDs in BGP-LS. These EPE-SIDs in [SR-TE-POLICY]], or Path Computation Element Protocol (PCEP)
may be used to build Segment Routing paths as extensions as defined in [RFC8664] may be used.
described in or
<xref target ='I-D.ietf-idr-segment-routing-te-policy'/> or
using Path Computation Element Protocol (PCEP) extensions as defined
in <xref target="RFC8664"/>. Data plane monitoring for such paths which
consist of EPE-SIDs will use extensions defined in this document to
build the Target FEC stack TLV. The MPLS Ping and Traceroute procedures
MAY be initiated by the head-end of the Segment Routing path or a centralized
topology-aware data plane monitoring system as described in
<xref target="RFC8403"/>. The extensions in
<xref target ='I-D.ietf-idr-segment-routing-te-policy'/> and
<xref target="RFC8664"/> do not define how to carry the details
of the SID that can be used to construct the FEC. Such
extensions are out of the scope for this document.
The node initiating the data plane monitoring
may acquire the details of EPE-SIDs through BGP-LS advertisements as
described in <xref target ='RFC9086'/>. There may be other
possible mechanisms to learn the definition of the SID
from controller. Details of such mechanisms are
out of scope for this document.</t>
<t>The EPE-SIDs are advertised for inter-AS links which run EBGP sessions.
<xref target ='RFC9086'/>
does not define the detailed procedures to operate EBGP sessions in a scenario w
ith
unnumbered interfaces. Therefore, these scenarios are
out of scope for this document.
Anycast and multicast addresses are not in the scope of this document.
During AS migration scenario procedures Perhaps B:
described in <xref target="RFC7705"/> may be in force. In these scenarios, SR paths are built using these EPE-SIDs as described in [SR-TE-POLICY]
if the local and remote AS fields in the FEC or Path Computation Element Protocol (PCEP) extensions as defined in
as described in <xref target="FEC_definitions"/> carries the [RFC8664].
globally configured ASN and not the "local AS" as defined in <xref target="RFC77 -->
05"/>,
the FEC validation procedures may fail. </t>
<t> As described in <xref target="intro"/>, this document defines FEC stack TLVs
for EPE-SIDs, that can be used in detecting MPLS data plane
failures <xref target="RFC8029"/>. This mechanism applies to paths created acros
s
across ASes of co-operating administrations. If the ping or traceroute packet
enters a non co-operating AS domain, it might be dropped by the routers in the
non co-operating domain. Although complete path validation cannot be done across
,
non co-operating domains, it still provides useful information that the
ping/traceroute packet entered a non co-operating domain.</t>
</section> These EPE-SIDs may be used to build
<section title="Requirements Language"> SR paths as described in <xref
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", target="I-D.ietf-idr-segment-routing-te-policy" format="default"/> or
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and using Path Computation Element Protocol (PCEP) extensions as defined in
"OPTIONAL" in this document are to be interpreted as described in BCP 14, <xref target="RFC8664" format="default"/>. Data plane monitoring for
<xref target="RFC2119"/>, <xref target="RFC8174"/> when, and such paths that consist of EPE-SIDs will use extensions defined in this
only when, they appear in all capitals, as shown here. </t> document to build the Target FEC stack TLV. The MPLS Ping and
</section> Traceroute procedures <bcp14>MAY</bcp14> be initiated by the head-end of
the SR path or a centralized topology-aware data plane
monitoring system, as described in <xref target="RFC8403"
format="default"/>.
<section anchor='FEC_definitions' title='FEC Definitions'> <!--[rfced] Would it be correct to say that the extensions do not
define how to "acquire" or "acquire and carry" the details of the
SID, or is the intension to only mention "carry"? We ask because
the next few sentences discuss how the node can "acquire the
details".
<t> Original:
Three new sub-TLVs are defined for the Target FEC Stack TLV (Type 1), The extensions in [I-D.ietf-idr-segment-routing-te-policy] and
the Reverse-Path Target FEC Stack TLV (Type 16), and the Reply Path [RFC8664] do not define how to carry the details of the SID
TLV (Type 21).</t> that can be used to construct the FEC.
<figure anchor="sub_tlv" title="New sub-TLV types">
<artwork>
Sub-Type Sub-TLV Name
-------- ---------------
TBD1 PeerAdj SID Sub-TLV
TBD2 PeerNode SID Sub-TLV
TBD3 PeerSet SID Sub-TLV
</artwork> Perhaps:
</figure> The extensions in [SR-TE-POLICY] and [RFC8664] do not define how
to acquire and carry the details of the SID that can be used to
construct the FEC.
-->
<section anchor='peer_node_sid' title='PeerNode SID Sub-TLV'> The extensions in <xref
target="I-D.ietf-idr-segment-routing-te-policy" format="default"/> and
<xref target="RFC8664" format="default"/> do not define how to carry the
details of the SID that can be used to construct the FEC. Such
extensions are out of scope for this document. The node initiating
the data plane monitoring may acquire the details of EPE-SIDs through
BGP-LS advertisements, as described in <xref target="RFC9086"
format="default"/>. There may be other possible mechanisms that can be us
ed to learn the
definition of the SID from the controller. Details of such mechanisms are
out of scope for this document.</t>
<t>The EPE-SIDs are advertised for inter-AS links that run EBGP
sessions. <xref target="RFC9086" format="default"/> does not define the
detailed procedures of how to operate EBGP sessions in a scenario with
unnumbered interfaces. Therefore, these scenarios are out of scope for
this document. Anycast and multicast addresses are not in the scope of
this document. During the AS migration scenario, procedures described in
<xref target="RFC7705" format="default"/> may be in force. In these
scenarios, if the local and remote AS fields in the FEC (as described in
<xref target="FEC_definitions" format="default"/>) carry the globally
configured Access Service Network (ASN) and not the "local AS" (as defined
in <xref
target="RFC7705" format="default"/>), then the FEC validation procedures m
ay
fail. </t>
<t>As described in <xref target="intro" format="default"/>, this
document defines FEC stack TLVs for EPE-SIDs that can be used in
detecting MPLS data plane failures <xref target="RFC8029"
format="default"/>. This mechanism applies to paths created across
ASes of cooperating administrations. If the ping or traceroute
packet enters a non-cooperating AS domain, it might be dropped by the
routers in the non-cooperating domain. Although a complete path
validation cannot be done across non-cooperating domains, it still
provides useful information that the ping or traceroute packet entered a
non-cooperating domain.</t>
</section>
<section numbered="true" toc="default">
<name>Requirements Language</name>
<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
"<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
"<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are
to be interpreted as described in BCP 14, <xref target="RFC2119"
format="default"/>, <xref target="RFC8174" format="default"/> when, and
only when, they appear in all capitals, as shown here. </t>
</section>
<section anchor="FEC_definitions" numbered="true" toc="default">
<name>FEC Definitions</name>
<t> In this document, three new sub-TLVs are defined for the Target FEC St
ack TLV (Type
1), the Reverse-Path Target FEC Stack TLV (Type 16), and the Reply Path
TLV (Type 21).</t>
<figure anchor="peer_node_sid_tlv" title="PeerNode SID Sub-TLV"> <!--[rfced] It appears that Table 1 (Section 4) and Table 2 (Section 6)
are the same. Would you like to remove Table 1 and add a link to
Table 2 (which would then become Table 1) as shown below?
<artwork> Current:
In this document, three new sub-TLVs are defined for the Target FEC
Stack TLV (Type 1), the Reverse-Path Target FEC Stack TLV (Type 16),
and the Reply Path TLV (Type 21).
0 1 2 3 - Table 1 -
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Type = TBD2 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local AS Number (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote AS Number (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local BGP router ID (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote BGP Router ID (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork> Perhaps:
</figure> In this document, three new sub-TLVs are defined for the Target FEC
<t>Type : 2 octets </t> Stack TLV (Type 1), the Reverse-Path Target FEC Stack TLV (Type 16),
<t> Value:TBD2</t> and the Reply Path TLV (Type 21); see Table 1.
<t>Length : 2 octets </t> -->
<t> Value: 16
</t>
<t>Local AS Number : 4 octets</t> <table anchor="sub_tlv" align="center">
<name>New Sub-TLV Types</name>
<thead>
<tr>
<th>Sub-Type</th>
<th>Sub-TLV Name</th>
</tr>
</thead>
<tbody>
<tr>
<td>38</td>
<td>PeerAdj SID</td>
</tr>
<tr>
<td>39</td>
<td>PeerNode SID</td>
</tr>
<tr>
<td>40</td>
<td>PeerSet SID</td>
</tr>
</tbody>
</table>
<t>The unsigned integer representing the AS number <xref <section anchor="peer_node_sid" numbered="true" toc="default">
target ='RFC6793'/> <name>PeerNode SID Sub-TLV</name>
of the AS to which the PeerNode SID advertising <figure anchor="peer_node_sid_tlv">
node belongs. If Confederations <xref target ='RFC5065'/> are in <name>PeerNode SID Sub-TLV</name>
use, and if the <artwork name="" type="" align="left" alt=""><![CDATA[
remote node is a member of a different Member-AS within the local 0 1 2 3
Confederation, this is the Member-AS Number inside the Confederat 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
ion +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
and not the Confederation Identifier.</t> |Type = 39 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local AS Number (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote AS Number (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local BGP Router ID (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote BGP Router ID (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork>
</figure>
<t>Remote AS Number : 4 octets</t> <dl>
<dt>Type:</dt><dd>2 octets</dd>
<dt>Value:</dt><dd>39</dd>
<dt>Length:</dt><dd>2 octets</dd>
<dt>Value:</dt><dd>16</dd>
<dt>Local AS Number:</dt><dd>4 octets. The unsigned integer
representing the AS number <xref target="RFC6793" format="default"/>
of the AS to which the PeerNode SID advertising node belongs. If
Confederations <xref target="RFC5065" format="default"/> are in use,
and if the remote node is a member of a different Member-AS within
the local Confederation, this is the Member-AS Number inside the
Confederation and not the Confederation Identifier.</dd>
<dt>Remote AS Number:</dt><dd>4 octets. The unsigned integer
representing the AS number <xref target="RFC6793" format="default"/>
of the AS of the remote node for which the PeerNode SID is
advertised. If Confederations <xref target="RFC5065"
format="default"/> are in use, and if the remote node is a member of
a different Member-AS within the local Confederation, this is the
Member-AS Number inside the Confederation and not the Confederation
Identifier.</dd>
<dt>Local BGP Router ID:</dt><dd>4 octets. Unsigned integer
representing the BGP Identifier of the PeerNode SID advertising node
as defined in <xref target="RFC4271" format="default"/> and <xref
target="RFC6286" format="default"/>. </dd>
<dt>Remote BGP Router ID:</dt><dd>4 octets. Unsigned integer
representing the BGP Identifier of the remote node as defined in
<xref target="RFC4271" format="default"/> and <xref target="RFC6286"
format="default"/>. </dd>
</dl>
<t>The unsigned integer representing the AS number <xref <t>When there is a multi-hop EBGP session between two ASBRs, a
target ='RFC6793'/> PeerNode SID is advertised for this session, and traffic can be
of the AS of the remote node for which the load-balanced across these interfaces. An EPE controller that performs
PeerNode SID is advertised. If Confederations <xref target ='RFC5 bandwidth management for these links should be aware of the links on
065'/> are in use, which the traffic will be load-balanced.
and if the remote node is a member of a different Member-AS withi
n
the local Confederation, this is the Member-AS Number inside the
Confederation and not the Confederation Identifier.</t>
<t>Local BGP Router ID : 4 octets </t> <!--[rfced] Is "the OAM packet will be sent out" an example of what is
<t>unsigned integer representing the BGP Identifier specified? We updated this sentence as reflected below; if that
of the PeerNode SID advertising node as defined in is not correct, please let us know.
<xref target ='RFC4271'/> and <xref target ='RFC6286'/>.
</t>
<t>Remote BGP Router ID : 4 octets</t>
<t>unsigned integer representing
the BGP Identifier of the remote node as defined in
<xref target ='RFC4271'/> and <xref target ='RFC6286'/>.
</t>
<t>When there is a multi-hop EBGP session between two ASBRs, PeerNode SID i Original:
s As per [RFC8029], the node advertising the EPE SIDs will send
advertised for this session and traffic can be Downstream Detailed Mapping (DDMAP TLV) specifying the details
load balanced across these interfaces. of nexthop interfaces, the OAM packet will be sent out.
An EPE controller that does bandwidth management for these links should be
aware of the links on which the traffic will be load-balanced. As per
<xref target ='RFC8029'/>, the node advertising the EPE SIDs will send
Downstream Detailed Mapping TLV (DDMAP TLV) specifying the details of nextho
p
interfaces, the OAM packet will be sent out. Based on this information
controller MAY choose to verify the actual forwarding state with the topolog
y
information controller has. On the router, the validation procedures will i
nclude,
received DDMAP validation as specified in <xref target ='RFC8029'/> to verif
y the
control and forwarding state synchronization on the two routers. Any discrep
ancies
between controller's state and forwarding state will not be detected by the
procedures described in the document.</t>
</section> Current:
As per [RFC8029], the node advertising the EPE-SIDs will send a
Downstream Detailed Mapping (DDMAP) TLV specifying the details
of the next-hop interfaces, e.g., when the OAM packet will be
sent out.
-->
<section anchor='peer_adj_sid' title='PeerAdj SID Sub-TLV'> As per <xref
target="RFC8029" format="default"/>, the node advertising the EPE-SIDs
will send a Downstream Detailed Mapping (DDMAP) TLV specifying the
details of the next-hop interfaces, e.g, when the OAM packet will be sen
t
out. Based on this information, the controller <bcp14>MAY</bcp14>
choose to verify the actual forwarding state with the topology
information that the controller has. On the router, the validation
procedures will include the received DDMAP validation, as specified in
<xref target="RFC8029" format="default"/>, to verify the control state
and the forwarding state synchronization on the two routers. Any
discrepancies between the controller's state and the forwarding state
will not be detected by the procedures described in this document.</t>
</section>
<section anchor="peer_adj_sid" numbered="true" toc="default">
<name>PeerAdj SID Sub-TLV</name>
<figure anchor="peer_adj_sid_tlv">
<name>PeerAdj SID Sub-TLV</name>
<artwork name="" type="" align="left" alt=""><![CDATA[
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Type = 38 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Adj-Type | RESERVED |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local AS Number (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote AS Number (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local BGP Router ID (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote BGP Router ID (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local Interface Address (4/16 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote Interface Address (4/16 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork>
</figure>
<figure anchor="peer_adj_sid_tlv" title="PeerAdj SID Sub-TLV"> <dl>
<artwork> <dt>Type:</dt><dd>2 octets </dd>
<dt>Value:</dt><dd>38</dd>
<dt>Length:</dt><dd>2 octets</dd>
<dt>Value:</dt><dd>Variable based on the IPv4/IPv6 interface
address. Length excludes the length of the Type and Length fields. For
IPv4 interface addresses, the length will be 28 octets. In the case of
an
IPv6 address, the length will be 52 octets.</dd>
<dt>Adj-Type:</dt><dd>1 octet</dd>
<dt>Value:</dt><dd>Set to 1 when the Adjacency Segment is IPv4. Set to
2 when the Adjacency Segment is IPv6.</dd>
<dt>RESERVED:</dt><dd>3 octets. <bcp14>MUST</bcp14> be zero when
sending and ignored on receiving.</dd>
<dt>Local AS Number:</dt><dd>4 octets. The unsigned integer
representing the AS number <xref target="RFC6793" format="default"/>
of the AS to which the PeerAdj SID advertising node belongs. If
Confederations <xref target="RFC5065" format="default"/> are in use,
and if the remote node is a member of a different Member-AS within the
local Confederation, this is the Member-AS Number inside the
Confederation and not the Confederation Identifier.</dd>
<dt>Remote AS Number:</dt><dd>4 octets. The unsigned integer
representing the AS number <xref target="RFC6793" format="default"/> of
the remote node's AS for which the PeerAdj SID is advertised. If
Confederations <xref target="RFC5065" format="default"/> are in use,
and if the remote node is a member of a different Member-AS within the
local Confederation, this is the Member-AS Number inside the
Confederation and not the Confederation Identifier.</dd>
<dt>Local BGP Router ID:</dt><dd>4 octets. The unsigned integer
representing the BGP Identifier of the PeerAdj SID advertising node as
defined in <xref target="RFC4271" format="default"/> and <xref
target="RFC6286" format="default"/>.</dd>
<dt>Remote BGP Router ID:</dt><dd>4 octets. Unsigned integer
representing the BGP Identifier of the remote node as defined in <xref
target="RFC4271" format="default"/> and <xref target="RFC6286"
format="default"/>.</dd>
0 1 2 3 <!--[rfced] We believe that the slash indicates "or" in these
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 instances, so we updated accordingly for clarity. If that is not
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ correct or desired, please let us know.
|Type = TBD1 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Adj-Type | RESERVED |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local AS Number (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote AS Number (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local BGP router ID (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote BGP Router ID (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local Interface address (4/16 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote Interface address (4/16 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork> Original:
</figure> Local Interface Address :4 octets/16 octets
<t>Type : 2 octets </t>
<t> Value: TBD1</t>
<t>Length : 2 octets</t> Remote Interface Address :4 octets/16 octets
<t> Value: variable based on IPv4/IPv6 interfac
e address.
Length excludes the length of Type and Length
fields.For IPv4 interface addresses length will
be 28 octets. In case of IPv6 address length will
be
52 octets.</t>
<t>Adj-Type : 1 octet</t>
<t> Value: Set to 1 when the Adjacency Segment
is IPv4
Set to 2 when the Adjacency Segment is IPv6
</t>
<t> RESERVED : 3 octets. MUST be zero when sending, and ig
nored on receiving.</t>
<t>Local AS Number : 4 octets</t>
<t>The unsigned integer representing the AS number <xref target ='RFC679
3'/> of the AS to which the PeerAdj SID advertising
node belongs. If Confederations <xref target ='RFC5065'/> are in
use, and if the
remote node is a member of a different Member-AS within the local
Confederation, this is the Member-AS Number inside the Confederat
ion
and not the Confederation Identifier.</t>
<t>Remote AS Number : 4 octets</t>
<t>The unsigned integer representing the AS number<xref target ='RFC
6793'/> of the AS of the remote node for which the
PeerAdj SID is advertised. If Confederations <xref target ='RFC50
65'/> are in use,
and if the remote node is a member of a different Member-AS withi
n
the local Confederation, this is the Member-AS Number inside the
Confederation and not the Confederation Identifier.</t>
<t>Local BGP Router ID : 4 octets </t>
<t> unsigned integer representing the
BGP Identifier of the PeerAdj SID advertising node as def
ined in
<xref target ='RFC4271'/> and <xref target ='RFC6286'/>.
</t>
<t>Remote BGP Router ID : 4 octets </t>
<t> unsigned integer representing
the BGP Identifier of the remote node
as defined in <xref target ='RFC4271'/> and <xref target ='RFC628
6'/>. </t>
<t>Local Interface Address :4 octets/16 octets</t>
<t>In case of PeerAdj SID, Local interface address corresponding
to the PeerAdj SID should be specified in this field.
For IPv4,this field is 4 octets; for IPv6, this field is 16
octets.
Link-local IPv6 addresses are not in the scope of this d
ocument.</t>
<t>Remote Interface Address :4 octets/16 octets</t> Current:
<t>In case of PeerAdj SID Remote interface address corresponding Local Interface Address: 4 octets or 16 octets
to the PeerAdj SID should be apecified in this field. For IPv4,
this field is 4 octets; for IPv6, this field is 16
octets.
Link-local IPv6 addresses are not in the scope of this d
ocument..</t>
<t><xref target ='RFC9086'/> mandates sending Remote Interface Address: 4 octets or 16 octets
local interface ID and remote interface ID in the Link Descriptors and a -->
llows
a value of 0 in the remote descriptors. It is useful to validate the
incoming interface for an OAM packet and if the remote descriptor is 0
this validation is not possible.
<xref target ='RFC9086'/> allows optional
link descriptors of local and remote interface addresses as
described in section 4.2. This document RECOMMENDs sending these option
al
descriptors and using them to validate incoming interface. When these
local and remote interface addresses are not available, an ingress
node can send 0 in the local and/or remote interface address field.
The receiver SHOULD skip the validation for the incoming interface
if the address field contains 0.</t>
</section> <dt>Local Interface Address:</dt><dd>4 octets or 16 octets. In the case
of
PeerAdj SID, the Local interface address corresponding to the PeerAdj SI
D
should be specified in this field. For IPv4, this field is 4 octets;
for IPv6, this field is 16 octets. Link-local IPv6 addresses are not
in the scope of this document.</dd>
<dt>Remote Interface Address:</dt><dd>4 octets or 16 octets. In the
case of PeerAdj SID, the Remote interface address corresponding to the
PeerAdj SID should be specified in this field. For IPv4, this field
is 4 octets; for IPv6, this field is 16 octets. Link-local IPv6
addresses are not in the scope of this document.</dd>
</dl>
<section anchor='peer_set_sid' title='PeerSet SID Sub-TLV'> <t><xref target="RFC9086" format="default"/> mandates sending a local
<figure anchor="peer_set_sid_tlv" title="PeerSet SID Sub-TLV"> interface ID and remote interface ID in the Link Descriptors and
allows a value of 0 in the remote descriptors. It is useful to
validate the incoming interface for an OAM packet, but if the remote
descriptor is 0, this validation is not possible.
<artwork> <!-- [rfced] FYI - For conciseness, we updated this sentence as
follows. Please let us know if there is any objection.
0 1 2 3 Original:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 [RFC9086] allows optional link descriptors of local and
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ remote interface addresses as described in section 4.2.
|Type = TBD3 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local AS Number (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local BGP router ID (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| No.of elements in set | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote AS Number (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote BGP Router ID (4 octets) |
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++
One element in set consists of below details Current:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Optional link descriptors of local and remote interface
| Remote AS Number (4 octets) | addresses are allowed as described in Section 4.2 of [RFC9086].
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -->
| Remote BGP Router ID (4 octets) |
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++
</artwork> Optional link descriptors
</figure> of local and remote interface addresses are allowed as described in <xre
<t>Type : 2 octets </t> f
<t> Value: TBD3</t> target="RFC9086" sectionFormat="of" section="4.2"/>.
<t>Length : 2 octets </t>
<t> Value: Expressed in octets and variable base
d on the number of
elements in the set. The length field
does not include the length of
Type and Length fields.</t>
<t>Local AS Number :4 octets </t> <!-- [rfced] FYI - Since "RECOMMENDED", not "RECOMMENDS", is a BCP 14
<t>The unsigned integer representing the AS number <xref target ='RFC key word, we rephrased the text as shown below.
6793'/> of the AS to which the PeerSet SID advertising
node belongs. If Confederations <xref target ='RFC5065'/> are in
use, and if the
remote node is a member of a different Member-AS within the local
Confederation, this is the Member-AS Number inside the Confederat
ion
and not the Confederation Identifier.</t>
<t>Local BGP Router ID : 4 octets </t>
<t> unsigned integer representing
the BGP Identifier of the PeerSet SID advertising node as defined in
<xref target ='RFC4271'/> and <xref target ='RFC6286'/>.
</t>
<t>No.of elements in set: 2 octets</t>
<t> The number of remote ASes over
which the set SID performs load balancin
g.</t>
<t> Reserved : 2 octets. MUST be zero when sent and ignored when
received.</t>
<t>Remote AS Number : 4 octets </t> Original:
<t>The unsigned integer representing the AS number <xref target ='RF This document RECOMMENDs sending these optional descriptors and using
C6793'/> of the AS of the remote node for which the them to validate incoming interface.
PeerSet SID is advertised. If Confederations <xref target ='RFC50
65'/> are in use,
and if the remote node is a member of a different Member-AS withi
n
the local Confederation, this is the Member-AS Number inside the
Confederation and not the Confederation Identifier.</t>
<t>Remote BGP Router ID : 4 octets </t> Current:
<t>unsigned integer representing In this document, it is RECOMMENDED to send these optional descriptors
the BGP Identifier of the remote node and use them to validate incoming interfaces.
as defined in <xref target ='RFC4271'/> and <xref target -->
='RFC6286'/>. </t>
<t>PeerSet SID may be associated with a number of PeerNode In this document, it is
SIDs and PeerAdj SIDs. The remote AS number and the Router ID of each o <bcp14>RECOMMENDED</bcp14> to send these optional descriptors and use th
f these PeerNode SIDs em to
PeerAdj SIDs MUST be included in the FEC.</t> validate incoming interfaces. When these local and remote interface
addresses are not available, an ingress node can send 0 in the local
and/or remote interface address field. The receiver
<bcp14>SHOULD</bcp14> skip the validation for the incoming interface
if the address field contains 0.</t>
</section>
<section anchor="peer_set_sid" numbered="true" toc="default">
</section> <!--[rfced] Is it intentional that instances of "No.of" do not contain
a space? Please let us know if this should remain as is or if a
space can be added (e.g., "No. of"). Note that there are seven
occurrences.
</section> Two examples (see the text for more):
<section anchor="validation" title="EPE-SID FEC validation"> Original:
<t> No.of elements in set
When a remote ASBR of the EPE-SID advertisement receives the MPLS
OAM packet with top FEC being the EPE-SID,
it MUST perform validity checks on the
content of the EPE-SID FEC sub-TLV.
The basic length check should be performed on the received FEC.
<figure anchor="length_check" title="Length Validation"> Length = (20 + No.of IPv4 interface pairs * 8
<artwork> Perhaps:
No. of elements in set
Length = (20 + No. of IPv4 interface pairs * 8
-->
<name>PeerSet SID Sub-TLV</name>
<figure anchor="peer_set_sid_tlv">
<name>PeerSet SID Sub-TLV</name>
<artwork name="" type="" align="left" alt=""><![CDATA[
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Type = 40 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local AS Number (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local BGP Router ID (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| No.of elements in set | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote AS Number (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote BGP Router ID (4 octets) |
One element in set consists of the details below
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote AS Number (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote BGP Router ID (4 octets) |
</figure>
<dl>
<dt>Type:</dt><dd>2 octets</dd>
<dt>Value:</dt><dd>40</dd>
<dt>Length:</dt><dd>2 octets</dd>
<!--[rfced] Should "variable" be singular (option A) or plural
(option B) in the following sentence?
Original:
Value: Expressed in octets and variable based on the number of
elements in the set.
Perhaps A:
Value: Expressed in octets and a variable based on the number of
elements in the set.
or
Perhaps B:
Value: Expressed in octets and variables based on the number of
elements in the set.
-->
<dt>Value:</dt><dd>Expressed in octets and variable based on the
number of elements in the set. The length field does not include the
length of Type and Length fields.</dd>
<dt>Local AS Number:</dt><dd>4 octets. The unsigned integer
representing the AS number <xref target="RFC6793" format="default"/>
of the AS to which the PeerSet SID advertising node belongs. If
Confederations <xref target="RFC5065" format="default"/> are in use,
and if the remote node is a member of a different Member-AS within the
local Confederation, this is the Member-AS Number inside the
Confederation and not the Confederation Identifier.</dd>
<dt>Local BGP Router ID:</dt><dd>4 octets. The unsigned integer
representing the BGP Identifier of the PeerSet SID advertising node, as
defined in <xref target="RFC4271" format="default"/> and <xref
target="RFC6286" format="default"/>. </dd>
<dt>No.of elements in set:</dt><dd>2 octets. The number of remote
ASes over which the set SID performs load-balancing.</dd>
<dt>Reserved:</dt><dd>2 octets. <bcp14>MUST</bcp14> be zero when sent
and ignored when received.</dd>
<dt>Remote AS Number:</dt><dd>4 octets. The unsigned integer
representing the AS number <xref target="RFC6793" format="default"/>
of the remote node's AS for which the PeerSet SID is
advertised. If Confederations <xref target="RFC5065"
format="default"/> are in use, and if the remote node is a member of a
different Member-AS within the local Confederation, this is the
Member-AS Number inside the Confederation and not the Confederation
Identifier.</dd>
<dt>Remote BGP Router ID:</dt><dd>4 octets. The unsigned integer
representing the BGP Identifier of the remote node as defined in <xref
target="RFC4271" format="default"/> and <xref target="RFC6286"
format="default"/>. </dd>
</dl>
<t>PeerSet SID may be associated with a number of PeerNode
SIDs and PeerAdj SIDs. The remote AS number and the Router ID of each o
f these PeerNode SIDs and PeerAdj SIDs <bcp14>MUST</bcp14> be included in the FE
C.</t>
</section>
</section>
<section anchor="validation" numbered="true" toc="default">
<name>EPE-SID FEC Validation</name>
<t>When a remote ASBR of the EPE-SID advertisement receives the MPLS OAM
packet with the top FEC being the EPE-SID, it <bcp14>MUST</bcp14>
perform validity checks on the content of the EPE-SID FEC sub-TLV. The
basic length check should be performed on the received FEC.</t>
<figure anchor="length_check">
<name>Length Validation</name>
<artwork name="" type="" align="left" alt=""><![CDATA[
PeerAdj SID PeerAdj SID
----------- -----------
if Adj type = 1 Length should be 28 octets If Adj type = 1, Length should be 28 octets
If Adj type =2 Length should be 52 octets If Adj type = 2, Length should be 52 octets
PeerNode SID PeerNode SID
------------- -------------
Length = ( 20 + No.of IPv4 interface pairs * 8 + Length = (20 + No.of IPv4 interface pairs * 8 +
No.of IPv6 interface pairs * 32 ) octets No.of IPv6 interface pairs * 32) octets
PeerSet SID PeerSet SID
----------- -----------
Length = (9 + No.of elements in the set * Length = (9 + No.of elements in the set *
(8 + No.of IPv4 interface pairs * 8 + (8 + No.of IPv4 interface pairs * 8 +
No.of IPv6 interface pairs * 32)) octets No.of IPv6 interface pairs * 32) octets]]></artwork>
</figure>
</artwork> <t>If a malformed FEC sub-TLV is received, then a return code of 1,
</figure> "Malformed echo request received", as defined in <xref target="RFC8029"
</t> format="default"/> <bcp14>MUST</bcp14> be sent. The section below is
<t> appended to the procedure given in step 4a of <xref target="RFC8287"
If a malformed FEC sub-TLV sectionFormat="of" section="7.4"/>.
is received, then a return code of </t>
1, "Malformed echo request received" as defined in <xref target="RFC8029"/>
MUST be sent. The below section is appended to the procedure given in Secti
on 7.4
point 4a of <xref target="RFC8287"/>.
</t>
<section anchor="fec_validation" title="EPE-SID FEC validiation">
<t>
<t> Segment Routing IGP-Prefix, IGP-Adjacency SID and EPE-SID Validation <!-- [rfced] We notice that the titles of Sections 5 and 5.1 are the
: same. How may we update these to avoid confusion? Is Section 5.1
Receiving node term used in this section implies the node that receives perhaps the example validation, e.g., "EPE-SID FEC Validation
OAM message Examples" (option A) or "Segment Routing IGP-Prefix, IGP-Adjacency
with the FEC stack TLV.</t> SID, and EPE-SID Validation Examples (option B)?
<artwork>
Else, if the Label-stack-depth is 0 and the Target FEC Stack sub-TLV
at FEC-stack-depth is TBD1 (PeerAdj SID sub-TLV), {
Set the Best-return-code to 10, "Mapping for this FEC is not Original:
the given label at stack-depth if any below 5. EPE-SID FEC validation
conditions fail: 5.1. EPE-SID FEC validation
- Validate that the receiving node's BGP Local AS matches Perhaps A:
with the remote AS field in the received PeerAdj SID 5. EPE-SID FEC Validation
FEC sub-TLV. 5.1. EPE-SID FEC Validation Examples
- Validate that the receiving node's BGP Router-ID or
matches with the Remote Router ID field in the
received PeerAdj SID FEC.
- Validate that there is a EBGP session with a peer Perhaps B:
having local AS number and BGP Router-ID as 5. EPE-SID FEC Validation
specified in the Local AS number and Local Router-ID 5.1. Segment Routing IGP-Prefix, IGP-Adjacency SID,
field in the received PeerAdj SID FEC sub-TLV. and EPE-SID Validation Examples
-->
If the Remote interface address is not zero, validate the <!--[rfced] Section 5.1.
incoming interface.
Set the Best-return-code to 35 "Mapping for this FEC is not
associated with the incoming interface" [RFC8287] if any below
conditions fail:
- Validate the incoming interface on which the OAM a) Please let us know how we may clarify the first sentence
packet was receieved, matches with the remote in this section. Are Segment Routing IGP-Prefix, IGP-Adjacency
interface specified in the PeerAdj SID FEC sub-TLV SID, and EPE-SID being validated, and is the term "receiving node"
implying that the node received the OAM message as shown below?
If all above validations have passed, set the return code to 3 Original:
"Replying router is an egress for the FEC at stack-depth" Segment Routing IGP-Prefix, IGP-Adjacency SID and EPE-SID Validation:
} Receiving node term used in this section implies the node that
receives OAM message with the FEC stack TLV.
Else, if the Target FEC sub-TLV at FEC-stack-depth is TBD2 Perhaps:
(PeerNode SID sub-TLV), { This is an example of Segment Routing IGP-Prefix, IGP-Adjacency SID, and
EPE-SID validations. Note that the term "receiving node" in this section
implies that the node receives the OAM message with the FEC stack TLV.
Set the Best-return-code to 10, "Mapping for this FEC is not b) For clarity, may we update "If any below conditions fail" to "Check if any
the given label at stack-depth if any below conditions below fail" (note that there are 4 instances)?
conditions fail:
Original:
If any below conditions fail:
- Validate that the receiving node's BGP...
Perhaps:
Check if any conditions below fail:
- Validate that the receiving node's BGP...
c) Should the text reflect "the receiving node's BGP" or
"the Receiving Node BGP" for consistency (note that there
are multiple instances)?
d) Should "the remote AS field" or "one of the remote AS
fields" be used for consistency?
Original:
- Validate that the receiving node's BGP Local AS matches
with the remote AS field in the received PeerNode SID
FEC sub-TLV.
- Validate that the Receiving Node BGP Local AS matches
with one of the remote AS field in the received
PeerSet SID FEC sub-TLV.
e) Should citations be included for return codes 3 and 10? Should
"<RSC>" be added to the descriptions to match how they appear in
RFC 8029?
Original:
Set the Best-return-code to 10, "Mapping for this FEC is not
the given label at stack-depth". If any below conditions fail:
If all above validations have passed, set the return code to 3,
"Replying router is an egress for the FEC at stack-depth".
Perhaps:
Set the Best-return-code to 10, "Mapping for this FEC is not
the given label at stack-depth <RSC>" [RFC8029]. If any below
conditions fail:
If all above validations have passed, set the return code to 3,
"Replying router is an egress for the FEC at stack-depth <RSC>"
[RFC8029].
-->
<section anchor="fec_validation" numbered="true" toc="default">
<name>EPE-SID FEC Validation</name>
<t>Segment Routing IGP-Prefix, IGP-Adjacency SID, and EPE-SID Validatio
n:
Receiving node term used in this section implies the node that receives
OAM message
with the FEC stack TLV.</t>
<artwork name="" type="" align="left" alt=""><![CDATA[
Else, if the Label-stack-depth is 0 and the Target FEC Stack sub-TLV
at FEC-stack-depth is 38 (PeerAdj SID sub-TLV), {
Set the Best-return-code to 10, "Mapping for this FEC is not
the given label at stack-depth". If any below conditions fail:
- Validate that the receiving node's BGP Local AS matches - Validate that the receiving node's BGP Local AS matches
with the remote AS field in the with the remote AS field in the received PeerAdj SID
received PeerNode SID FEC sub-TLV. FEC sub-TLV.
- Validate that the receiving node's BGP Router-ID matches - Validate that the receiving node's BGP Router-ID
with the Remote Router ID field in the received matches with the Remote Router ID field in the
PeerNode SID FEC. received PeerAdj SID FEC.
- Validate that there is a EBGP session with a peer - Validate that there is an EBGP session with a peer
having local AS number and BGP Router-ID as having a local AS number and BGP Router-ID as
specified in the Local AS number and Local Router-ID specified in the Local AS number and Local Router-ID
field in the received PeerNode SID FEC sub-TLV. field in the received PeerAdj SID FEC sub-TLV.
If all above validations have passed, set the return code to 3 If the Remote interface address is not zero, validate the
"Replying router is an egress for the FEC at stack-depth". incoming interface. Set the Best-return-code to 35,
"Mapping for this FEC is not associated with the incoming
interface" [RFC8287]. If any below conditions fail:
- Validate that the incoming interface on which the
OAM packet was received matches with the remote
interface specified in the PeerAdj SID FEC sub-TLV.
If all above validations have passed, set the return code to 3,
"Replying router is an egress for the FEC at stack-depth".
} }
Else, if the Target FEC sub-TLV at FEC-stack-depth is TBD3
(PeerSet SID sub-TLV), {
Set the Best-return-code to 10, "Mapping for this FEC is not Else, if the Target FEC sub-TLV at FEC-stack-depth is 39
the given label at stack-depth" if any below (PeerNode SID sub-TLV), {
conditions fail:
- Validate that the Receiving Node BGP Local AS matches Set the Best-return-code to 10, "Mapping for this FEC is not
with one of the remote AS field in the received PeerSet the given label at stack-depth". If any below conditions
SID FEC sub-TLV. fail:
- Validate that the Receiving Node BGP Router-ID matches - Validate that the receiving node's BGP Local AS matches
with one of the Remote Router ID field in the received with the remote AS field in the received PeerNode SID
PeerSet SID FEC sub-TLV. FEC sub-TLV.
- Validate that there is a EBGP session with a peer having - Validate that the receiving node's BGP Router-ID matches
local AS number and BGP Router-ID as with the Remote Router ID field in the received
specified in the Local AS number and Local Router-ID PeerNode SID FEC.
field in the received PeerSet SID FEC sub-TLV.
If all above validations have passed, set the return code to 3 - Validate that there is an EBGP session with a peer
"Replying router is an egress for the FEC at stack-depth" having a local AS number and BGP Router-ID as
} specified in the Local AS number and Local Router-ID
</artwork> field in the received PeerNode SID FEC sub-TLV.
</t> If all above validations have passed, set the return code to 3,
</section> "Replying router is an egress for the FEC at stack-depth".
}
Else, if the Target FEC sub-TLV at FEC-stack-depth is 40
(PeerSet SID sub-TLV), {
</section> Set the Best-return-code to 10, "Mapping for this FEC is not
<section anchor="IANA" title="IANA Considerations"> the given label at stack-depth". If any below conditions
<t>IANA is requested to allocate three new Target FEC stack sub-TLVs fail:
from the "Sub-TLVs for TLV types 1,16 and 21" subregistry in the
"TLVs" registry of the "Multi-Protocol Label switching (MPLS)
Label Switched Paths (LSPs) Ping parameters" namespace.
<list> - Validate that the Receiving Node BGP Local AS matches
<t>PeerAdj SID Sub-TLV : TBD1</t> with one of the remote AS fields in the received
<t>PeerNode SID Sub-TLV: TBD2</t> PeerSet SID FEC sub-TLV.
<t>PeerSet SID Sub-TLV : TBD3</t>
</list>
The three lowest free values from the Standard Tracks range should be
allocated if possible.
</t> - Validate that the Receiving Node BGP Router-ID matches
with one of the Remote Router ID fields in the
received PeerSet SID FEC sub-TLV.
</section> - Validate that there is an EBGP session with a peer having
<section title='Security Considerations' anchor='sec-con'> a local AS number and BGP Router-ID as specified in the
<t>The EPE-SIDs are advertised for egress links for Egress Peer Engineering Local AS number and Local Router-ID fields in the received
purposes or for inter-AS links between co-operating ASes. PeerSet SID FEC sub-TLV.
When co-operating domains are involved, they can allow the packets
If all above validations have passed, set the return code to 3,
"Replying router is an egress for the FEC at stack-depth".
}]]></artwork>
</section>
</section>
<section anchor="IANA" numbered="true" toc="default">
<name>IANA Considerations</name>
<!-- [rfced] We have included some specific questions about the IANA
text below. In addition to responding to those questions, please
review all of the IANA-related updates carefully and let us know
if any further updates are needed.
a) It appears that the "IANA Considerations" section references the
"Sub-TLVs for TLV Types 1, 16, and 21" registry in the "Multiprotocol
Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters"
registry group, but it does not include a citation for this registry
here or in the references section.
May we add the following citation as a normative or informative
reference as shown below?
Original:
IANA is requested to allocate three new Target FEC stack sub-TLVs
from the "Sub-TLVs for TLV types 1,16 and 21" subregistry in the
"TLVs" registry of the "Multi-Protocol Label switching (MPLS) Label
Switched Paths (LSPs) Ping parameters" namespace.
Perhaps:
IANA has allocated three new Target FEC stack sub-TLVs in the
"Sub-TLVs for TLV Types 1, 16, and 21" registry
[IANA-MPLS-LSP-PING-Parameters] within the "TLVs" registry of the
"Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs)
Ping Parameters" registry group.
Reference:
[IANA-MPLS-LSP-PING-Parameters]
IANA, "Sub-TLVs for TLV Types 1, 16, and 21",
<https://www.iana.org/assignments/mpls-lsp-ping-parameters>.
b) We have removed "Sub-TLV" from the entries in Tables 1 and 2 per
IANA's note. Please let us know if "Sub-TLV" should be
removed from any other instances in the running text for consistency.
We note the following variations:
PeerAdj SID
PeerAdj SID FEC
PeerAdj SID FEC sub-TLV
PeerAdj SID Sub-TLV
PeerAdj SID sub-TLV
PeerSet SID sub-TLV
PeerNode SID sub-TLV
-->
<t>IANA has allocated three new Target FEC stack sub-TLVs
in the "Sub-TLVs for TLV Types 1, 16, and 21" registry
within the "TLVs" registry of the "Multiprotocol Label Switching (MPLS)
Label Switched Paths (LSPs) Ping Parameters" registry group. </t>
<table>
<name>Sub-TLVs for TLV Types 1, 16, and 21 Registry</name>
<thead>
<tr>
<th>Sub-Type</th>
<th>Sub-TLV Name</th>
</tr>
</thead>
<tbody>
<tr>
<td>38</td>
<td>PeerAdj SID</td>
</tr>
<tr>
<td>39</td>
<td>PeerNode SID</td>
</tr>
<tr>
<td>40</td>
<td>PeerSet SID</td>
</tr>
</tbody>
</table>
</section>
<section anchor="sec-con" numbered="true" toc="default">
<name>Security Considerations</name>
<t>The EPE-SIDs are advertised for egress links for EPE
purposes or for inter-AS links between cooperating ASes.
When cooperating domains are involved, they can allow the packets
arriving on trusted interfaces to reach the control plane arriving on trusted interfaces to reach the control plane
and get processed.</t> and be processed.</t>
<t> When EPE-SIDs are created for egress <t> When EPE-SIDs are created for egress
TE links where the neighbor AS is an independent entity, it may TE links where the neighbor AS is an independent entity, it may
not allow packets arriving from external world to reach the not allow the packets arriving from the external world to reach the
control plane. In such deployments MPLS OAM packets will be control plane. In such deployments, the MPLS OAM packets will be
dropped by the neighboring AS that receives the MPLS OAM packet.</t> dropped by the neighboring AS that receives the MPLS OAM packet.</t>
<t>In MPLS traceroute applications, when the AS boundary is <t>In MPLS traceroute applications, when the AS boundary is
crossed with the EPE-SIDs, the FEC stack is changed. crossed with the EPE-SIDs, the FEC stack is changed.
<xref target="RFC8287"/> does not mandate that the initiator <xref target="RFC8287" format="default"/> does not mandate that the initi ator,
upon receiving an MPLS Echo Reply message that includes the upon receiving an MPLS Echo Reply message that includes the
FEC Stack Change TLV with one or more of the original FEC Stack Change TLV with one or more of the original
segments being popped remove a corresponding FEC(s) from segments being popped, remove the corresponding FEC(s) from
the Target FEC Stack TLV in the next (TTL+1) traceroute the Target FEC Stack TLV in the next (TTL+1) traceroute
request. </t> request. </t>
<t>If an initiator does not remove the FECs belonging <t>If an initiator does not remove the FECs belonging
to the previous AS that has traversed, it may expose the to the previous AS that has traversed, it may expose the
internal AS information to the following AS being traversed in internal AS information to the following AS being traversed in
traceroute. the traceroute.
</t> </t>
</section>
</section> </middle>
<section title='Implementation Status'> <back>
<t> This section is to be removed before publishing as an RFC. <displayreference target="I-D.ietf-idr-segment-routing-te-policy" to="SR-TE-
</t> POLICY"/>
<t> <references>
RFC-Editor: Please clean up the references cited by this section <name>References</name>
before publication. <references>
</t> <name>Normative References</name>
<t> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
This section records the status of known implementations of the 287.xml"/>
protocol defined by this specification at the time of posting of this <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
Internet-Draft, and is based on a proposal described in 029.xml"/>
<xref target ='RFC7942'/>. <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9
The description of implementations in this section is intended to 086.xml"/>
assist the IETF in its decision processes in progressing drafts to <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2
RFCs. Please note that the listing of any individual implementation 119.xml"/>
here does not imply endorsement by the IETF. Furthermore, no effort <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
has been spent to verify the information presented here that was 174.xml"/>
supplied by IETF contributors. This is not intended as, and must not <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
be construed to be, a catalog of available implementations or their 690.xml"/>
features. Readers are advised to note that other implementations may <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6
exist. 793.xml"/>
</t> </references>
<section title='Juniper Networks'> <references>
<name>Informative References</name>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9
087.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7
705.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
403.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
664.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4
271.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5
065.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6
286.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9
256.xml"/>
<t>Juniper networks reported a prototype implementation of this draft.</t> <!-- [Note to the RE] XML for the "Sub-TLVs for TLV Types 1, 16, and 21"
registry (Note: this reference needs a cite tag/reference anchor in the IANA Sec
tion):
</section> <reference anchor="" target="https://www.iana.org/assignments/mpls-lsp-ping-para
</section> meters"/>
<section title='Acknowledgments'> <front>
<t>Thanks to Loa Andersson, Dhruv Dhody, Ketan Talaulikar, <title>Sub-TLVs for TLV Types 1, 16, and 21</title>
Italo Busi and Alexander Vainshtein, Deepti Rathi for <author>
careful review and comments. Thanks to Tarek Saad for providing the example <organization>IANA</organization>
described in Appendix section. </t> </author>
</section> </front>
</reference>
-->
</middle> <!-- [rfced] Since 'draft-ietf-idr-segment-routing-te-policy'
is expired and has been replaced by
'draft-ietf-idr-bgp-sr-segtypes-ext' and
'draft-ietf-idr-sr-policy-safi', may we replace the current
reference entry with the entries for these two drafts?
<back> Note that this would include adding two reference tags to the
<references title='Normative References'> text in Section 2.
&RFC8287;
&RFC8029;
&RFC9086;
&RFC2119;
&RFC8174;
&RFC8690;
&RFC6793;
</references>
<references title='Informative References'>
&RFC9087;
&RFC7705;
&RFC8403;
&RFC8664;
&RFC4271;
&RFC5065;
&RFC6286;
&RFC7942;
&RFC9256;
<?rfc include="reference.I-D.ietf-idr-segment-routing-te-policy"?>
</references> Original:
[SR-TE-POLICY]
Previdi, S., Filsfils, C., Talaulikar, K., Mattes, P., and
D. Jain, "Advertising Segment Routing Policies in BGP",
Work in Progress, Internet-Draft, draft-ietf-idr-segment-
routing-te-policy-26, 23 October 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-idr-
segment-routing-te-policy-26>.
<section title='APPENDIX' anchor='APPENDIX'> Perhaps:
<t> This section describes an example of correctly programmed state and incorr [BGP-SR-SEGTYPES-EXT]
ectly Talaulikar, K., Filsfils, C., Previdi, S., Mattes, P., and
programmed state and provides details on how the new sub-TLVs described in thi D. Jain, "Segment Routing Segment Types Extensions for BGP
s SR Policy", Work in Progress, Internet-Draft, draft-ietf-
document can be used to validate the correctness. idr-bgp-sr-segtypes-ext-06, 7 November 2024,
Consider the diagram from <xref target ='reference_diagram'/>, <https://datatracker.ietf.org/doc/html/draft-ietf-idr-bgp-
<t>Correctly programed state:</t> sr-segtypes-ext-06>.
<list>
<t>• C assigns label 16001 and binds it to adjacency C->E </t> [SR-BGP-POLICY]
<t>• C signals label 16001 is bound to adjacency C->E (e.g. via BGP-LS)</t> Previdi, S., Filsfils, C., Talaulikar, K., Mattes, P., and
<t>• Controller/Ingress programs an SR path that has SID/label 16001 D. Jain, "Advertising Segment Routing Policies in BGP",
to steer packet on the exit point from C onto adjacency C->E</t> Work in Progress, Internet-Draft, draft-ietf-idr-sr-
<t>• Using MPLS trace procedures defined in this document, the PeerAdj SID policy-safi-10, 7 November 2024,
Sub-TLV is populates with entities to be validated by C when OAM packet reaches <https://datatracker.ietf.org/doc/html/draft-ietf-idr-sr-
it.</t> policy-safi-10>.
<t>• C receives the OAM packet, it validates the top label (16001) -->
is indeed corresponding to the entities populated in the PeerAdj SID Sub-TLV</t>
</list> <!--ietf-idr-segment-routing-te-policy; Expired -->
<t>Incorrectly programed state:</t> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D
<list> .ietf-idr-segment-routing-te-policy.xml"/>
<t>• C assigns label 16001 and binds it to adjacency C->D</t>
<t>• The controller learns of PeerAdj SID label 16001 is bound to </references>
adjacency C->E (e.g. via BGP-LS) this could be a software bug on C or on contr </references>
oller</t> <section anchor="Appendix" numbered="true" toc="default">
<t>• Controller/Ingress programs an SR path that has SID/label
16001 to steer packet on the exit point from C onto adjacency C->E</t> <!-- [rfced] May we update the title of the appendix to avoid the
<t>• Using MPLS trace procedures defined in this document, the PeerAdj SID repetition of "Appendix A: Appendix"? Perhaps "Examples of
Sub-TLV is populates with entities to be validated by C Correctly and Incorrectly Programmed States" or "Examples of
(including local/remote interface address of C->E) when OAM packet reaches it.</ Programmed States?
t>
<t>• C receives the OAM packet, it validates the top label (16001) is NOT boun Current:
d Appendix A. Appendix
to C->E as populated in the PeerAdj SID Sub-TLV and can respond with the
respective error code</t> Perhaps:
</list> Appendix A. Examples of Programmed States
</t> -->
<name>Appendix</name>
<t> This section describes examples of both a correctly and an
incorrectly programmed state and provides details on how the new
sub-TLVs described in this document can be used to validate the
correctness. Consider the diagram from <xref target="reference_diagram"
format="default"/>.</t>
<t>Correctly programmed state:</t>
<ul spacing="normal">
<li>
<t>C assigns label 16001 and binds it to adjacency C-&gt;E </t>
</li>
<li>
<t>C signals that label 16001 is bound to adjacency C-&gt;E (e.g., via
BGP-LS)</t>
</li>
<li>
<t>The controller/ingress programs an SR path that has SID/label 16001
to steer the packet on the exit point from C onto adjacency C-&gt;E</t
>
</li>
<li>
<t>Using MPLS trace procedures defined in this document, the PeerAdj
SID Sub-TLV is populated with entities to be validated by C when the
OAM packet reaches it</t>
</li>
<li>
<t>C receives the OAM packet and validates that the top label
(16001) is indeed corresponding to the entities populated in the
PeerAdj SID Sub-TLV</t>
</li>
</ul>
<t>Incorrectly programmed state:</t>
<ul spacing="normal">
<li>
<t>C assigns label 16001 and binds it to adjacency C-&gt;D</t>
</li>
<li>
<t>The controller learns that PeerAdj SID label 16001 is bound to
adjacency C-&gt;E (e.g., via BGP-LS) -- this could be a software bug
on C or on the controller</t>
</li>
<li>
<t>The controller/ingress programs an SR path that has SID/label
16001 to steer the packet on the exit point from C onto adjacency
C-&gt;E</t>
</li>
<li>
<t>Using MPLS trace procedures defined in this document, the PeerAdj
SID Sub-TLV is populated with entities to be validated by C
(including a local/remote interface address of C-&gt;E) when the OAM
packet reaches it</t>
</li>
<li>
<t>C receives the OAM packet and validates that the top label
(16001) is NOT bound to C-&gt;E as populated in the PeerAdj SID
Sub-TLV and then responds with the respective error code</t>
</li>
</ul>
</section>
<section numbered="false" toc="default">
<name>Acknowledgments</name>
<t>Thanks to <contact fullname="Loa Andersson"/>, <contact
fullname="Dhruv Dhody"/>, <contact fullname="Ketan Talaulikar"/>,
<contact fullname="Italo Busi"/>, <contact fullname="Alexander
Vainshtein"/>, and <contact fullname="Deepti Rathi"/> for careful reviews
and
comments. Thanks to <contact fullname="Tarek Saad"/> for providing the
example described in <xref target="Appendix"/>.</t>
</section>
</back>
<!-- [rfced] Terminology and Abbreviations
a) Throughout the text, the following terminology appears to be capitalized
inconsistently. Please review these occurrences and let us know if/how they
may be made consistent.
Adj-Type vs. Adj type
Integer vs. integer
Local AS number vs. local AS number
Local interface vs. local interface
Link Descriptors vs. link descriptors
Remote interface vs. remote interface
b) How may we make these terms consistent? For the case, we suggest
capitalizing "Target" and "Stack" to match use in RFC 8287 and
other past RFCs.
Target FEC Stack TLV vs.
Target FEC stack TLV vs.
target FEC stack TLV vs.
target FEC stack
[Note: should the last instance contain "TLV"?]
FEC stack TLV vs.
FEC stack
[Note: should "Target" be added to these instances? And
should the last instance contain "TLV"?]
Target FEC Stack sub-TLV vs.
Target FEC stack sub-TLV vs.
Target FEC sub-TLV
[Note: should "Stack" be added to the last instance?]
c) In the text, "Type 1" appears to have two different names. Are these meant
to be the same or different? We see "Target FEC Stack TLV (Type 1)" in RFC 8287.
Please let us know how/if we may update. Note that we recommend making "stack"
uppercase for consistency.
Abstract:
MPLS Target stack TLV (Type 1)
Section 4:
Target FEC Stack TLV (Type 1)
d) It appears that in past RFCs, the term "FEC stack-depth" is used instead of
"FEC-stack-depth". Should we update to only one hyphen?
e) We see "MPLS Ping and Traceroute procedures" and "ping or traceroute packets"
in the running text. Should 1 instance of "MPLS traceroute procedure" perhaps be
"MPLS Ping and Traceroute procedures" for consistency?
Original:
The data plane validation of the SID will be done during the
MPLS traceroute procedure.
Perhaps:
The data plane validation of the SID will be done during the
MPLS Ping and Traceroute procedures.
f) FYI - We added expansions for the following abbreviations in the text.
Please review for accuracy.
ASN: Access Service Network
BGP-LS: Border Gateway Protocol - Link State
EBGP: External BGP
OAM: Operations, Administration, and Maintenance
-->
<!-- [rfced] Please review the "Inclusive Language" portion of the online
Style Guide <https://www.rfc-editor.org/styleguide/part2/#inclusive_language>
and let us know if any changes are needed. Updates of this nature typically
result in more precise language, which is helpful for readers.
Note that our script did not flag any words in particular, but this should
still be reviewed as a best practice.
-->
</section>
</back>
</rfc> </rfc>
 End of changes. 103 change blocks. 
751 lines changed or deleted 1134 lines changed or added

This html diff was produced by rfcdiff 1.48.