rfc9633.original.xml   rfc9633.xml 
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE rfc>
<?rfc toc="yes"?> <!-- pre-edited by ST 03/11/24 -->
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?> <!-- draft submitted in xml v3 -->
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?> <!DOCTYPE rfc [
<?rfc sortrefs="yes"?> <!ENTITY nbsp "&#160;">
<?rfc comments="yes"?> <!ENTITY zwsp "&#8203;">
<?rfc inline="yes"?> <!ENTITY nbhy "&#8209;">
<?rfc compact="yes"?> <!ENTITY wj "&#8288;">
<?rfc subcompact="no"?> ]>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-ie
tf-detnet-yang-20" ipr="trust200902" submissionType="IETF" obsoletes="" updates= <rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-ie
"" xml:lang="en" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="true" v tf-detnet-yang-20" number="9633" consensus="true" ipr="trust200902" submissionTy
ersion="3"> pe="IETF" obsoletes="" updates="" xml:lang="en" tocInclude="true" tocDepth="3" s
<!-- xml2rfc v2v3 conversion 3.7.0 --> ymRefs="true" sortRefs="true" version="3">
<front> <front>
<title abbrev="draft-ietf-detnet-yang-20">Deterministic Networking <title abbrev="DetNet YANG Data Model">Deterministic Networking
(DetNet) YANG Model</title> (DetNet) YANG Data Model</title>
<seriesInfo name="Internet-Draft" value="draft-ietf-detnet-yang-20"/>
<seriesInfo name="RFC" value="9633"/>
<author fullname="Xuesong Geng" initials="X." surname="Geng"> <author fullname="Xuesong Geng" initials="X." surname="Geng">
<organization>Huawei Technologies</organization> <organization>Huawei Technologies</organization>
<address> <address>
<postal>
<street/>
<city/>
<code/>
<country/>
</postal>
<email>gengxuesong@huawei.com</email> <email>gengxuesong@huawei.com</email>
</address> </address>
</author> </author>
<author fullname="Yeoncheol Ryoo" initials="Y." surname="Ryoo"> <author fullname="Yeoncheol Ryoo" initials="Y." surname="Ryoo">
<organization>ETRI</organization> <organization>ETRI</organization>
<address> <address>
<postal>
<street/>
<city/>
<region/>
<code/>
<country/>
</postal>
<phone/>
<email>dbduscjf@etri.re.kr</email> <email>dbduscjf@etri.re.kr</email>
<uri/>
</address> </address>
</author> </author>
<author fullname="Don Fedyk" initials="D." surname="Fedyk"> <author fullname="Don Fedyk" initials="D." surname="Fedyk">
<organization>LabN Consulting, L.L.C.</organization> <organization>LabN Consulting, L.L.C.</organization>
<address> <address>
<postal>
<street/>
<city/>
<region/>
<code/>
<country/>
</postal>
<phone/>
<email>dfedyk@labn.net</email> <email>dfedyk@labn.net</email>
<uri/>
</address> </address>
</author> </author>
<author fullname="Reshad Rahman" initials="R." surname="Rahman"> <author fullname="Reshad Rahman" initials="R." surname="Rahman">
<organization>Equinix</organization> <organization>Equinix</organization>
<address> <address>
<postal>
<street/>
<city/>
<region/>
<code/>
<country/>
</postal>
<phone/>
<email>reshad@yahoo.com</email> <email>reshad@yahoo.com</email>
<uri/>
</address> </address>
</author> </author>
<author fullname="Zhenqiang Li" initials="Z." surname="Li"> <author fullname="Zhenqiang Li" initials="Z." surname="Li">
<organization>China Mobile</organization> <organization>China Mobile</organization>
<address> <address>
<postal>
<street/>
<city/>
<code/>
<country/>
</postal>
<email>lizhenqiang@chinamobile.com</email> <email>lizhenqiang@chinamobile.com</email>
</address> </address>
</author> </author>
<date/> <date year="2024" month="October"/>
<area>RTG</area>
<workgroup>detnet</workgroup>
<abstract> <abstract>
<t>This document contains the specification for the Deterministic Networki ng <t>This document contains the specification for the Deterministic Networki ng
YANG Model for configuration and operational data of DetNet Flows. (DetNet) YANG data model for configuration and operational data for DetNet
The model allows for provisioning of flows.
end-to-end DetNet service on devices along the path without dependency on The model allows the provisioning of an
any end-to-end DetNet service on devices along the path without depending on a
ny
signaling protocol. It also specifies operational status for flows. signaling protocol. It also specifies operational status for flows.
</t> </t>
<t>The YANG module defined in this document conforms to the Network <t>The YANG module defined in this document conforms to the Network
Management Datastore Architecture (NMDA).</t> Management Datastore Architecture (NMDA).</t>
</abstract> </abstract>
</front> </front>
<middle> <middle>
<section numbered="true" toc="default"> <section numbered="true" toc="default">
<name>Introduction</name> <name>Introduction</name>
<t>DetNet (Deterministic Networking) provides a capability to carry <t>DetNet (Deterministic Networking) provides the ability to carry
specified unicast or multicast data flows for real-time applications specified unicast or multicast data flows for real-time applications
with extremely low packet loss rates and assured maximum end-to-end with extremely low packet loss rates and assured maximum end-to-end
delivery latency. A description of the general background and concepts delivery latency. A description of the general background and concepts
of DetNet can be found in <xref target="RFC8655" format="default"/>.</t> of DetNet can be found in <xref target="RFC8655" format="default"/>.</t>
<t>This document defines a YANG model for DetNet based on YANG data <t>This document defines a YANG data model for DetNet based on YANG data
types and modeling language defined in <xref target="RFC6991" format="defa ult"/> and types and modeling language defined in <xref target="RFC6991" format="defa ult"/> and
<xref target="RFC7950" format="default"/>. DetNet service, which is design <xref target="RFC7950" format="default"/>.</t>
ed for
describing the characteristics of services being provided for <t>This document also includes the following:</t>
application flows over a network, and DetNet configuration, which is
designed for DetNet flow path establishment, flow status reporting, and <ul spacing="normal">
DetNet functions configuration in order to achieve end-to-end bounded <li>The DetNet service, which is designed to
latency and zero congestion loss, are both included in this describe the characteristics of services being provided for
document.</t> application flows over a network.</li>
<t> This Yang model is scoped to the description of the <li>DetNet configuration, which is
designed to provide DetNet flow path establishment, flow status reporting,
and
configuration of DetNet functions in order to achieve end-to-end bounded
latency and zero congestion loss.</li>
</ul>
<t> This YANG data model is scoped to the description of the
aggregation/disaggregation and data plane capabilities of the DetNet data aggregation/disaggregation and data plane capabilities of the DetNet data
planes defined in the DetNet Architecture planes defined in "<xref target="RFC8655" format="title"/>" <xref target="
<xref target="RFC8655" format="default"> </xref> RFC8655" format="default"/>
and DetNet Framework <xref target="RFC8938" format="default"> </xref>. and "<xref target="RFC8938" format="title"/>" <xref target="RFC8938" forma
t="default"/>.
DetNet operates at the IP layer and delivers service over lower-layer DetNet operates at the IP layer and delivers service over lower-layer
technologies such as MPLS and IEEE 802.1 Time-Sensitive Networking (TSN). technologies such as MPLS and IEEE 802.1 Time-Sensitive Networking (TSN).
</t> </t>
</section> </section>
<section numbered="true" toc="include"> <section anchor="abbreviations" numbered="true" toc="include">
<name slugifiedName="name-abbreviations">Abbreviations</name> <name>Abbreviations</name>
<t indent="0"> <t>The following abbreviations are used in this document:
The following abbreviations are used in this document:
</t> </t>
<dl newline="false" spacing="normal" indent="14"> <dl newline="false" spacing="normal">
<dt>PEF</dt> <dt>PEF:</dt>
<dd>Packet Elimination Function</dd> <dd>Packet Elimination Function</dd>
<dt>PRF</dt> <dt>POF:</dt><dd>Packet Ordering Function</dd>
<dt>PRF:</dt>
<dd>Packet Replication Function</dd> <dd>Packet Replication Function</dd>
<dt>PEOF</dt> <dt>PREOF:</dt>
<dd>Packet Elimination and Ordering Functions</dd> <dd>Packet Replication, Elimination, and Ordering Functions</dd>
<dt>PERF</dt> <dt>MPLS:</dt>
<dd>Packet Elimination and Replication Functions</dd>
<dt>PREOF</dt>
<dd>Packet Replication, Elimination and Ordering Functions</dd>
<dt>MPLS</dt>
<dd>Multiprotocol Label Switching</dd> <dd>Multiprotocol Label Switching</dd>
</dl> </dl>
</section> </section>
<section numbered="true" toc="default"> <section numbered="true" toc="default">
<name>Terminology</name> <name>Terminology</name>
<t>This document uses the terminology defined in <xref target="RFC8655" fo rmat="default"> </xref>. <t>This document uses the terminology defined in <xref target="RFC8655" fo rmat="default"> </xref>.
The terms A-label, S-label, and F-label are used in this document The terms "A-Label", "S-Label", and "F-Label" are used in this document
as defined in <xref target="RFC8964"/>. as defined in <xref target="RFC8964"/>.
</t> </t>
</section> </section>
<section numbered="true" toc="default"> <section numbered="true" toc="default">
<name>DetNet YANG Module</name> <name>DetNet YANG Module</name>
<t>The DetNet YANG module includes DetNet App-flow, <t>The DetNet YANG module (<xref target="detnet-yang-module"/>) includes D
DetNet Service Sub-layer, and DetNet Forwarding Sub-layer etNet App-flow,
DetNet service sub-layer, and DetNet forwarding sub-layer
configuration and operational objects. configuration and operational objects.
The corresponding attributes used in different sub-layers The corresponding attributes used in different sub-layers
are defined in <xref target="appyangatt"> </xref> , are defined in Sections&nbsp;<xref target="appyangatt" format="counter"> <
<xref target="serviceyangatt"> </xref> , /xref>,
<xref target="forwardingyangatt"> </xref> respectively.</t> <xref target="serviceyangatt" format="counter"></xref>, and
<xref target="forwardingyangatt" format="counter"></xref>, respect
ively.</t>
<t> Layers of the objects typically occur <t> Layers of the objects typically occur
in the different data instances forming the node types defined in in the different data instances forming the node types defined in
<xref target="RFC8655" format="default"> </xref>. <xref target="RFC8655" format="default"> </xref>.
<xref target="table_layer_node" format="default"/> <xref target="table_layer_node" format="default"/>
illustrates the relationship between data instance node types and the included layers. illustrates the relationship between data instance node types and the included layers.
Node types are logical roles per DetNet service: a device along one Node types are logical roles per DetNet service: one
DetNet service can be of one node type, while another service may use DetNet service may use a device of one node type, while another servic
e may use
the same device with a different node type. the same device with a different node type.
This model is a controller based model because a controller or operato This model is a controller-based model, because a controller or operat
r or
configures all the devices to form a service. configures all of the devices to form a service.
</t> </t>
<figure anchor="table_layer_node" align="left" suppress-title="false"> <table anchor="table_layer_node" align="left">
<name slugifiedName="detnet-layer-node-types">DetNet Layers and Node Types <name>DetNet Layers and Node Types</name>
</name> <thead>
<artwork name="" type="" align="left" alt=""><![CDATA[ <tr>
+---------------------------------------------------+ <th colspan="3" align="center">Data Instance</th>
| Instance | </tr>
+-----+-----------------+-----------------+---------------+ <tr>
| |Edge Node | Relay Node | Transit Node | <th>Edge Node</th>
+-----+-----------------+-----------------+---------------+ <th>Relay Node</th>
| L |Application | | | <th>Transit Node</th>
| a +-----------------+-----------------+---------------+ </tr>
| y |Service Sub-Layer|Service Sub-Layer| | </thead>
| e +-----------------+-----------------+---------------+ <tbody>
| r |Forwarding S-L |Forwarding S-L | Forwarding S-L| <tr>
+-----+-----------------+-----------------+---------------+ <td>App-Flow Data Layer</td>
<td></td>
]]></artwork> <td></td>
</figure> </tr>
<tr>
<td>Service Sub-layer</td>
<td>Service Sub-layer</td>
<td></td>
</tr>
<tr>
<td>Forwarding Sub-layer</td>
<td>Forwarding Sub-layer</td>
<td>Forwarding Sub-layer</td>
</tr>
</tbody>
</table>
<t> <t>
All of the layers have ingress/incoming and egress/outgoing operat ions, but any instance All of the layers have ingress/incoming and egress/outgoing operat ions, but any instance
may be configured as only unidirectional. may be configured as unidirectional only.
Ingress refers to any DetNet layer where a DetNet context is appli "Ingress" refers to any DetNet layer where a DetNet context is app
ed. Ingress allows functions such as lied. Ingress allows functions such as
switching, aggregation and encapsulation. switching, aggregation, and encapsulation.
Likewise, egress refers to any DetNet layer where a DetNet context "Egress" refers to any DetNet layer where a DetNet context is remo
is removed. Egress allows ved. Egress allows
functions such as switching, disaggregation and decapsulation. functions such as switching, disaggregation, and decapsulation.
This means that each unidirectional This means that each unidirectional
flow identifier configuration is programmed starting at the ingres s and flow status is flow identifier configuration is programmed starting at the ingres s and flow status is
reported at ingress on each end. reported at the ingress on each end.
In the MPLS cases once encapsulated, the IP 6-tuple, see <xref ta In the case of MPLS, once encapsulated, the IP 6-tuple parameters
rget="RFC8938"/>, (see <xref target="RFC8938"/>)
parameters may not be required to be programmed again. may not be required to be programmed again.
In the IP case, without encapsulation, various IP flow id paramete In the case of IP, without encapsulation, various IP flow identifi
rs must be configured along cation parameters must be configured along
the flow path. the flow path.
</t> </t>
<t> <t>
In the YANG model the terms source and destination are In the YANG data model defined in this document, the terms "source
used as flow identifiers whereas ingress and egress refer to a " and "destination" are
used as flow identifiers, whereas "ingress" and "egress" refer to
a
DetNet application direction from the application edge. DetNet application direction from the application edge.
Ingress is to the DetNet application and egress is from the applic "Ingress" means "to the DetNet application", and "egress" means "f
ation. rom the application".
The terms incoming and outgoing generally represent The terms "incoming" and "outgoing" represent
the flow direction towards the remote application. Outgoing is vie the flow direction towards the remote application as a unidirectio
wed as nal flow.
going down the stack from Application to Service sub-layer to Forw This means the terms are used at a sub-layer to represent
arding sub-layer "incoming" to the sub-layer function and "outgoing" is viewed as le
and incoming is the reverse. aving the sub-layer.
Although, For the service sub-layer, "incoming" is typically aggregating appl
in examples where there is aggregation and disaggregation ications flows or other service
outgoing relates to the aggregating output and incoming sub-layers, etc.
For the forwarding sub-layer, "incoming" is typically aggregating s
ervice sub-layers.
However, this also means for both service and forwarding sub-layers
at the egress DetNet node
"incoming" also handles external flows "incoming" to the respective
sub-layer. For MPLS, this
would usually involve the removal of a label. For IP -- where the r
epresentative sub-layer is merely an
aggregation of an IP prefix or IP tuple -- there may be
no incoming/outgoing definitions, since the arriving packet can be
handled directly
by a standard next-hop routing decision.
In examples (<xref target="Examples"/>) where both aggregation and
disaggregation take place,
at the egress of the flow "outgoing" relates to the aggregating ou
tput and "incoming"
relates to the disaggregating flows. relates to the disaggregating flows.
</t> </t>
<t> <t>
At the egress point, forwarding information is determined by the At the egress point, forwarding information is determined by the
App-flow type with all DetNet-related headers removed. The forward App-flow type with all DetNet-related headers removed. In the case
ing of IP, the forwarding
information can specify an output port, or set a next-hop-address information can specify an output port or set a next-hop address.
in case In the case of
of IP, or set an MPLS label in case of MPLS. MPLS, it can set an MPLS label.
</t> </t>
<section anchor="appyangatt" numbered="true" toc="default"> <section anchor="appyangatt" numbered="true" toc="default">
<name>DetNet Application Flow YANG Attributes</name> <name>DetNet Application Flow YANG Attributes</name>
<t>DetNet application flow is responsible for mapping between <t>DetNet application flows are responsible for mapping between
application flows and DetNet flows at the edge node (egress/ingress application flows and DetNet flows at the edge node (egress/ingress
node). The application flows can be either layer 2 or layer 3 node). The application flows can be either Layer 2 or Layer 3
flows. To map a flow at the User Network Interface (UNI), the flows. To map a flow at the User-Network Interface (UNI), the
corresponding attributes are defined in <xref target="RFC9016" format="d corresponding attributes defined in <xref target="RFC9016" format="defau
efault"/>.</t> lt"/> are used.</t>
</section> </section>
<section anchor="serviceyangatt" numbered="true" toc="default"> <section anchor="serviceyangatt" numbered="true" toc="default">
<name>DetNet Service Sub-layer YANG Attributes</name> <name>DetNet Service Sub-layer YANG Attributes</name>
<t>DetNet service functions, e.g., DetNet tunnel <t>DetNet service functions, e.g., DetNet tunnel
initialization/termination and service protection, are provided in initialization/termination and service protection, are provided in
the DetNet service sub-layer. To support these functions, the following the DetNet service sub-layer. To support these functions, the following
service attributes need to be configured:</t> service attributes need to be configured:</t>
<ul spacing="normal"> <ul spacing="normal">
<li>DetNet flow identification</li> <li>DetNet flow identification.</li>
<li>Service function indication, indicates which service function <li>Service function type. Indicates which service function
will be invoked at a DetNet edge, relay node or end station. will be invoked at a DetNet edge, relay node, or end station.
(DetNet tunnel initialization or termination are default functions (DetNet tunnel initialization and termination are default functions
in the DetNet service layer, so there is no need for explicit in the DetNet service sub-layer, so there is no need to indicate the
indication). The corresponding arguments for service functions m explicitly.) The corresponding arguments for service functions
also need to be defined.</li> also need to be defined.</li>
</ul> </ul>
</section> </section>
<section anchor="forwardingyangatt" numbered="true" toc="default"> <section anchor="forwardingyangatt" numbered="true" toc="default">
<name>DetNet Forwarding Sub-layer YANG Attributes</name> <name>DetNet Forwarding Sub-layer YANG Attributes</name>
<t>As defined in <xref target="RFC8655" format="default"/>, DetNet forwa rding sub-layer <t>As defined in <xref target="RFC8655" format="default"/>, the DetNet f orwarding sub-layer
optionally provides congestion protection for DetNet flows over paths optionally provides congestion protection for DetNet flows over paths
provided by the underlying network. Explicit route is another provided by the underlying network. Explicit routes provide another
mechanism that is used by DetNet to avoid temporary interruptions mechanism used by DetNet to avoid temporary interruptions
caused by the convergence of routing or bridging protocols, and it is caused by the convergence of routing or bridging protocols. Explicit rou
tes are
also implemented at the DetNet forwarding sub-layer.</t> also implemented at the DetNet forwarding sub-layer.</t>
<t>To support congestion protection and explicit route, the following <t>To support congestion protection and explicit routes, the following
transport layer related attributes are necessary:</t> transport-layer-related attributes are necessary:</t>
<ul spacing="normal"> <ul spacing="normal">
<li>Flow Specification and Traffic Requirements, as described <li>Flow specification and traffic requirements are as described
in the information model in <xref target="RFC9016" format="default"/ in the information model provided in <xref target="RFC9016" format="
>. These may be used for default"/>. These may be used for
resource reservation, flow shaping, filtering and policing by resource reservation, flow shaping, filtering, and policing by
a control plane or other network management and control mechanisms. a control plane or other network management and control mechanisms.
</li> </li>
<li>Since this model programs the data plane existing explicit route <li>Since this model programs the data plane, existing explicit route
mechanisms can be reused. If a static MPLS tunnel is used as the mechanisms can be reused. If a static MPLS tunnel is used as the
transport tunnel, the configuration needs to be at every transit transport tunnel, the configuration needs to be at every transit
node along the path. For an IP-based path, the static configuration node along the path. For an IP-based path, the static configuration
is similar to the static MPLS case. This document provides is similar to the static MPLS case. This document provides
data-plane configuration of IP addresses or MPLS labels data plane configuration of IP addresses or MPLS labels,
but it does not provide control plane mapping or other but it does not provide control plane mapping or other
aspects. techniques.
</li> </li>
</ul> </ul>
</section> </section>
</section> </section>
<section numbered="true" toc="default"> <section numbered="true" toc="default">
<name>DetNet Flow Aggregation</name> <name>DetNet Flow Aggregation</name>
<t> <t>
DetNet provides the capability of flow aggregation to improve DetNet provides the ability to perform flow aggregation to improve the
scalability of DetNet data, management and control planes. Aggregated scalability of DetNet data, management, and control planes. Aggregated
flows can be viewed by some DetNet nodes as individual DetNet flows. flows can be viewed by some DetNet nodes as individual DetNet flows.
When aggregating DetNet flows, the flows should be compatible: if When aggregating DetNet flows, the flows should be compatible: if bandwidt
bandwidth reservations are used, the reservation should be a reasonable h
representation of the individual reservations; if maximum delay bounds reservation is used, the reservation should be a reasonable representation
are used, the system should ensure that the aggregate does not exceed the of
delay bounds of the individual flows. the total aggregate bandwidth; if maximum delay bounds are used, the syste
m
should ensure that the total DetNet flow delay does not exceed the maximum
delay
bound of any individual flow.
</t> </t>
<t> <t>
The DetNet YANG model defined in this document supports DetNet flow The DetNet YANG data model defined in this document supports DetNet flow
aggregation with the following functions: aggregation with the following functions:
</t> </t>
<ul spacing="normal"> <ul spacing="normal">
<li> <li>
Aggregated flow encapsulation/decapsulation/identification Aggregated flow encapsulation/decapsulation/identification.
</li> </li>
<li> <li>
Mapping individual DetNet flows to an aggregated flow Mapping individual DetNet flows to an aggregated flow.
</li> </li>
<li> <li>
Changing traffic specification parameters for aggregated flows Changing traffic specification parameters for aggregated flows.
</li> </li>
</ul> </ul>
<t> <t>
The following cases of DetNet aggregation are supported: The following DetNet aggregation scenarios are supported:
</t> </t>
<ul spacing="normal"> <ul spacing="normal">
<li> <li>
Ingress node aggregates App flows into a service sub-layer of DetNet flow The ingress node aggregates App-flows into a service sub-layer of a DetNe t flow.
</li> </li>
<li> <li>
In ingress node, the service sub-layers of DetNet flows are aggregated in to a forwarding sub-layer In the ingress node, the service sub-layers of DetNet flows are aggregate d into a forwarding sub-layer.
</li> </li>
<li> <li>
In ingress node, the service sub-layers of DetNet flows are aggregated in to a service sub-layer of an aggregated DetNet flow In the ingress node, the service sub-layers of DetNet flows are aggregate d into a service sub-layer of an aggregated DetNet flow.
</li> </li>
<li> <li>
Relay node aggregates the forwarding sub-layers DetNet flows into a forwa rding sub-layer The relay node aggregates the forwarding sub-layers of DetNet flows into a forwarding sub-layer.
</li> </li>
<li> <li>
Relay node aggregates the service sub-layers of DetNet flows into a forwa rding sub-layer The relay node aggregates the service sub-layers of DetNet flows into a f orwarding sub-layer.
</li> </li>
<li> <li>
Relay node aggregates the service sub-layers of DetNet flows into a servi ce sub-layer of Aggregated DetNet flow The relay node aggregates the service sub-layers of DetNet flows into a s ervice sub-layer of an aggregated DetNet flow.
</li> </li>
<li> <li>
Relay node aggregates the forwarding sub-layers of DetNet flow into a ser vice sub-layer of Aggregated DetNet flow The relay node aggregates the forwarding sub-layers of DetNet flows into a service sub-layer of an aggregated DetNet flow.
</li> </li>
<li> <li>
Transit node aggregates the forwarding sub-layers of DetNet flows into a forwarding sub-layer The transit node aggregates the forwarding sub-layers of DetNet flows int o a forwarding sub-layer.
</li> </li>
</ul> </ul>
<t> <t>
Traffic requirements and traffic specification may be tracked for Traffic requirements and the traffic specification may be tracked for
individual or aggregate flows but reserving resources and tracking the individual or aggregate flows, but reserving resources and tracking the
services in the aggregated flow is out of scope. services in the aggregated flow are out of scope.
</t> </t>
</section> </section>
<section numbered="true" toc="default"> <section numbered="true" toc="default" anchor="yang-structure">
<name>DetNet YANG Structure Considerations</name> <name>DetNet YANG Structure Considerations</name>
<t/> <t>This diagram shows the general structure of the DetNet YANG data
<t>The picture shows the general structure of the DetNet YANG model:</t>
Model:</t>
<artwork name="" type="" align="left" alt=""><![CDATA[ <!-- [IANA FLAG] "ietf-detnet" used throughout. Wouldn't expect it
+-----------+ to be changed, but flagging it anyway. -->
|ietf-detnet|
+-----+-----+ <artwork name="" type="ascii-art" align="left" alt=""><![CDATA[
| +-----------+
+--------------+----------------+------------------+ |ietf-detnet|
| | | | +-----+-----+
+-----+------+ +-----+------+ +-------+------+ | |
| App Flows | |service s-l | |forwarding s-l| | +--------------+----------------+------------------+
+-----+------+ +-----+------+ +-------+------+ | | | | |
| | | | +-----+------+ +-----+------+ +-------+------+ |
+-----+------+ +-----+------+ +-------+------+ | | App- | | Service | | Forwarding | |
| Reference | | Reference | | Reference | | | Flows | | Sub-layer | | Sub-layer | |
| to Traffic | | to Traffic | | to Traffic | +-------+-------+ +-----+------+ +-----+------+ +-------+------+ |
| Profile | | Profile | | Profile | |Traffic Profile| | | | |
+------------+ +------------+ +--------------+ +---------------+ +-----+------+ +-----+------+ +-------+------+ |
| Reference | | Reference | | Reference | |
| to Traffic | | to Traffic | | to Traffic | +-------+-------+
| Profile | | Profile | | Profile | |Traffic Profile|
+------------+ +------------+ +--------------+ +---------------+
]]></artwork> ]]></artwork>
<t> <t>
There are three layer types in the DetNet YANG Model: There are three layer types in the DetNet YANG data model:
App-flow data layer, the App-flow data layer, the
service sub-layer and forwarding sub-layer. service sub-layer, and the forwarding sub-layer.
Additionally, the Traffic parameters are captured in a Traffic pro Additionally, the traffic parameters are captured in a traffic pro
file file
that can be referenced by any of the layers. that can be referenced by any of the layers.
</t> </t>
<t> <t>
Below is a summary YANG tree showing the major items. Below is a summary YANG tree showing the major items.
A complete YANG tree is in section <xref target="Tree"/>. The complete YANG tree is provided in <xref target="Tree"/>.
</t> </t>
<t> <t>
A traffic profile can be created for an application, A traffic profile can be created for an application,
a service sub-layer or a forwarding sub-layer. a service sub-layer, or a forwarding sub-layer.
A single profile may be shared by multiple applications/sub-layer. A single profile may be shared by multiple applications/sub-layers.
Each profile indicates the members currently using that profile. Each profile indicates the members currently using that profile.
</t> </t>
<t> <t>
Depending on which DetNet layers and functions are required, Depending on which DetNet layers and functions are required,
some or all of the components may be configured. some or all of the components may be configured.
Examples are shown in <xref target="Examples"/>. Examples are provided in <xref target="Examples"/>.
</t> </t>
</section> </section>
<section numbered="true" toc="default"> <section numbered="true" toc="default">
<name>DetNet Configuration YANG Structures</name> <name>DetNet Configuration YANG Structures</name>
<t> The following is a partial tree representation of the YANG as de fined in <t> The following is a partial tree representation of the DetNet YAN G data model, per the guidelines provided in
<xref target="RFC8340" format="default"/>. This corresponds to the <xref target="RFC8340" format="default"/>. This corresponds to the
structure layout in the previous section. layout of the diagram in <xref target="yang-structure"/>.
</t> </t>
<artwork name="" type="" align="left" alt=""><![CDATA[ <sourcecode name="" type="yangtree"><![CDATA[
module: ietf-detnet module: ietf-detnet
+--rw detnet +--rw detnet
+--rw traffic-profile* [name] +--rw traffic-profile* [name]
| +--rw name string | +--rw name string
| +--rw traffic-requirements | +--rw traffic-requirements
| +--rw traffic-spec | +--rw traffic-spec
| +--ro member-app-flow* app-flow-ref | +--ro member-app-flow* app-flow-ref
| +--ro member-svc-sublayer* service-sub-layer-ref | +--ro member-svc-sublayer* service-sub-layer-ref
| +--ro member-fwd-sublayer* forwarding-sub-layer-ref | +--ro member-fwd-sublayer* forwarding-sub-layer-ref
+--rw app-flows +--rw app-flows
skipping to change at line 434 skipping to change at line 426
| ... | ...
+--rw forwarding +--rw forwarding
+--rw sub-layer* [name] +--rw sub-layer* [name]
+--rw name string +--rw name string
+--rw traffic-profile? traffic-profile-ref +--rw traffic-profile? traffic-profile-ref
+--rw operation? mpls-fwd-operation +--rw operation? mpls-fwd-operation
+--rw incoming +--rw incoming
| ... | ...
+--rw outgoing +--rw outgoing
... ...
]]></artwork> ]]></sourcecode>
</section> </section>
<section numbered="true" toc="default"> <section numbered="true" toc="default" anchor="detnet-yang-module">
<name>DetNet Configuration YANG Model</name> <name>DetNet Configuration YANG Data Model</name>
<t> This YANG model imports typedefs from <xref target="RFC6991"/>, <t> This YANG data model imports typedefs from <xref target="RFC6991
"/>,
<xref target="RFC8519"/>, <xref target="RFC8519"/>,
<xref target="RFC8294"/>, <xref target="RFC8294"/>,
<xref target="RFC8343"/>, <xref target="RFC8343"/>,
and <xref target="IEEE8021Q"/>. and <xref target="IEEE8021Q-2022"/>.
This YANG model also has the following references to RFCs This YANG data model also includes the following RFC references,
that are not in the document text body which are not cited elsewhere in the body of this document:
<xref target="RFC0791"/>, <xref target="RFC0791"/>,
<xref target="RFC4303"/>, <xref target="RFC4303"/>,
<xref target="RFC8349"/>, <xref target="RFC8200"/>,
<xref target="RFC8938"/>, <xref target="RFC8349"/>, and
<xref target="RFC8960"/>, <xref target="RFC8960"/>.
<xref target="RFC8964"/>,
and <xref target="RFC8200"/>.
</t> </t>
<sourcecode name="ietf-detnet@2022-02-21.yang" type="yang" markers=" true"><![CDATA[ <sourcecode name="ietf-detnet@2024-08-15.yang" type="yang" markers=" true"><![CDATA[
module ietf-detnet { module ietf-detnet {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-detnet"; namespace "urn:ietf:params:xml:ns:yang:ietf-detnet";
prefix dnet; prefix dnet;
import ietf-yang-types { import ietf-yang-types {
prefix yang; prefix yang;
reference reference
"RFC 6991 - Common YANG Data Types."; "RFC 6991: Common YANG Data Types";
} }
import ietf-inet-types { import ietf-inet-types {
prefix inet; prefix inet;
reference reference
"RFC 6991 - Common YANG Data Types."; "RFC 6991: Common YANG Data Types";
} }
import ietf-ethertypes { import ietf-ethertypes {
prefix ethertypes; prefix ethertypes;
reference reference
"RFC 8519 - YANG Data Model for Network Access Control "RFC 8519: YANG Data Model for Network Access Control
Lists (ACLs)."; Lists (ACLs)";
} }
import ietf-routing-types { import ietf-routing-types {
prefix rt-types; prefix rt-types;
reference reference
"RFC 8294 - Common YANG Data Types for the Routing Area."; "RFC 8294: Common YANG Data Types for the Routing Area";
} }
import ietf-packet-fields { import ietf-packet-fields {
prefix packet-fields; prefix packet-fields;
reference reference
"RFC 8519 - YANG Data Model for Network Access Control Lists "RFC 8519: YANG Data Model for Network Access Control
(ACLs)."; Lists (ACLs)";
} }
import ietf-interfaces { import ietf-interfaces {
prefix if; prefix if;
reference reference
"RFC 8343 - A YANG Data Model for Interface Management."; "RFC 8343: A YANG Data Model for Interface Management";
} }
import ieee802-dot1q-types { import ieee802-dot1q-types {
prefix dot1q-types; prefix dot1q-types;
reference reference
"IEEE 802.1Q-2022 - IEEE Standard for Local and Metropolitan "IEEE 802.1Q-2022: IEEE Standard for Local and Metropolitan
Area Networks--Bridges and Bridged Networks Clause 48: YANG Area Networks--Bridges and Bridged Networks,
Data Models."; Clause 48 ('YANG Data Models')";
} }
organization organization
"IETF DetNet Working Group"; "IETF DetNet Working Group";
contact contact
"WG Web: <https://datatracker.ietf.org/wg/detnet/> "WG Web: <https://datatracker.ietf.org/wg/detnet/>
WG List: <mailto:detnet@ietf.org> WG List: <mailto:detnet@ietf.org>
Editor: Xuesong Geng Author: Xuesong Geng
<mailto:gengxuesong@huawei.com> <mailto:gengxuesong@huawei.com>
Editor: Yeoncheol Ryoo Author: Yeoncheol Ryoo
<mailto:dbduscjf@etri.re.kr> <mailto:dbduscjf@etri.re.kr>
Editor: Don Fedyk Author: Don Fedyk
<mailto:dfedyk@labn.net>; <mailto:dfedyk@labn.net>
Editor: Reshad Rahman Author: Reshad Rahman
<mailto:reshad@yahoo.com> <mailto:reshad@yahoo.com>
Author: Zhenqiang Li
<mailto:lizhenqiang@chinamobile.com>";
Editor: Zhenqiang Li
<mailto:lizhenqiang@chinamobile.com>";
description description
"This YANG module describes the parameters needed "This YANG module describes the parameters needed
for DetNet flow configuration and flow status for DetNet flow configuration and flow status
reporting. This YANG module conforms to the Network reporting. This YANG module conforms to the Network
Management Datastore Architecture (NMDA). Management Datastore Architecture (NMDA).
Copyright (c) 2024 IETF Trust and the persons identified as Copyright (c) 2024 IETF Trust and the persons identified as
authors of the code. All rights reserved. authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject to without modification, is permitted pursuant to, and subject
the license terms contained in, the Revised BSD License set to the license terms contained in, the Revised BSD License
forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(https://trustee.ietf.org/license-info). (https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; This version of this YANG module is part of RFC 9633; see the
see the RFC itself for full legal notices."; RFC itself for full legal notices.";
// RFC Ed.: replace XXXX with actual RFC number and remove
// this note
// replace '2024-02-21' with the module publication date
// the format is (year-month-day)
revision 2024-02-21 { revision 2024-08-15 {
description description
"Initial revision"; "Initial revision.";
reference reference
"RFC XXXX: Deterministic Networking (DetNet) YANG Model"; "RFC 9633: Deterministic Networking (DetNet) YANG Data
Model";
} }
identity app-status { identity app-status {
description description
"Base identity from which all application-status "Base identity from which all application status types
status types are derived."; are derived.";
reference reference
"RFC 9016 Section 5.8"; "RFC 9016: Flow and Service Information Model for
Deterministic Networking (DetNet), Section 5.8";
} }
identity none { identity none {
base app-status; base app-status;
description description
"This application has no status. This identity is "This application has no status. This identity is
expected when the configuration is incomplete."; expected when the configuration is incomplete.";
reference reference
"RFC 9016 Section 5.8"; "RFC 9016: Flow and Service Information Model for
Deterministic Networking (DetNet), Section 5.8";
} }
identity ready { identity ready {
base app-status; base app-status;
description description
"Application ingress/egress ready."; "The application is ingress/egress ready.";
reference reference
"RFC 9016 Section 5.8"; "RFC 9016: Flow and Service Information Model for
Deterministic Networking (DetNet), Section 5.8";
} }
identity failed { identity failed {
base app-status; base app-status;
description description
"Application ingres/egress failed."; "The application is ingress/egress failed.";
reference reference
"RFC 9016 Section 5.8"; "RFC 9016: Flow and Service Information Model for
Deterministic Networking (DetNet), Section 5.8";
} }
identity out-of-service { identity out-of-service {
base app-status; base app-status;
description description
"Application administratively blocked."; "The application is administratively blocked.";
reference reference
"RFC 9016 Section 5.8"; "RFC 9016: Flow and Service Information Model for
Deterministic Networking (DetNet), Section 5.8";
} }
identity partial-failed { identity partial-failed {
base app-status; base app-status;
description description
"This is an application with one or more Egress ready, and one "This is an application with one or more egress-ready
or more Egress failed. The DetNet flow can be used if the instances and one or more instances where egress failed.
Ingress is Ready."; The DetNet flow can be used if the ingress's status is
'ready'.";
reference reference
"RFC 9016 Section 5.8"; "RFC 9016: Flow and Service Information Model for
Deterministic Networking (DetNet), Section 5.8";
} }
typedef app-flow-ref { typedef app-flow-ref {
type leafref { type leafref {
path "/dnet:detnet" path "/dnet:detnet"
+ "/dnet:app-flows" + "/dnet:app-flows"
+ "/dnet:app-flow" + "/dnet:app-flow"
+ "/dnet:name"; + "/dnet:name";
} }
description description
"This is an application Reference."; "This is a reference to an application.";
} }
typedef service-sub-layer-ref { typedef service-sub-layer-ref {
type leafref { type leafref {
path "/dnet:detnet" path "/dnet:detnet"
+ "/dnet:service" + "/dnet:service"
+ "/dnet:sub-layer" + "/dnet:sub-layer"
+ "/dnet:name"; + "/dnet:name";
} }
description description
"This is a service sub-layer Reference."; "This is a reference to the service sub-layer.";
} }
typedef forwarding-sub-layer-ref { typedef forwarding-sub-layer-ref {
type leafref { type leafref {
path "/dnet:detnet" path "/dnet:detnet"
+ "/dnet:forwarding" + "/dnet:forwarding"
+ "/dnet:sub-layer" + "/dnet:sub-layer"
+ "/dnet:name"; + "/dnet:name";
} }
description description
"This is a forwarding sub-layer Reference."; "This is a reference to the forwarding sub-layer.";
} }
typedef traffic-profile-ref { typedef traffic-profile-ref {
type leafref { type leafref {
path "/dnet:detnet" path "/dnet:detnet"
+ "/dnet:traffic-profile" + "/dnet:traffic-profile"
+ "/dnet:name"; + "/dnet:name";
} }
description description
"This is a traffic Profile Reference."; "This is a reference to a traffic profile.";
} }
typedef ipsec-spi { typedef ipsec-spi {
type uint32 { type uint32 {
range "1..max"; range "1..max";
} }
description description
"IPsec Security Parameters Index. A 32 bit value "IPsec Security Parameters Index. A 32-bit value,
where some values are reserved."; where some values are reserved.";
reference reference
"IETF RFC 4303 Encapsulating Security Payload (ESP)."; "RFC 4303: IP Encapsulating Security Payload (ESP)";
} }
typedef operation { typedef operation {
type enumeration { type enumeration {
enum initiation { enum initiation {
description description
"This is an initiating service sub-layer encapsulation."; "An initiating service sub-layer encapsulation.";
} }
enum termination { enum termination {
description description
"Operation for DetNet service sub-layer decapsulation."; "Operation for DetNet service sub-layer decapsulation.";
} }
enum relay { enum relay {
description description
"Operation for DetNet service sub-layer swap."; "Operation for DetNet service sub-layer swap.";
} }
enum non-detnet { enum non-detnet {
description description
"No operation for DetNet service sub-layer."; "No operation for the DetNet service sub-layer.";
} }
} }
description description
"Operation type identifies the behavior for this service "The operation type identifies this service sub-layer's
sub-layer. Operations are described as unidirectional behavior. Operations are described as unidirectional,
but a service sub-layer may combine operation types."; but a service sub-layer may combine operation types.";
} }
typedef mpls-fwd-operation { typedef mpls-fwd-operation {
type enumeration { type enumeration {
enum impose-and-forward { enum impose-and-forward {
description description
"This operation imposes outgoing label(s) and forwards to "This operation imposes one or more outgoing labels and
next-hop."; forwards to the next hop.";
reference reference
" A YANG Data Model for MPLS Base RFC 8960."; "RFC 8960: A YANG Data Model for MPLS Base";
} }
enum pop-and-forward { enum pop-and-forward {
description description
"This operation pops the incoming label and forwards to "This operation pops the incoming label and forwards to
the next-hop."; the next hop.";
reference reference
" A YANG Data Model for MPLS Base RFC 8960."; "RFC 8960: A YANG Data Model for MPLS Base";
} }
enum pop-impose-and-forward { enum pop-impose-and-forward {
description description
"This operation pops the incoming label, imposes one or "This operation pops the incoming label, imposes one or
more outgoing label(s) and forwards to the next-hop."; more outgoing labels, and forwards to the next hop.";
reference reference
" A YANG Data Model for MPLS Base RFC 8960."; "RFC 8960: A YANG Data Model for MPLS Base";
} }
enum swap-and-forward { enum swap-and-forward {
description description
"This operation swaps an incoming label, with an outgoing "This operation swaps an incoming label with an outgoing
label and forwards to the next-hop."; label and forwards to the next hop.";
reference reference
" A YANG Data Model for MPLS Base RFC 8960."; "RFC 8960: A YANG Data Model for MPLS Base";
} }
enum forward { enum forward {
description description
"This operation forwards to next-hop."; "This operation forwards to the next hop.";
} }
enum pop-and-lookup { enum pop-and-lookup {
description description
"This operation pops an incoming label and performs a "This operation pops an incoming label and performs a
lookup."; lookup.";
reference
"RFC 8960: A YANG Data Model for MPLS Base";
} }
} }
description description
"MPLS operations types. This is an enum modeled after the "MPLS operation types. This set of enums is modeled after
MPLS enum. The enums are the same as A YANG Data Model the MPLS enums. With the exception of 'enum forward',
for MPLS Base. RFC 8960."; these enums are the same as those provided in RFC 8960.";
reference
"RFC 8960: A YANG Data Model for MPLS Base";
} }
typedef service-protection { typedef service-protection {
type enumeration { type enumeration {
enum none { enum none {
description description
"No service protection provided."; "Service protection is not provided.";
} }
enum replication { enum replication {
description description
"A Packet Replication Function (PRF) replicates DetNet "A Packet Replication Function (PRF) replicates DetNet
flow packets and forwards them to one or more next hops in flow packets and forwards them to one or more next
the DetNet domain. The number of packet copies sent to hops in the DetNet domain. The number of packet copies
each next hop is a DetNet flow-specific parameter at the sent to each next hop is a DetNet-flow-specific
node doing the replication. PRF can be implemented by an parameter at the node doing the replication. A PRF can
edge node, a relay node, or an end system."; be implemented by an edge node, a relay node, or an
end system.";
} }
enum elimination { enum elimination {
description description
"A Packet Elimination Function (PEF) eliminates duplicate "A Packet Elimination Function (PEF) eliminates
copies of packets to prevent excess packets flooding the duplicate copies of packets to prevent excess packets
network or duplicate packets being sent out of the DetNet flooding the network or duplicate packets being
domain. PEF can be implemented by an edge node, a relay sent out of the DetNet domain. A PEF can be
node, or an end system."; implemented by an edge node, a relay node, or an
end system.";
} }
enum ordering { enum ordering {
description description
"A Packet Ordering Function (POF) re-orders packets within "A Packet Ordering Function (POF) reorders packets within
a DetNet flow that are received out of order. This a DetNet flow that are received out of order. This
function can be implemented by an edge node, a relay node, function can be implemented by an edge node, a relay node,
or an end system."; or an end system.";
} }
enum elimination-ordering { enum elimination-ordering {
description description
"A combination of PEF and POF that can be implemented by "A combination of a PEF and POF that can be implemented
an edge node, a relay node, or an end system."; by an edge node, a relay node, or an end system.";
} }
enum elimination-replication { enum elimination-replication {
description description
"A combination of PEF and PRF that can be implemented by "A combination of a PEF and PRF that can be implemented
an edge node, a relay node, or an end system."; by an edge node, a relay node, or an end system.";
} }
enum elimination-ordering-replication { enum elimination-ordering-replication {
description description
"A combination of PEF, POF and PRF that can be implemented "A combination of a PEF, POF, and PRF that can be
by an edge node, a relay node, or an end system."; implemented by an edge node, a relay node, or
an end system.";
} }
} }
description description
"This typedef describes the service protection enumeration "This typedef describes the service protection enumeration
values."; values.";
} }
typedef sequence-number-generation { typedef sequence-number-generation {
type enumeration { type enumeration {
enum copy-from-app-flow { enum copy-from-app-flow {
description description
"Copy-from-app-flow is used to extend and use the "'copy-from-app-flow' is used to utilize the sequence
sequence number used in App-flow. This function is number present in the App-flow. This function is
required when encapsulating App-flows that have been required when encapsulating App-flows that have been
replicated and received through multiple ingress nodes replicated and received through multiple ingress nodes
into a member flow, and then eliminate it at the relay into a member flow. When a relay node sees the same
node."; sequence number on an App-flow, it may be programmed
} to eliminate duplicate App-flow packets.";
}
enum generate-by-detnet-flow { enum generate-by-detnet-flow {
description description
"Generate-by-detnet-flow is used to create a new "'generate-by-detnet-flow' is used to create a new
sequence number for a DetNet flow at the ingress node. sequence number for a DetNet flow at the ingress node.
Care must be taken when using this option to ensure Care must be taken when using this option to ensure
there is only one source for generating sequence that there is only one source for generating sequence
numbers."; numbers.";
} }
} }
description description
"This typedef defines how to generate sequence numbers to "This typedef defines how to generate sequence numbers to
be used in DetNet encapsulation."; be used in DetNet encapsulation.";
} }
typedef sequence-number-field { typedef sequence-number-field {
type enumeration { type enumeration {
enum zero-sn { enum zero-sn {
description description
"No DetNet sequence number field is used."; "The DetNet sequence number field is not used.";
} }
enum short-sn { enum short-sn {
value 16; value 16;
description description
"A 16-bit DetNet sequence number field is used."; "A 16-bit DetNet sequence number field is used.";
} }
enum long-sn { enum long-sn {
value 28; value 28;
description description
"A 28-bit DetNet sequence number field is used."; "A 28-bit DetNet sequence number field is used.";
} }
} }
description description
"This enumeration configures the sequence number behavior."; "These enums configure the behavior of the
sequence number field.";
} }
grouping ip-header { grouping ip-header {
description description
"This grouping captures the IPv4/IPv6 packet header "This grouping captures the IPv4/IPv6 packet header
information. It is modeled after existing fields."; information. It is modeled after existing fields.";
leaf src-ip-address { leaf src-ip-address {
type inet:ip-address-no-zone; type inet:ip-address-no-zone;
description description
"The source IP address in the header."; "The source IP address in the header.";
reference reference
"RFC 6991 Common YANG Data Types"; "RFC 6991: Common YANG Data Types";
} }
leaf dest-ip-address { leaf dest-ip-address {
type inet:ip-address-no-zone; type inet:ip-address-no-zone;
description description
"The destination IP address in the header."; "The destination IP address in the header.";
reference reference
"RFC 6991 Common YANG Data Types"; "RFC 6991: Common YANG Data Types";
} }
leaf protocol-next-header { leaf protocol-next-header {
type uint8; type uint8;
description description
"In IPv4 refers to the protocol of the "In IPv4, this field refers to the protocol of the
payload. In IPv6, this field is known as 'next-header', payload. In IPv6, this field is known as
and identifies the type of header immediately following 'next-header'; it identifies the type of header
the IPv6 header."; immediately following the IPv6 header.";
reference reference
"RFC 791: Internet Protocol "RFC 791: Internet Protocol
RFC 8200: Internet Protocol, Version 6 (IPv6) RFC 8200: Internet Protocol, Version 6 (IPv6)
Specification."; Specification";
} }
leaf dscp { leaf dscp {
type inet:dscp; type inet:dscp;
description description
"The traffic class value in the header."; "The traffic class value in the header.";
reference reference
"RFC 6991 Common YANG Data Types"; "RFC 6991: Common YANG Data Types";
} }
leaf flow-label { leaf flow-label {
type inet:ipv6-flow-label; type inet:ipv6-flow-label;
description description
"The flow label value of the header. IPv6 only."; "The flow label value in the header. IPv6 only.";
reference reference
"RFC 6991 Common YANG Data Types"; "RFC 6991: Common YANG Data Types";
} }
leaf source-port { leaf source-port {
type inet:port-number; type inet:port-number;
description description
"The source port number."; "The source port number.";
reference reference
"RFC 6991 Common YANG Data Types"; "RFC 6991: Common YANG Data Types";
} }
leaf destination-port { leaf destination-port {
type inet:port-number; type inet:port-number;
description description
"The destination port number."; "The destination port number.";
reference reference
"RFC 6991 Common YANG Data Types"; "RFC 6991: Common YANG Data Types";
} }
} }
grouping l2-header { grouping l2-header {
description description
"The Ethernet or TSN packet header information."; "The Ethernet or Time-Sensitive Networking (TSN) packet
header information.";
leaf source-mac-address { leaf source-mac-address {
type yang:mac-address; type yang:mac-address;
description description
"The source MAC address value of the Ethernet header."; "The source Media Access Control (MAC) address value of
the Ethernet header.";
} }
leaf destination-mac-address { leaf destination-mac-address {
type yang:mac-address; type yang:mac-address;
description description
"The destination MAC address value of the Ethernet header."; "The destination MAC address value of the Ethernet
header.";
} }
leaf ethertype { leaf ethertype {
type ethertypes:ethertype; type ethertypes:ethertype;
description description
"The Ethernet packet type value of the Ethernet header."; "The Ethernet packet type value of the Ethernet header.";
} }
leaf vlan-id { leaf vlan-id {
type dot1q-types:vlanid; type dot1q-types:vlanid;
description description
"The VLAN value of the Ethernet header."; "The VLAN value of the Ethernet header.";
reference reference
"IEEE 802.1Q-2022."; "IEEE 802.1Q-2022: IEEE Standard for Local and
Metropolitan Area Networks--Bridges and Bridged
Networks";
} }
leaf pcp { leaf pcp {
type dot1q-types:priority-type; type dot1q-types:priority-type;
description description
"The priority value of the Ethernet header."; "The priority value of the Ethernet header.";
reference reference
"IEEE 802.1Q-2022."; "IEEE 802.1Q-2022: IEEE Standard for Local and
Metropolitan Area Networks--Bridges and Bridged
Networks";
} }
} }
grouping destination-ip-port-id { grouping destination-ip-port-id {
description description
"The TCP/UDP port destination identification "The TCP/UDP port destination identification information.";
information.";
container destination-port { container destination-port {
uses packet-fields:port-range-or-operator; uses packet-fields:port-range-or-operator;
description description
"This grouping captures the destination port fields."; "This grouping captures the destination port fields.";
} }
} }
grouping source-ip-port-id { grouping source-ip-port-id {
description description
"The TCP/UDP port source identification "The TCP/UDP port source identification information.";
information.";
container source-port { container source-port {
uses packet-fields:port-range-or-operator; uses packet-fields:port-range-or-operator;
description description
"This grouping captures the source port fields."; "This grouping captures the source port fields.";
} }
} }
grouping ip-flow-id { grouping ip-flow-id {
description description
"The IPv4/IPv6 packet header identification information."; "The IPv4/IPv6 packet header identification information.";
leaf src-ip-prefix { leaf src-ip-prefix {
type inet:ip-prefix; type inet:ip-prefix;
description description
"The source IP prefix."; "The source IP prefix.";
reference reference
"RFC 6991 Common YANG Data Types"; "RFC 6991: Common YANG Data Types";
} }
leaf dest-ip-prefix { leaf dest-ip-prefix {
type inet:ip-prefix; type inet:ip-prefix;
description description
"The destination IP prefix."; "The destination IP prefix.";
reference reference
"RFC 6991 Common YANG Data Types"; "RFC 6991: Common YANG Data Types";
} }
leaf protocol-next-header { leaf protocol-next-header {
type uint8; type uint8;
description description
"Internet Protocol number. Refers to the protocol of the "Internet Protocol number. Refers to the protocol of the
payload. In IPv6, this field is known as 'next-header', and payload. In IPv6, this field is known as 'next-header';
if extension headers are present, the protocol is present in if extension headers are present, the protocol is present
the 'upper-layer' header."; in the 'upper-layer' header.";
reference reference
"RFC 791: Internet Protocol "RFC 791: Internet Protocol
RFC 8200: Internet Protocol, Version 6 (IPv6) RFC 8200: Internet Protocol, Version 6 (IPv6)
Specification."; Specification";
} }
leaf dscp { leaf dscp {
type inet:dscp; type inet:dscp;
description description
"The traffic class value in the header."; "The traffic class value in the header.";
reference reference
"RFC 6991 Common YANG Data Types"; "RFC 6991: Common YANG Data Types";
} }
leaf flow-label { leaf flow-label {
type inet:ipv6-flow-label; type inet:ipv6-flow-label;
description description
"The flow label value of the header."; "The flow label value in the header. IPv6 only.";
reference reference
"RFC 6991 Common YANG Data Types"; "RFC 6991: Common YANG Data Types";
} }
uses source-ip-port-id; uses source-ip-port-id;
uses destination-ip-port-id; uses destination-ip-port-id;
leaf ipsec-spi { leaf ipsec-spi {
type ipsec-spi; type ipsec-spi;
description description
"IPsec Security Parameters Index of the Security "IPsec Security Parameters Index of the Security
Association."; Association.";
reference reference
"IETF RFC 4303 Encapsulating Security Payload (ESP)."; "RFC 4303: IP Encapsulating Security Payload (ESP)";
} }
} }
grouping mpls-flow-id { grouping mpls-flow-id {
description description
"The MPLS packet header identification information."; "The MPLS packet header identification information.";
choice label-space { choice label-space {
description description
"Designates the label space being used."; "Designates the label space being used.";
case context-label-space { case context-label-space {
uses rt-types:mpls-label-stack; uses rt-types:mpls-label-stack;
} }
case platform-label-space { case platform-label-space {
leaf label { leaf label {
type rt-types:mpls-label; type rt-types:mpls-label;
description description
"This is the case for Platform label space."; "This is the case for the platform label space.";
} }
} }
} }
} }
grouping data-flow-spec { grouping data-flow-spec {
description description
"app-flow identification."; "App-flow identification.";
choice data-flow-type { choice data-flow-type {
description description
"The Application flow type choices."; "The application flow type choices.";
container tsn-app-flow { container tsn-app-flow {
uses l2-header; uses l2-header;
description description
"The L2 header for application."; "The L2 header for the application.";
} }
container ip-app-flow { container ip-app-flow {
uses ip-flow-id; uses ip-flow-id;
description description
"The IP header for application."; "The IP header for the application.";
} }
container mpls-app-flow { container mpls-app-flow {
uses mpls-flow-id; uses mpls-flow-id;
description description
"The MPLS header for application."; "The MPLS header for the application.";
} }
} }
} }
grouping detnet-flow-spec { grouping detnet-flow-spec {
description description
"detnet-flow identification."; "DetNet flow identification.";
choice detnet-flow-type { choice detnet-flow-type {
description description
"The DetNet flow type choices."; "The DetNet flow type choices.";
case ip-detnet-flow { case ip-detnet-flow {
uses ip-flow-id; uses ip-flow-id;
} }
case mpls-detnet-flow { case mpls-detnet-flow {
uses mpls-flow-id; uses mpls-flow-id;
} }
} }
} }
grouping app-flows-group { grouping app-flows-group {
description description
"Incoming or outgoing app-flow reference group."; "Reference group for incoming or outgoing App-flows.";
leaf-list flow { leaf-list flow {
type app-flow-ref; type app-flow-ref;
description description
"List of ingress or egress app-flows."; "List of ingress or egress App-flows.";
} }
} }
grouping service-sub-layer-group { grouping service-sub-layer-group {
description description
"Incoming or outgoing service sub-layer reference group."; "Reference group for incoming or outgoing
service sub-layers.";
leaf-list sub-layer { leaf-list sub-layer {
type service-sub-layer-ref; type service-sub-layer-ref;
description description
"List of incoming or outgoing service sub-layers that have "List of incoming or outgoing service sub-layers that
to aggregate or disaggregate."; have to aggregate or disaggregate.";
} }
} }
grouping forwarding-sub-layer-group { grouping forwarding-sub-layer-group {
description description
"Incoming or outgoing forwarding sub-layer reference group."; "Reference group for incoming or outgoing
forwarding sub-layers.";
leaf-list sub-layer { leaf-list sub-layer {
type forwarding-sub-layer-ref; type forwarding-sub-layer-ref;
description description
"List of incoming or outgoing forwarding sub-layers that "List of incoming or outgoing forwarding sub-layers that
have to aggregate or disaggregate."; have to aggregate or disaggregate.";
} }
} }
grouping detnet-header { grouping detnet-header {
description description
"DetNet header info for DetNet encapsulation or swap."; "DetNet header information for DetNet encapsulation
or swap.";
choice header-type { choice header-type {
description description
"The choice of DetNet header type."; "The choice of DetNet header type.";
case mpls { case mpls {
description description
"MPLS label stack for DetNet MPLS encapsulation or "MPLS label stack for DetNet MPLS encapsulation or
forwarding."; forwarding.";
uses rt-types:mpls-label-stack; uses rt-types:mpls-label-stack;
} }
case ip { case ip {
description description
"IPv4/IPv6 packet header for DetNet IP encapsulation."; "IPv4/IPv6 packet header for DetNet IP encapsulation.";
uses ip-header; uses ip-header;
} }
} }
} }
grouping detnet-app-next-hop-content { grouping detnet-app-next-hop-content {
description description
"Generic parameters of DetNet next hops. This follows the "Generic parameters for DetNet next hops. These follow the
principles for next hops in RFC 8349"; principles for next hops as discussed in RFC 8349.";
reference
"RFC 8349: A YANG Data Model for Routing Management
(NMDA Version)";
choice next-hop-options { choice next-hop-options {
description description
"Options for next hops. It is expected that further cases "Options for next hops. It is expected that further
will be added through cases will be added through augments from other modules,
augments from other modules, e.g., for recursive e.g., for recursive next hops.";
next hops.";
case simple-next-hop { case simple-next-hop {
description description
"This case represents a simple next hop consisting of the "This case represents a simple next hop consisting of
next-hop address and/or outgoing interface."; the next-hop address and/or outgoing interface.";
leaf outgoing-interface { leaf outgoing-interface {
type if:interface-ref; type if:interface-ref;
description description
"The outgoing interface, when matching all flows to "The outgoing interface, when matching all flows to
the interface."; the interface.";
} }
choice flow-type { choice flow-type {
description description
"The flow type choices."; "The flow type choices.";
case ip { case ip {
leaf next-hop-address { leaf next-hop-address {
type inet:ip-address; type inet:ip-address;
description description
"The IP next hop case."; "The IP next-hop case.";
} }
} }
case mpls { case mpls {
uses rt-types:mpls-label-stack; uses rt-types:mpls-label-stack;
description description
"The MPLS label stack next hop case."; "The MPLS label stack next-hop case.";
} }
} }
} }
case next-hop-list { case next-hop-list {
description description
"Container for multiple next hops."; "Container for multiple next hops.";
list next-hop { list next-hop {
key "hop-index"; key "hop-index";
description description
"An entry in a next-hop list."; "An entry in a next-hop list.";
skipping to change at line 1184 skipping to change at line 1196
uses rt-types:mpls-label-stack; uses rt-types:mpls-label-stack;
} }
} }
} }
} }
} }
} }
grouping detnet-forwarding-next-hop-content { grouping detnet-forwarding-next-hop-content {
description description
"Generic parameters of DetNet next hops. This follows the "Generic parameters for DetNet next hops. These follow the
principles for next hops in RFC 8349"; principles for next hops as discussed in RFC 8349.";
reference
"RFC 8349: A YANG Data Model for Routing Management
(NMDA Version)";
choice next-hop-options { choice next-hop-options {
description description
"Options for next hops. "Options for next hops. It is expected that further
It is expected that further cases will be added through cases will be added through augments from other modules,
augments from other modules, e.g., for recursive e.g., for recursive next hops.";
next hops."; case simple-next-hop {
case simple-next-hop {
description description
"This case represents a simple next hop consisting of the "This case represents a simple next hop consisting of
next-hop address and/or outgoing interface."; the next-hop address and/or outgoing interface.";
leaf outgoing-interface { leaf outgoing-interface {
type if:interface-ref; type if:interface-ref;
description description
"The outgoing interface, when matching all flows to "The outgoing interface, when matching all flows to
the interface."; the interface.";
} }
choice flow-type { choice flow-type {
description description
"These are the flow type next hop choices."; "These are the flow type next-hop choices.";
case ip { case ip {
description description
"Use IP data plane for forwarding."; "Use the IP data plane for forwarding.";
leaf next-hop-address { leaf next-hop-address {
type inet:ip-address; type inet:ip-address;
description description
"This is an IP address as a next hop."; "This is an IP address as a next hop.";
} }
uses ip-header; uses ip-header;
} }
case mpls { case mpls {
description description
"Use MPLS data plane for forwarding."; "Use the MPLS data plane for forwarding.";
uses rt-types:mpls-label-stack; uses rt-types:mpls-label-stack;
} }
} }
} }
case next-hop-list { case next-hop-list {
description description
"Container for multiple next hops."; "Container for multiple next hops.";
list next-hop { list next-hop {
key "hop-index"; key "hop-index";
description description
"An entry in a next-hop list."; "An entry in a next-hop list.";
leaf hop-index { leaf hop-index {
type uint8; type uint8;
description description
"The value of the index for a hop."; "The value of the index for a next hop.";
} }
leaf outgoing-interface { leaf outgoing-interface {
type if:interface-ref; type if:interface-ref;
description description
"The outgoing interface, when matching all flows to "The outgoing interface, when matching all flows to
the interface."; the interface.";
} }
choice flow-type { choice flow-type {
description description
"These are the flow type next hop choices."; "These are the flow type next-hop choices.";
case ip { case ip {
description description
"Use IP data plane for forwarding."; "Use the IP data plane for forwarding.";
leaf next-hop-address { leaf next-hop-address {
type inet:ip-address; type inet:ip-address;
description description
"This is an IP address as a next hop."; "This is an IP address as a next hop.";
} }
uses ip-header; uses ip-header;
} }
case mpls { case mpls {
description description
"Use MPLS data plane for forwarding."; "Use the MPLS data plane for forwarding.";
uses rt-types:mpls-label-stack; uses rt-types:mpls-label-stack;
} }
} }
} }
} }
} }
} }
container detnet { container detnet {
description description
"The top level DetNet container. This contains "The top-level DetNet container. This contains
applications, service sub-layers and forwarding sub-layers applications, service sub-layers, and forwarding sub-layers
as well as the traffic profiles."; as well as the traffic profiles.";
list traffic-profile { list traffic-profile {
key "name"; key "name";
description description
"A traffic profile."; "A traffic profile.";
leaf name { leaf name {
type string; type string;
description description
"The name of the traffic profile which is used as a "The name of the traffic profile that is used as a
reference to this profile."; reference to this profile.";
} }
container traffic-requirements { container traffic-requirements {
description description
"This defines the attributes of the App-flow "This defines the attributes of the App-flow
regarding bandwidth, latency, latency variation, loss, and regarding bandwidth, latency, latency variation, loss,
misordering tolerance."; and misordering tolerance.";
reference reference
"RFC 9016 Section 5.9"; "RFC 9016: Flow and Service Information Model for
Deterministic Networking (DetNet), Section 5.9";
leaf min-bandwidth { leaf min-bandwidth {
type uint64; type uint64;
units 'octets per second'; units "octets per second";
description description
"This is the minimum bandwidth that has to be "This is the minimum bandwidth that has to be
guaranteed for the DetNet service. MinBandwidth is guaranteed for the DetNet service. MinBandwidth is
specified in octets per second."; specified in octets per second.";
reference reference
"RFC 9016 Section 5.9.1"; "RFC 9016: Flow and Service Information Model for
Deterministic Networking (DetNet), Section 5.9.1";
} }
leaf max-latency { leaf max-latency {
type uint32; type uint32;
units "nanoseconds"; units "nanoseconds";
description description
"This is the maximum latency from Ingress to "This is the maximum latency from the ingress to
Egress(es) for a single packet of the DetNet flow. one or more egresses for a single packet of the
MaxLatency is specified as an integer number of DetNet flow. MaxLatency is specified as an
nanoseconds. The MAX value is 4,294,967,295 integer number of nanoseconds. The maximum value
nanoseconds."; for this parameter is 4,294,967,295 nanoseconds.";
reference reference
"RFC 9016 Section 5.9.2"; "RFC 9016: Flow and Service Information Model for
Deterministic Networking (DetNet), Section 5.9.2";
} }
leaf max-latency-variation { leaf max-latency-variation {
type uint32; type uint32;
units "nanoseconds"; units "nanoseconds";
description description
"This is the difference between the "This is the difference between the
minimum and the maximum end-to-end one-way latency. minimum and maximum end-to-end one-way latency.
MaxLatencyVariation is specified as an integer number of MaxLatencyVariation is specified as an integer
nanoseconds."; number of nanoseconds.";
reference reference
"RFC 9016 Section 5.9.3"; "RFC 9016: Flow and Service Information Model for
Deterministic Networking (DetNet), Section 5.9.3";
} }
leaf max-loss { leaf max-loss {
type decimal64 { type decimal64 {
fraction-digits 10; fraction-digits 10;
range "0 .. 100"; range "0 .. 100";
} }
units "percent"; units "percent";
description description
"This defines the maximum Packet Loss Rate (PLR) "This defines the maximum Packet Loss Rate (PLR)
parameter for the DetNet service between the Ingress and parameter for the DetNet service between the ingress
Egress(es) of the DetNet domain. Packet loss rate is and one or more egresses of the DetNet domain. The
calculated by the number of transmitted packets minus PLR is calculated by the number of transmitted
the number of received packets divided by the number packets minus the number of received packets divided
transmitted packets expressed as a percent."; by the number of transmitted packets, expressed as a
percentage.";
reference reference
"RFC 9016 Section 5.9.4"; "RFC 9016: Flow and Service Information Model for
Deterministic Networking (DetNet), Section 5.9.4";
} }
leaf max-consecutive-loss-tolerance { leaf max-consecutive-loss-tolerance {
type uint32; type uint32;
units "packets"; units "packets";
description description
"Some applications have special loss requirement, such "Some applications have special loss requirements
as MaxConsecutiveLossTolerance. The maximum consecutive and use such parameters as
loss tolerance parameter describes the maximum number of MaxConsecutiveLossTolerance.
consecutive packets whose loss can be tolerated. The 'max-consecutive-loss-tolerance' describes the
maximum consecutive loss tolerance can be measured for maximum number of consecutive packets whose loss
example based on sequence number."; can be tolerated. The maximum consecutive loss
tolerance can be measured, for example, based on
sequence number.";
reference reference
"RFC 9016 Section 5.9.5"; "RFC 9016: Flow and Service Information Model for
Deterministic Networking (DetNet), Section 5.9.5";
} }
leaf max-misordering { leaf max-misordering {
type uint32; type uint32;
units "packets"; units "packets";
description description
"This describes the tolerable maximum number "This describes the maximum tolerable number of
of packets that can be received out of order. The packets that can be received out of order. The
maximum allowed misordering can be measured for example maximum allowed misordering can be measured, for
based on sequence number. The value zero for the example, based on sequence number. A value of '0'
maximum allowed misordering indicates that in order for the maximum allowed misordering indicates that
delivery is required, misordering cannot be tolerated."; in-order delivery is required and misordering cannot
be tolerated.";
reference reference
"RFC 9016 Section 5.9.6"; "RFC 9016: Flow and Service Information Model for
Deterministic Networking (DetNet), Section 5.9.6";
} }
} }
container traffic-spec { container traffic-spec {
description description
"Traffic-specification specifies how the Source transmits "'traffic-spec' specifies how the source transmits
packets for the flow. This is the promise/request of the packets for the flow. This is the promise/request of
Source to the network. The network uses this flow the source to the network. The network uses this flow
specification to allocate resources and adjust queue specification to allocate resources and adjust queue
parameters in network nodes."; parameters in network nodes.";
reference reference
"RFC 9016 Section 5.5"; "RFC 9016: Flow and Service Information Model for
Deterministic Networking (DetNet), Section 5.5";
leaf interval { leaf interval {
type uint32; type uint32;
units "nanoseconds"; units "nanoseconds";
description description
"The period of time in which the traffic "The period of time during which the traffic
specification should not be exceeded."; specification should not be exceeded.";
reference reference
"RFC 9016 Section 5.5, "RFC 9016: Flow and Service Information Model for
IEEE802.1Q"; Deterministic Networking (DetNet), Section 5.5
IEEE 802.1Q-2022: IEEE Standard for Local and
Metropolitan Area Networks--Bridges and Bridged
Networks";
} }
leaf max-pkts-per-interval { leaf max-pkts-per-interval {
type uint32; type uint32;
description description
"The maximum number of packets that the "The maximum number of packets that the
source will transmit in one interval."; source will transmit in one interval.";
reference reference
"RFC 9016 Section 5.5, IEEE802.1Q"; "RFC 9016: Flow and Service Information Model for
Deterministic Networking (DetNet), Section 5.5
IEEE 802.1Q-2022: IEEE Standard for Local and
Metropolitan Area Networks--Bridges and Bridged
Networks";
} }
leaf max-payload-size { leaf max-payload-size {
type uint32; type uint32;
description description
"The maximum payload size that the source "The maximum payload size that the source
will transmit."; will transmit.";
reference reference
"RFC 9016 Section 5.5, IEEE802.1Q"; "RFC 9016: Flow and Service Information Model for
Deterministic Networking (DetNet), Section 5.5
IEEE 802.1Q-2022: IEEE Standard for Local and
Metropolitan Area Networks--Bridges and Bridged
Networks";
} }
leaf min-payload-size { leaf min-payload-size {
type uint32; type uint32;
description description
"The minimum payload size that the source "The minimum payload size that the source
will transmit., IEEE802.1Q"; will transmit.";
reference
"RFC 9016: Flow and Service Information Model for
Deterministic Networking (DetNet), Section 5.5
IEEE 802.1Q-2022: IEEE Standard for Local and
Metropolitan Area Networks--Bridges and Bridged
Networks";
} }
leaf min-pkts-per-interval { leaf min-pkts-per-interval {
type uint32; type uint32;
description description
"The minimum number of packets that the "The minimum number of packets that the
source will transmit in one interval."; source will transmit in one interval.";
reference reference
"RFC 9016 Section 5.5, IEEE802.1Q"; "RFC 9016: Flow and Service Information Model for
Deterministic Networking (DetNet), Section 5.5
IEEE 802.1Q-2022: IEEE Standard for Local and
Metropolitan Area Networks--Bridges and Bridged
Networks";
} }
} }
leaf-list member-app-flow { leaf-list member-app-flow {
type app-flow-ref; type app-flow-ref;
config false; config false;
description description
"A list of Applications attached to this profile. Each "A list of applications attached to this profile. Each
application that uses a profile has an automatically application that uses a profile has an automatically
populated reference."; populated reference.";
reference reference
"RFC XXXX: Deterministic Networking (DetNet) YANG Model "RFC 9633: Deterministic Networking (DetNet) YANG Data
Section 5"; Model, Section 6";
} }
leaf-list member-svc-sublayer { leaf-list member-svc-sublayer {
type service-sub-layer-ref; type service-sub-layer-ref;
config false; config false;
description description
"A list of Service Sub-layers attached to this profile. "A list of service sub-layers attached to this profile.
Each Service Sub-layers that uses a profile has an Each service sub-layer that uses a profile has an
automatically populated reference."; automatically populated reference.";
reference reference
"RFC XXXX: Deterministic Networking (DetNet) YANG Model "RFC 9633: Deterministic Networking (DetNet) YANG Data
Section 5"; Model, Section 6";
} }
leaf-list member-fwd-sublayer { leaf-list member-fwd-sublayer {
type forwarding-sub-layer-ref; type forwarding-sub-layer-ref;
config false; config false;
description description
"A list of Forwarding Sub-layers attached to this profile. "A list of forwarding sub-layers attached to this profile.
Each Forwarding Sub-layers that uses a profile has an Each forwarding sub-layer that uses a profile has an
automatically populated reference."; automatically populated reference.";
reference reference
"RFC XXXX: Deterministic Networking (DetNet) YANG Model "RFC 9633: Deterministic Networking (DetNet) YANG Data
Section 5"; Model, Section 6";
} }
} }
container app-flows { container app-flows {
description description
"The DetNet app-flow configuration."; "Configuration information for DetNet App-flows.";
reference reference
"RFC 9016 Section 4.1"; "RFC 9016: Flow and Service Information Model for
Deterministic Networking (DetNet), Section 4.1";
list app-flow { list app-flow {
key "name"; key "name";
description description
"A unique (management) identifier of the App-flow."; "A unique (management) identifier of the App-flow.";
leaf name { leaf name {
type string; type string;
description description
"A unique (management) identifier of the App-flow."; "A unique (management) identifier of the App-flow.";
reference reference
"RFC 9016 "RFC 9016: Flow and Service Information Model for
Sections 4.1, 5.1"; Deterministic Networking (DetNet), Sections 4.1
and 5.1";
} }
leaf bidir-congruent { leaf bidir-congruent {
type boolean; type boolean;
default false; default "false";
description description
"Defines the data path requirement of the App-flow "Defines the data path requirement of the App-flow -
whether it must share the same data path and physical whether it must share the same data path and physical
path for both directions through the network, e.g., to path for both directions through the network, e.g.,
provide congruent paths in the two directions."; to provide congruent paths in the two directions.";
reference reference
"RFC 9016 "RFC 9016: Flow and Service Information Model for
Section 4.2"; Deterministic Networking (DetNet), Section 4.2";
} }
leaf outgoing-service { leaf outgoing-service {
type service-sub-layer-ref; type service-sub-layer-ref;
config false; config false;
description description
"Binding to this applications outgoing "Binding to this application's outgoing service.";
service.";
} }
leaf incoming-service { leaf incoming-service {
type service-sub-layer-ref; type service-sub-layer-ref;
config false; config false;
description description
"Binding to this applications incoming service."; "Binding to this application's incoming service.";
} }
leaf traffic-profile { leaf traffic-profile {
type traffic-profile-ref; type traffic-profile-ref;
description description
"The Traffic Profile for this group."; "The traffic profile for this group.";
} }
container ingress { container ingress {
description description
"Ingress DetNet application flows or a compound flow."; "Ingress DetNet application flows or a
compound flow.";
leaf app-flow-status { leaf app-flow-status {
type identityref { type identityref {
base app-status; base app-status;
} }
default none; default "none";
config false; config false;
description description
"Status of ingress application flow. This is an "Status of an ingress application flow. This is an
operational status and defaults to none if operational status and defaults to 'none' if
incomplete."; incomplete.";
reference reference
"RFC 9016 Sections "RFC 9016: Flow and Service Information Model for
4.1, 5.8"; Deterministic Networking (DetNet), Sections 4.1
and 5.8";
} }
leaf-list interface { leaf-list interface {
type if:interface-ref; type if:interface-ref;
description description
"Interface is optional for a service type. When "An interface is optional for a service type.
matching a flow to a single interface one When matching a flow to a single interface,
interface is specified. The list allows for one interface is specified. This list allows
matching a subset of interfaces. When more the matching of a subset of interfaces.
than one interfaces is specified, these When more than one interface is specified, these
flows are simply aggregated and the service flows are simply aggregated, and the service
sub-layer is unaware of the aggregation."; sub-layer is unaware of the aggregation.";
} }
uses data-flow-spec; uses data-flow-spec;
} //End of app-ingress }
container egress { container egress {
description description
"Egress DetNet application flows or a compound flow."; "Egress DetNet application flows or a compound flow.";
uses data-flow-spec; uses data-flow-spec;
choice application-type { choice application-type {
description description
"This is the application type choices."; "The application type choices.";
container ethernet { container ethernet {
description description
"This is Ethernet or TSN traffic that maps to an "Ethernet or TSN traffic that maps to an
interface."; interface.";
leaf-list interface { leaf-list interface {
type if:interface-ref; type if:interface-ref;
description description
"This is one or more Ethernet or TSN interfaces. "One or more Ethernet or TSN interfaces.
If multiple interfaces are specified, this If multiple interfaces are specified, this
application flow is replicated to those application flow is replicated to those
interfaces. DetNet application Flow filtering interfaces. DetNet application flow filtering
applies to the whole list of interfaces. applies to the whole list of interfaces.
For fine grain flow filtering, use a single For fine-grained flow filtering, use a single
interface per application."; interface per application.";
} }
} }
container ip-mpls { container ip-mpls {
description description
"This is IP or MPLS DetNet application types."; "IP or MPLS DetNet application types.";
uses detnet-app-next-hop-content; uses detnet-app-next-hop-content;
} }
} }
} }
} }
} }
container service { container service {
description description
"The DetNet service sub-layer configuration."; "The DetNet service sub-layer configuration.";
list sub-layer { list sub-layer {
key "name"; key "name";
description description
"Services are indexed by name."; "Services are indexed by name.";
leaf name { leaf name {
type string; type string;
description description
"The name of the DetNet service sub-layer."; "The name of the DetNet service sub-layer.";
} }
leaf service-rank { leaf service-rank {
type uint8; type uint8;
default 255; default "255";
description description
"The DetNet rank for this service. Defaults to 255 "The DetNet rank for this service. Defaults to '255'
lowest rank if not specified."; (lowest rank) if not specified.";
reference reference
"RFC 9016 Section 5.7."; "RFC 9016: Flow and Service Information Model for
Deterministic Networking (DetNet), Section 5.7";
} }
leaf traffic-profile { leaf traffic-profile {
type traffic-profile-ref; type traffic-profile-ref;
description description
"The Traffic Profile for this service."; "The traffic profile for this service.";
} }
container service-protection { container service-protection {
description description
"This is the service protection type and sequence number "The service protection type and sequence number
options."; options.";
leaf protection { leaf protection {
type service-protection; type service-protection;
description description
"The DetNet service protection type such as "The DetNet service protection type, such as
Packet Replication Function (PRF), the Packet Replication Function (PRF), the
Packet Elimination Function (PEF), Packet Elimination Function (PEF), or the
Packet Replication, Elimination, and Ordering Functions Packet Replication, Elimination, and Ordering
(PREOF)."; Functions (PREOF).";
reference reference
"RFC 8938 Section 4.3"; "RFC 8938: Deterministic Networking (DetNet)
Data Plane Framework, Section 4.3";
} }
leaf sequence-number-length { leaf sequence-number-length {
type sequence-number-field; type sequence-number-field;
default zero-sn; default "zero-sn";
description description
"Sequence number field length can be one of 0 (none), "The sequence number field length can be one of
16-bits or 28-bits. The default is none."; 0 (none), 16 bits, or 28 bits. The default is
0 (none).";
} }
} }
leaf operation { leaf operation {
type operation; type operation;
description description
"This is the service operation type for this service "This is the service operation type for this service
sub-layer;"; sub-layer.";
} }
container incoming { container incoming {
description description
"The DetNet service sub-layer incoming configuration."; "The DetNet service sub-layer incoming configuration.";
choice incoming { choice incoming {
description description
"A service sub-layer may have App flows or other "A service sub-layer may have App-flows or other
service sub-layers."; service sub-layers.";
container app-flow { container app-flow {
description description
"This service sub-layer is related to the app-flows "This service sub-layer is related to the
of the upper layer and provide ingress proxy or App-flow of the upper layer and provides an
ingress aggregation at the ingress node."; ingress proxy or ingress aggregation at the
ingress node.";
uses app-flows-group; uses app-flows-group;
} }
container service-aggregation { container service-aggregation {
description description
"This service sub-layer is related to the service "This service sub-layer is related to the service
sub-layer of the upper layer and provide sub-layer of the upper layer and provides
service-to-service aggregation at the ingress node service-to-service aggregation at the
or relay node."; ingress node or relay node.";
uses service-sub-layer-group; uses service-sub-layer-group;
} }
container forwarding-aggregation { container forwarding-aggregation {
description description
"This service sub-layer is related to the forwarding "This service sub-layer is related to the
sub-layer of the upper layer and provide forwarding sub-layer of the upper layer and
forwarding-to-service aggregation at the ingress provides forwarding-to-service aggregation at
node or relay node."; the ingress node or relay node.";
uses forwarding-sub-layer-group; uses forwarding-sub-layer-group;
} }
container service-id { container service-id {
description description
"This service sub-layer is related to the service or "This service sub-layer is related to the service
forwarding sub-layer of the lower layer and provide or forwarding sub-layer of the lower layer and
DetNet service relay or termination at the relay provides DetNet service relay or termination at
node or egress node."; the relay node or egress node.";
uses detnet-flow-spec; uses detnet-flow-spec;
} }
container forwarding-sub-layer { container forwarding-sub-layer {
description description
"This entry specifies one or more forwarding "This entry specifies one or more forwarding
sub-layers. No or minimal service sub-layer sub-layers. No or minimal service sub-layer
encapsulation is allowed."; encapsulation is allowed.";
leaf-list sub-layer { leaf-list sub-layer {
type forwarding-sub-layer-ref; type forwarding-sub-layer-ref;
config false; config false;
description description
"List of outgoing forwarding sub-layers."; "List of outgoing forwarding sub-layers.";
} }
} }
} }
} }
container outgoing { container outgoing {
description description
"The DetNet service sub-layer outgoing configuration."; "The DetNet service sub-layer outgoing
configuration.";
choice outgoing { choice outgoing {
description description
"The outgoing type may be a forwarding Sub-layer or a "The outgoing type may be a forwarding sub-layer, a
service sub-layer or aggregation type."; service sub-layer, or an aggregation type.";
container forwarding-sub-layer { container forwarding-sub-layer {
description description
"This service sub-layer is sending to the forwarding "This service sub-layer is sending to the
sub-layers of the lower layer for DetNet service forwarding sub-layer of the lower layer
forwarding or service-to-forwarding aggregation at for DetNet service forwarding or
the ingress node or relay node. When the operation service-to-forwarding aggregation at the
type is service-initiation, The service sub-layer ingress node or relay node. When the
encapsulates the DetNet Control-Word and services operation type is 'initiation', the
label, which are for individual DetNet flow when the service sub-layer encapsulates the DetNet
incoming type is app-flow and for aggregated DetNet Control Word (d-CW) and S-Label, which are for
flow when the incoming type is service or individual DetNet flows when the incoming type
forwarding. The service sub-layer swaps the service is 'app-flow' and for an aggregated DetNet flow
label when the operation type is service-relay."; when the incoming type is 'service' or
'forwarding'. The service sub-layer swaps the
service label when the operation type is
'relay'.";
reference reference
"RFC 8964 Section 4.2.1 and 4.2.2."; "RFC 8964: Deterministic Networking (DetNet)
Data Plane: MPLS, Sections 4.2.1 and 4.2.2";
list service-outgoing { list service-outgoing {
key "index"; key "index";
description description
"List of the outgoing service "List of outgoing service sub-layers aggregated
that separately for each node in the forwarding sub-layer.";
where services will be eliminated.";
leaf index { leaf index {
type uint8; type uint8;
description description
"This index allows a list of multiple outgoing "This index allows a list of multiple outgoing
forwarding sub-layers"; forwarding sub-layers.";
} }
uses detnet-header; uses detnet-header;
uses forwarding-sub-layer-group; uses forwarding-sub-layer-group;
} }
} }
container service-sub-layer { container service-sub-layer {
description description
"This service sub-layer is sending to the service "This service sub-layer is sending to the
sub-layers of the lower layer for service-to-service service sub-layer of the lower layer for
aggregation at the ingress node or relay node. The service-to-service aggregation at the
service sub-layer encapsulates the DetNet ingress node or relay node. The service
Control-Word and S-label when the operation type is sub-layer encapsulates the d-CW and S-Label when
service-initiation, and swaps the S-label when the the operation type is 'initiation' and
operation type is service-relay."; swaps the S-Label when the operation type is
'relay'.";
reference reference
"RFC 8964 Section 4.2.1 and 4.2.2."; "RFC 8964: Deterministic Networking (DetNet)
Data Plane: MPLS, Sections 4.2.1 and 4.2.2";
leaf aggregation-sub-layer { leaf aggregation-sub-layer {
type service-sub-layer-ref; type service-sub-layer-ref;
description description
"reference point of the service-sub-layer "Reference point of the service-sub-layer
at which this service will be aggregated."; at which this service will be aggregated.";
} }
container service-label { container service-label {
description description
"This is the MPLS service sub-layer label. This "This is the MPLS service sub-layer label. This
is optional and only used when the service is optional and is only used when the service
sub-layer uses MPLS. It is an MPLS stack since sub-layer uses MPLS. It is an MPLS stack,
more than a single label may be used."; since more than a single label may be used.";
uses rt-types:mpls-label-stack; uses rt-types:mpls-label-stack;
} }
} }
container app-flow { container app-flow {
description description
"This service sub-layer is sending to the app-flow of "This service sub-layer is sending to the
the upper layer for egress proxy at the egress node, App-flow of the upper layer for the
and decapsulates the DetNet Control-Word and S-label egress proxy at the egress node. It then
for individual DetNet service. This outgoing type decapsulates the d-CW and S-Label for an
only can be chosen when the operation type is individual DetNet service. This outgoing type
service-termination."; can only be chosen when the operation type is
'termination'.";
reference reference
"RFC 8964 Section 4.2.1 and 4.2.2."; "RFC 8964: Deterministic Networking (DetNet)
Data Plane: MPLS, Sections 4.2.1 and 4.2.2";
uses app-flows-group; uses app-flows-group;
} }
container service-disaggregation { container service-disaggregation {
description description
"This service sub-layer is sending to the service "This service sub-layer is sending to the
sub-layer of the upper layer for service-to-service service sub-layer of the upper layer for
disaggregation at the relay node or egress node, and service-to-service disaggregation at the
decapsulates the DetNet Control-Word and A-label for relay node or egress node. It then
aggregated DetNet service. This outgoing type only decapsulates the d-CW and A-Label for an
can be chosen when the operation type is aggregated DetNet service. This outgoing type
service-termination."; can only be chosen when the operation type is
'termination'.";
reference reference
"RFC 8964 Section 4.2.1 and 4.2.2."; "RFC 8964: Deterministic Networking (DetNet)
Data Plane: MPLS, Sections 3.1 and 4.4.2";
uses service-sub-layer-group; uses service-sub-layer-group;
} }
container forwarding-disaggregation { container forwarding-disaggregation {
description description
"This service sub-layer is sending to the forwarding "This service sub-layer is sending to the
sub-layer of the upper layer for forwarding sub-layer of the upper layer for
forwarding-to-service disaggregation at the relay forwarding-to-service disaggregation at the
node or egress node, and decapsulates the DetNet relay node or egress node. It then
Control-Word and A-label for aggregated DetNet decapsulates the d-CW and A-Label for an
service. This outgoing type only can be chosen when aggregated DetNet service. This outgoing type
the operation type is service-termination."; can only be chosen when the operation type is
'termination'.";
reference reference
"RFC 8964 Section 4.2.1 and 4.2.2."; "RFC 8964: Deterministic Networking (DetNet)
Data Plane: MPLS, Sections 3.1 and 4.4.2";
uses forwarding-sub-layer-group; uses forwarding-sub-layer-group;
} }
} }
} }
} }
} }
container forwarding { container forwarding {
description description
"The DetNet forwarding sub-layer configuration."; "The DetNet forwarding sub-layer configuration.";
list sub-layer { list sub-layer {
key "name"; key "name";
description description
"The list is one or more DetNet service/forwarding types."; "List of one or more DetNet service/forwarding
types.";
leaf name { leaf name {
type string; type string;
description description
"The name of the DetNet forwarding sub-layer."; "The name of the DetNet forwarding sub-layer.";
} }
leaf traffic-profile { leaf traffic-profile {
type traffic-profile-ref; type traffic-profile-ref;
description description
"The Traffic Profile for this group."; "The traffic profile for this group.";
} }
leaf operation { leaf operation {
type mpls-fwd-operation; type mpls-fwd-operation;
description description
"This is the forwarding operation types "The forwarding operation types
impose-and-forward, pop-and-forward, 'impose-and-forward', 'pop-and-forward',
pop-impose-and-forward, forward, pop-and-lookup."; 'pop-impose-and-forward', 'forward', and
'pop-and-lookup'.";
} }
container incoming { container incoming {
description description
"The DetNet forwarding sub-layer incoming "The DetNet forwarding sub-layer incoming
configuration."; configuration.";
choice incoming { choice incoming {
description description
"Cases of incoming types."; "Choices of incoming types.";
container service-sub-layer { container service-sub-layer {
description description
"This forwarding sub-layer is related to the service "This forwarding sub-layer is related to the
sub-layers of the upper layer and provide DetNet service sub-layer of the upper layer and
forwarding or service-to-forwarding aggregation at provides DetNet forwarding or
service-to-forwarding aggregation at
the ingress node or relay node."; the ingress node or relay node.";
uses service-sub-layer-group; uses service-sub-layer-group;
} }
container forwarding-aggregation { container forwarding-aggregation {
description description
"This forwarding sub-layer is related to the "This forwarding sub-layer is related to the
forwarding sub-layer of the upper layer and provide forwarding sub-layer of the upper layer and
forwarding-to-forwarding aggregation at the ingress provides forwarding-to-forwarding aggregation at
node or relay node or transit node."; the ingress node, relay node, or transit node.";
uses forwarding-sub-layer-group; uses forwarding-sub-layer-group;
} }
container forwarding-id { container forwarding-id {
description description
"This forwarding sub-layer is related to all of the "This forwarding sub-layer is related to all of
lower layer and provide DetNet forwarding swap or the lower layers and provides DetNet forwarding
termination at the transit node or relay node or swap or termination at the transit node,
egress node."; relay node, or egress node.";
leaf interface { leaf interface {
type if:interface-ref; type if:interface-ref;
description description
"This is the interface associated with the "This is the interface associated with the
forwarding sub-layer."; forwarding sub-layer.";
} }
uses detnet-flow-spec; uses detnet-flow-spec;
} }
} }
} }
container outgoing { container outgoing {
description description
"The DetNet forwarding sub-layer outbound "The DetNet forwarding sub-layer outbound
configuration."; configuration.";
choice outgoing { choice outgoing {
description description
"This is when a service connected directly to an "A service is connected directly to an
interface with no forwarding sub-layer."; interface with no forwarding sub-layer.";
container container interface {
interface {
description description
"This forwarding sub-layer is sending to the "This forwarding sub-layer is sending to the
interface for send to next-hop at the ingress interface, for sending to the next hop at the
node or relay node or transit node."; ingress node, relay node, or transit node.";
uses detnet-forwarding-next-hop-content; uses detnet-forwarding-next-hop-content;
} }
container service-aggregation { container service-aggregation {
description description
"This forwarding sub-layer is sending to the service "This forwarding sub-layer is sending to the service
sub-layers of the lower layer for sub-layers of the lower layer for
forwarding-to-service aggregation at the ingress forwarding-to-service aggregation at the ingress
node or relay node."; node or relay node.";
leaf aggregation-sub-layer { leaf aggregation-sub-layer {
type service-sub-layer-ref; type service-sub-layer-ref;
skipping to change at line 1868 skipping to change at line 1936
container optional-forwarding-label { container optional-forwarding-label {
description description
"This is the optional forwarding label for service "This is the optional forwarding label for service
aggregation."; aggregation.";
uses rt-types:mpls-label-stack; uses rt-types:mpls-label-stack;
} }
} }
container forwarding-sub-layer { container forwarding-sub-layer {
description description
"This forwarding sub-layer is sending to the "This forwarding sub-layer is sending to the
forwarding sub-layers of the lower layer for forwarding sub-layer of the lower layer for
forwarding-to-forwarding aggregation at the ingress forwarding-to-forwarding aggregation at the ingress
node or relay node or transit node."; node, relay node, or transit node.";
leaf aggregation-sub-layer { leaf aggregation-sub-layer {
type forwarding-sub-layer-ref; type forwarding-sub-layer-ref;
description description
"This is a reference to the forwarding sub-layer."; "This is a reference to the forwarding sub-layer.";
} }
container forwarding-label { container forwarding-label {
description description
"This is the forwarding label for forwarding "This is the forwarding label for forwarding
sub-layer aggregation."; sub-layer aggregation.";
uses rt-types:mpls-label-stack; uses rt-types:mpls-label-stack;
} }
} }
container service-sub-layer { container service-sub-layer {
description description
"This forwarding sub-layer is sending to the service "This forwarding sub-layer is sending to the
sub-layer of the upper layer and decapsulate the service sub-layer of the upper layer. It then
F-label for DetNet service or service-to-forwarding decapsulates the F-Label for DetNet service or
disaggregation at the relay node or egress node. service-to-forwarding disaggregation at the
This outgoing type only can be chosen when the relay node or egress node. This outgoing type
operation type is pop-and-lookup."; can only be chosen when the operation type is
'pop-and-lookup'.";
uses service-sub-layer-group; uses service-sub-layer-group;
reference reference
"RFC 8964 Section 4.2.3"; "RFC 8964: Deterministic Networking (DetNet)
Data Plane: MPLS, Section 4.2.3";
} }
container forwarding-disaggregation { container forwarding-disaggregation {
description description
"This forwarding sub-layer is sending to the "This forwarding sub-layer is sending to the
forwarding sub-layer of the upper layer and forwarding sub-layer of the upper layer. It
decapsulate the F-label for forwarding-to-forwarding then decapsulates the F-Label for
disaggregation at the transit node or relay node or forwarding-to-forwarding disaggregation at the
egress node. This outgoing type only can be chosen transit node, relay node, or egress node.
when the operation type is pop-and-lookup."; This outgoing type can only be chosen when the
operation type is 'pop-and-lookup'.";
uses forwarding-sub-layer-group; uses forwarding-sub-layer-group;
} }
} }
} }
} }
} }
} }
} }
]]></sourcecode> ]]></sourcecode>
</section> </section>
<section anchor="IANA" toc="include" numbered="true" removeInRFC="false"> <section anchor="IANA" toc="include" numbered="true" removeInRFC="false">
<name>IANA Considerations</name> <name>IANA Considerations</name>
<t>This document registers a URI in the "IETF XML Registry" <t>IANA has registered the following URI in the "ns" subregistry within th
<xref target="RFC3688"/>. Following the format in <xref target="RFC3688"/>, e "IETF XML Registry" <xref target="RFC3688"/>:
the following registration is requested to be made:
</t> </t>
<dl newline="false" spacing="compact" indent="3"> <dl newline="false" spacing="compact">
<dt>ID:</dt>
<dd>yang:ietf-detnet</dd>
<dt>URI:</dt> <dt>URI:</dt>
<dd>urn:ietf:params:xml:ns:yang:ietf-detnet</dd> <dd>urn:ietf:params:xml:ns:yang:ietf-detnet</dd>
<dt>Registrant Contact:</dt> <dt>Registrant Contact:</dt>
<dd>The IESG.</dd> <dd>The IESG.</dd>
<dt>XML:</dt> <dt>XML:</dt>
<dd>N/A, the requested URI is an XML namespace.</dd> <dd>N/A; the requested URI is an XML namespace.</dd>
</dl> </dl>
<t>This document registers YANG modules in the "YANG Module Names" <t>IANA has registered the following YANG module in the "YANG Module Names
registry <xref target="RFC6020" format="default" sectionFormat="of" derive "
dContent="RFC6020"/>. subregistry <xref target="RFC6020" format="default"/> within the "YANG Par
ameters" registry:
</t> </t>
<dl newline="false" spacing="compact" indent="3"> <dl newline="false" spacing="compact">
<dt>Name:</dt> <dt>Name:</dt>
<dd>ietf-detnet</dd> <dd>ietf-detnet</dd>
<dt>Maintained by IANA:</dt> <dt>Maintained by IANA:</dt>
<dd>N</dd> <dd>N</dd>
<dt>Namespace:</dt> <dt>Namespace:</dt>
<dd>urn:ietf:params:xml:ns:yang:ietf-detnet</dd> <dd>urn:ietf:params:xml:ns:yang:ietf-detnet</dd>
<dt>Prefix:</dt> <dt>Prefix:</dt>
<dd>dnet</dd> <dd>dnet</dd>
<dt>Reference:</dt> <dt>Reference:</dt>
<dd>This RFC when published.</dd> <dd>RFC 9633</dd>
</dl> </dl>
</section> </section>
<section anchor="Security" numbered="true" toc="default"> <section anchor="Security" numbered="true" toc="default">
<name>Security Considerations</name> <name>Security Considerations</name>
<t> <t>
Security considerations for DetNet are covered in the DetNet Architecture Security considerations for DetNet are covered in "<xref target="RFC8655"
<xref target="RFC8655"/> and DetNet Security Considerations <xref target=" format="title"/>" <xref target="RFC8655" format="default"/>
RFC9055"/> . and "<xref target="RFC9055" format="title"/>" <xref target="RFC9055" form
</t> at="default"/>.
<t>The YANG modules specified in this document define a schema for
data that is designed to be accessed via network
management protocols, such as NETCONF <xref target="RFC6241"/> or
RESTCONF <xref target="RFC8040"/>. The lowest NETCONF layer is the secure
transport
layer, and the mandatory-to-implement secure transport is Secure Shell (S
SH)
<xref target="RFC6242"/>. The lowest RESTCONF layer is HTTPS, and the
mandatory-to-implement secure transport is TLS <xref target="RFC8446"/>.
</t> </t>
<t>The Network Configuration Access Control Model (NACM) <xref target="RFC <!-- YANG security cons. boilerplate paragraph 1 -->
8341"/> <t>The YANG module specified in this document defines a schema for data
provides the that is designed to be accessed via network management protocols such
means to restrict access for particular NETCONF or RESTCONF users to a as NETCONF <xref target="RFC6241"/> or RESTCONF <xref target="RFC8040"/>.
preconfigured subset of all available NETCONF or RESTCONF protocol The lowest NETCONF layer is the secure transport layer, and the
mandatory-to-implement secure transport is Secure Shell (SSH)
<xref target="RFC6242"/>. The lowest RESTCONF layer is HTTPS, and the
mandatory-to-implement secure transport is TLS <xref target="RFC8446"/>.</
t>
<!-- YANG security cons. boilerplate paragraph 2 -->
<t>The Network Configuration Access Control Model (NACM) <xref targe
t="RFC8341"/>
provides the means to restrict access for particular NETCONF or RESTCONF u
sers
to a preconfigured subset of all available NETCONF or RESTCONF protocol
operations and content.</t> operations and content.</t>
<t>There are a number of data nodes defined in the module <!-- YANG security cons. boilerplate paragraph 3 -->
that are writable/creatable/deletable (i.e., config true, which is the def <t>There are a number of data nodes defined in this YANG module that are
ault). writable/creatable/deletable (i.e., config true, which is the default). Th
These data nodes may be considered sensitive or vulnerable in some network ese
environments. data nodes may be considered sensitive or vulnerable in some network
environments. Write operations (e.g., edit-config) to these data nodes wit
hout
proper protection can have a negative effect on network operations.
Unauthorized write operations (e.g., edit-config) to any elements of this Unauthorized write operations (e.g., edit-config) to any elements of this
module can break or incorrectly connect DetNet flows. Since DetNet is a module can break or incorrectly connect DetNet flows. Since DetNet is a
configured Data Plane, any changes that are not coordinated with all devic configured data plane, any changes that are not coordinated with all devic
es es
along the path will create a denial of service. along the path will result in a denial of service.
In addition, arbitrary write operations could also enable an attacker to m In addition, arbitrary write operations could enable an attacker to modify
odify
a network path to enable select traffic to avoid inspection or treatment b y a network path to enable select traffic to avoid inspection or treatment b y
security controls, or route traffic in a way that it would be subject to security controls or to route traffic in such a way that the traffic would
inspect/modification by an adversary node. be subject to
</t> inspection/modification by an adversary node.</t>
<t>
Similarly, the data nodes in these YANG modules may be <!-- YANG security cons. boilerplate paragraph 4 -->
considered sensitive or vulnerable in some network environments. It <t>Some of the readable data nodes in this YANG module may be considered
is thus important to control read access (e.g., via get, get-config, sensitive or vulnerable in some network environments. It is thus important
or notification) to these data nodes. These are the subtrees and data node to
and their sensitivity/vulnerability: control read access (e.g., via get, get-config, or notification) to these
</t> data
<t> nodes. These are the subtrees and data nodes and their
/detnet/app-flows: This controls the application details so it could be c sensitivity/vulnerability:</t>
onsidered sensitive. <dl newline="false" spacing="normal">
</t> <dt>/detnet/app-flows:</dt><dd>This controls the application details, so i
<t> t could be considered sensitive.</dd>
/detnet/traffic-profile/member-app-flow: This links traffic profiles to ap <dt>/detnet/traffic-profile/member-app-flow:</dt><dd>This links traffic pr
plications, ofiles to applications,
service sub-layers and/or and forwarding sub-layers so service sub-layers, and/or forwarding sub-layers, so
this also could be considered more sensitive. this could also be considered more sensitive.</dd>
</t> <dt>/detnet/service/sub-layer/incoming/app-flow:</dt><dd>This links applic
<t> ations to services.</dd>
/detnet/service/sub-layer/incoming/app-flow: This links applications to se <dt>/detnet/service/sub-layer/outgoing/app-flow:</dt><dd>This links applic
rvices. ations to services.</dd>
</t> </dl>
<t> <t>The above nodes can reveal identifiable characteristics of the applicat
/detnet/service/sub-layer/outgoing/app-flow: This links applications to se ion flows.
rvices.
</t>
<t>
The above nodes can reveal identifiable characteristics of the application
flows.
</t>
<t>/detnet/service/sub-layer: This defines the service and forwarding oper
ations.
</t>
<t>/detnet/fowarding/sub-layer: This defines the forwarding operations.
</t> </t>
<dl newline="false" spacing="normal">
<dt>/detnet/service/sub-layer:</dt><dd>This defines the service and forwar
ding operations.</dd>
<dt>/detnet/forwarding/sub-layer:</dt><dd>This defines the forwarding oper
ations.</dd>
</dl>
<t> <t>
The above nodes can reveal some aspects of the network topology of there i s unauthorized access to this configuration. The above nodes can reveal some aspects of the network topology in the cas e of unauthorized access to this configuration.
</t> </t>
</section> </section>
<section anchor="Contributors" numbered="true" toc="default">
<name>Contributors</name>
<t>The editors of this document wish to thank and acknowledge
the following people who contributed substantially to the content
of this document and should be considered coauthors:
</t>
<contact fullname="Mach(Guoyi) Chen" initials="M." surname="Chen">
<organization>Huawei Technologies</organization>
<address>
<postal>
<street/>
<city/>
<code/>
<country/>
</postal>
<email>mach.chen@huawei.com</email>
</address>
</contact>
</section>
<section anchor="Acknowledgments" numbered="true" toc="default">
<name>Acknowledgments</name>
<t> The editors of this document would like to thank Lou Berger, Tom Petc
h
Xufeng Lui, Julien Meuric, John Scudder` and Florian Kauer for thei
r detailed comments.
</t>
</section>
</middle> </middle>
<back> <back>
<references> <references>
<name>References</name> <name>References</name>
<references> <references>
<name>Normative References</name> <name>Normative References</name>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6 991.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6 991.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6 020.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6 020.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 950.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 950.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 655.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 655.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.0 791.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.0 791.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4 303.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4 303.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6
241.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6
242.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
040.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 200.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 200.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 294.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 294.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 341.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 343.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 343.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 349.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 349.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 446.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 446.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 519.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 519.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 938.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 938.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 960.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 960.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 964.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 964.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 016.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 016.xml"/>
</references> </references>
<references> <references>
<name>Informative References</name> <name>Informative References</name>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3 688.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3 688.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6
241.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6
242.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 055.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 055.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
040.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
341.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 340.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 340.xml"/>
<reference anchor="IEEE8021Q" target="https://ieeexplore.ieee.org/document <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
/8403927" quoteTitle="true" derivedAnchor="IEEE8021Q"> 259.xml"/>
<reference anchor="IEEE8021Q-2022" target="https://ieeexplore.ieee.org/doc
ument/10004498">
<front> <front>
<title>IEEE Standard for Local and Metropolitan Area Networks--Bridges and Bridged Networks</title> <title>IEEE Standard for Local and Metropolitan Area Networks--Bridges and Bridged Networks</title>
<author> <author>
<organization showOnFrontPage="true">IEEE</organization> <organization>IEEE</organization>
</author> </author>
<date month="July" year="2022"/> <date month="December" year="2022"/>
</front> </front>
<seriesInfo name="DOI" value="10.1109/IEEESTD.2022.10004498"/> <seriesInfo name="DOI" value="10.1109/IEEESTD.2022.10004498"/>
<seriesInfo name="IEEE" value="802.1Q-2022"/> <seriesInfo name="IEEE Std" value="802.1Q-2022"/>
</reference> </reference>
</references> </references>
</references> </references>
<section anchor="Tree" numbered="true" toc="default"> <section anchor="Tree" numbered="true" toc="default">
<name>DetNet Configuration YANG Tree</name> <name>DetNet Configuration YANG Tree</name>
<t> This is the full YANG tree as described in <xref target="RFC8340"/>. <t> This is the full YANG tree per the guidelines provided in <xref targe t="RFC8340"/>.
</t> </t>
<artwork name="" type="" align="left" alt=""><![CDATA[ <sourcecode name="" type="yangtree"><![CDATA[
module: ietf-detnet module: ietf-detnet
+--rw detnet +--rw detnet
+--rw traffic-profile* [name] +--rw traffic-profile* [name]
| +--rw name string | +--rw name string
| +--rw traffic-requirements | +--rw traffic-requirements
| | +--rw min-bandwidth? uint64 | | +--rw min-bandwidth? uint64
| | +--rw max-latency? uint32 | | +--rw max-latency? uint32
| | +--rw max-latency-variation? uint32 | | +--rw max-latency-variation? uint32
| | +--rw max-loss? decimal64 | | +--rw max-loss? decimal64
| | +--rw max-consecutive-loss-tolerance? uint32 | | +--rw max-consecutive-loss-tolerance? uint32
skipping to change at line 2546 skipping to change at line 2585
| +--rw label? | +--rw label?
| | rt-types:mpls-label | | rt-types:mpls-label
| +--rw ttl? uint8 | +--rw ttl? uint8
| +--rw traffic-class? uint8 | +--rw traffic-class? uint8
+--:(service-sub-layer) +--:(service-sub-layer)
| +--rw service-sub-layer | +--rw service-sub-layer
| +--rw sub-layer* service-sub-layer-ref | +--rw sub-layer* service-sub-layer-ref
+--:(forwarding-disaggregation) +--:(forwarding-disaggregation)
+--rw forwarding-disaggregation +--rw forwarding-disaggregation
+--rw sub-layer* forwarding-sub-layer-ref +--rw sub-layer* forwarding-sub-layer-ref
]]></artwork> ]]></sourcecode>
</section> </section>
<section anchor="Examples" numbered="true" toc="default"> <section anchor="Examples" numbered="true" toc="default">
<name>Examples</name> <name>Examples</name>
<t> The following examples are provided. These examples are tested with Y <t>This section provides several examples. These examples were tested wit
anglint h the "yanglint" program
and use operational output to exercise both config true and config and use operational output to exercise both "config true" and "con
false objects. fig false" objects.
Note that IPv4 and IPv6 addresses are supported but for clarity in Note that IPv4 and IPv6 addresses are supported, but for clarity,
the examples IPv4 is used, with the exception of Example A-1 (<xref target="example-a-1"/>).
and diagrams IPv4 has been used in most examples. The IP types are The IP types are imported from
imported from <xref target="RFC6991" format="default"/>; these types support both
<xref target="RFC6991" format="default"/> and these support both I IPv4 and IPv6.
Pv4 and IPv6.
</t> </t>
<t> The following conventions are used in the diagrams. <t> The following conventions are used in the diagrams.
</t> </t>
<ul spacing="normal"> <ul spacing="normal">
<li>Replication and Elimination points are shown as an R in and E in <li>In the diagrams found in the PDF and HTML copies of this document, r
circles respectively. eplication and elimination points are shown as "R" and "E" in
circles, respectively.
</li> </li>
<li>Packet Headers including DetNet aggregation label or A-label, Servic <li>Packet headers, including a DetNet aggregation label (A-Label), serv
e label or ice label
S-label and Forwarding label or F-label are illustrated at each hop (S-Label), and forwarding label (F-Label), are illustrated at each hop
as defined in <xref target="RFC8964"/>. as defined in <xref target="RFC8964"/>.
</li> </li>
<li>Aggregation/Disaggregation nodes are indicated by dashed line boxes. <li>Aggregation/disaggregation nodes are indicated by dashed-line boxes.
</li> </li>
<li> Since the model augments IETF interfaces, minimal interface YANG <li> Since the model augments IETF interfaces, minimal interface YANG
data is provided to validate the interface data as well. This shows data is provided to validate the interface data as well. This shows
up as a named value such as "eth0" etc. that is referenced by the c onfiguration. up as a named value, such as "eth0", that is referenced by the conf iguration.
</li> </li>
</ul> </ul>
<t> <t>
The following are examples of aggregation and disaggregation at various Below are examples of aggregation and disaggregation at various points
points in DetNet. Figures in DetNet. Where indicated, figures
are provided in the PDF and HTML version of this document. are provided in the PDF and HTML copies of this document.
</t> </t>
<section numbered="true" toc="default"> <section numbered="true" toc="default" anchor="example-a-1">
<name>Example A-1 JSON Configuration/Operational</name> <name>Example A-1: Application Flow Aggregation</name>
<t> <t>
This illustrates that multiple App flows with the same source, This example illustrates multiple App-flows with the same source
the same destination, and the same traffic specification are ag ,
gregated in destination, and traffic specification aggregated into
a single DetNet flow service sub-layer. Ingress node 1 a single DetNet flow service sub-layer. Ingress node 1
aggregates App flows 0 and 1 into a service sub-layer of DetNet aggregates App-flows 0 and 1 into a service sub-layer of DetNet
flow 1. flow 1.
Two ways of illustrating this follow, then the JSON operational Two ways to illustrate this are provided in Figures&nbsp;<xref t
data model arget="case-a1" format="counter"/> and <xref target="case-a1-pipe" format="count
corresponding to the diagrams follows. This example uses IPv6 ad er"/>; the JSON operational data model <xref target="RFC8259"/>
dress format. corresponding to the diagrams is then shown in <xref
target="example-detnet-json-configuration-a-1"/>. The address fo
rmat used in this example is IPv6.
</t> </t>
<figure anchor="case-a1"> <figure anchor="case-a1">
<name>Case A-1 Application Aggregation</name> <name>Case A-1: Application Flow Aggregation</name>
<artset>
<artwork align="left" type="ascii-art" name="" alt=""><![CDATA[
Please consult the PDF or HTML versions for the Case A-1 Diagram.
]]></artwork>
<artwork type="svg"> <artwork type="svg">
<svg <svg
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
width="180mm" width="180mm"
height="120mm" height="120mm"
viewBox="0 0 210 120" viewBox="0 0 210 120"
version="1.1" version="1.1"
id="svg8"> id="svg8">
skipping to change at line 2701 skipping to change at line 2736
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
id="path42" /> id="path42" />
<text <text
font-size="2.6386px" font-size="2.6386px"
id="text47" id="text47"
x="131.21765" x="131.21765"
y="64.456268" y="64.456268"
transform="scale(1.0001873,0.99981273)">Relay <tspan transform="scale(1.0001873,0.99981273)">Relay 2</text>
font-size="2.6386px"
x="137.67552"
y="64.456268"
id="tspan45"
>2</tspan></text>
<path <path
d="m 138.89792,55.271278 c 0,-0.318433 -0.25825,-0.576587 -0.57681,-0.576 587 h -6.30468 c -0.31857,0 -0.5768,0.258154 -0.5768,0.576587 v 5.04065 c 0,0.31 8442 0.25823,0.576587 0.5768,0.576587 h 6.30468 c 0.31856,0 0.57681,-0.258145 0. 57681,-0.576587 z" d="m 138.89792,55.271278 c 0,-0.318433 -0.25825,-0.576587 -0.57681,-0.576 587 h -6.30468 c -0.31857,0 -0.5768,0.258154 -0.5768,0.576587 v 5.04065 c 0,0.31 8442 0.25823,0.576587 0.5768,0.576587 h 6.30468 c 0.31856,0 0.57681,-0.258145 0. 57681,-0.576587 z"
stroke="#000000" stroke="#000000"
stroke-width="0.267684" stroke-width="0.267684"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
id="path49" /> id="path49" />
<path <path
skipping to change at line 2753 skipping to change at line 2783
stroke="#000000" stroke="#000000"
stroke-width="0.200763" stroke-width="0.200763"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
id="path57" /> id="path57" />
<text <text
font-size="2.6386px" font-size="2.6386px"
id="text59" id="text59"
x="100.92083" x="99.52083"
y="78.108131" y="78.108131"
transform="scale(1.0001873,0.99981273)">Transit 2</text> transform="scale(1.0001873,0.99981273)">Transit 2</text>
<path <path
d="m 109.17945,70.182287 c 0,-0.318442 -0.25823,-0.576576 -0.57679,-0.576 576 h -6.30469 c -0.31856,0 -0.5768,0.258134 -0.5768,0.576576 v 5.040642 c 0,0.3 18441 0.25824,0.576567 0.5768,0.576567 h 6.30469 c 0.31856,0 0.57679,-0.258126 0 .57679,-0.576567 z" d="m 109.17945,70.182287 c 0,-0.318442 -0.25823,-0.576576 -0.57679,-0.576 576 h -6.30469 c -0.31856,0 -0.5768,0.258134 -0.5768,0.576576 v 5.040642 c 0,0.3 18441 0.25824,0.576567 0.5768,0.576567 h 6.30469 c 0.31856,0 0.57679,-0.258126 0 .57679,-0.576567 z"
stroke="#000000" stroke="#000000"
stroke-width="0.267684" stroke-width="0.267684"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
skipping to change at line 2778 skipping to change at line 2808
stroke="#000000" stroke="#000000"
stroke-width="0.200763" stroke-width="0.200763"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
id="path62" /> id="path62" />
<text <text
font-size="2.6386px" font-size="2.6386px"
id="text65" id="text65"
x="100.92083" x="99.52083"
y="48.051079" y="48.051079"
transform="scale(1.0001873,0.99981273)">Transit 1</text> transform="scale(1.0001873,0.99981273)">Transit 1</text>
<path <path
d="m 109.17945,40.370942 c 0,-0.32433 -0.26302,-0.587261 -0.58747,-0.5872 61 h -6.28332 c -0.32447,0 -0.58749,0.262931 -0.58749,0.587261 v 5.133961 c 0,0. 32433 0.26302,0.587261 0.58749,0.587261 h 6.28332 c 0.32445,0 0.58747,-0.262931 0.58747,-0.587261 z" d="m 109.17945,40.370942 c 0,-0.32433 -0.26302,-0.587261 -0.58747,-0.5872 61 h -6.28332 c -0.32447,0 -0.58749,0.262931 -0.58749,0.587261 v 5.133961 c 0,0. 32433 0.26302,0.587261 0.58749,0.587261 h 6.28332 c 0.32445,0 0.58747,-0.262931 0.58747,-0.587261 z"
stroke="#000000" stroke="#000000"
stroke-width="0.267684" stroke-width="0.267684"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
skipping to change at line 2902 skipping to change at line 2932
stroke-width="0.267684" stroke-width="0.267684"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect93" /> id="rect93" />
<text <text
font-size="1.83554px" font-size="1.83554px"
id="text101" id="text101"
x="84.784561" x="84.784561"
y="31.760616" y="31.760616"
transform="scale(1.0001873,0.99981273)">MPLS S<tspan transform="scale(1.0001873,0.99981273)">MPLS S-Label<tspan
font-size="1.83554px"
x="91.510109"
y="31.760616"
id="tspan95"
>-</tspan><tspan
font-size="1.83554px"
x="92.279709"
y="31.760616"
id="tspan97"
>label</tspan><tspan
font-size="1.83554px" font-size="1.83554px"
x="89.034035" x="89.034035"
y="34.055042" y="34.055042"
id="tspan99" id="tspan99"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="81.985344" x="81.985344"
y="35.53978" y="35.53978"
width="17.326206" width="17.326206"
height="6.6526051" height="6.6526051"
skipping to change at line 2934 skipping to change at line 2954
stroke-width="0.267684" stroke-width="0.267684"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect103" /> id="rect103" />
<text <text
font-size="1.83554px" font-size="1.83554px"
id="text111" id="text111"
x="84.834686" x="84.834686"
y="38.52919" y="38.52919"
transform="scale(1.0001873,0.99981273)">MPLS F<tspan transform="scale(1.0001873,0.99981273)">MPLS F-Label<tspan
font-size="1.83554px"
x="91.459862"
y="38.52919"
id="tspan105"
>-</tspan><tspan
font-size="1.83554px"
x="92.229446"
y="38.52919"
id="tspan107"
>label</tspan><tspan
font-size="1.83554px" font-size="1.83554px"
x="87.96257" x="87.96257"
y="40.823624" y="40.823624"
id="tspan108" id="tspan108"
>10001</tspan></text> >10001</tspan></text>
<rect <rect
x="81.985344" x="81.985344"
y="92.889847" y="92.889847"
width="17.44095" width="17.44095"
height="6.6525822" height="6.6525822"
skipping to change at line 2966 skipping to change at line 2976
stroke-width="0.267684" stroke-width="0.267684"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect113" /> id="rect113" />
<text <text
font-size="1.83554px" font-size="1.83554px"
id="text121" id="text121"
x="84.856598" x="84.856598"
y="95.7752" y="95.7752"
transform="scale(1.0001873,0.99981273)">MPLS F<tspan transform="scale(1.0001873,0.99981273)">MPLS F-Label<tspan
font-size="1.83554px"
x="91.481766"
y="95.7752"
id="tspan115"
>-</tspan><tspan
font-size="1.83554px"
x="92.251358"
y="95.7752"
id="tspan117"
>label</tspan><tspan
font-size="1.83554px" font-size="1.83554px"
x="87.985825" x="87.985825"
y="98.069618" y="98.069618"
id="tspan118" id="tspan118"
>10002</tspan></text> >10002</tspan></text>
<rect <rect
x="111.24483" x="111.24483"
y="28.772472" y="28.772472"
width="17.44095" width="17.44095"
height="6.6525941" height="6.6525941"
skipping to change at line 2998 skipping to change at line 2998
stroke-width="0.267684" stroke-width="0.267684"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect123" /> id="rect123" />
<text <text
font-size="1.83554px" font-size="1.83554px"
id="text131" id="text131"
x="114.04268" x="114.04268"
y="31.760616" y="31.760616"
transform="scale(1.0001873,0.99981273)">MPLS S<tspan transform="scale(1.0001873,0.99981273)">MPLS S-Label<tspan
font-size="1.83554px"
x="120.76822"
y="31.760616"
id="tspan125"
>-</tspan><tspan
font-size="1.83554px"
x="121.53782"
y="31.760616"
id="tspan127"
>label</tspan><tspan
font-size="1.83554px" font-size="1.83554px"
x="118.29214" x="118.29214"
y="34.055042" y="34.055042"
id="tspan129" id="tspan129"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="111.24483" x="111.24483"
y="35.53978" y="35.53978"
width="17.44095" width="17.44095"
height="6.6526051" height="6.6526051"
skipping to change at line 3030 skipping to change at line 3020
stroke-width="0.267684" stroke-width="0.267684"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect133" /> id="rect133" />
<text <text
font-size="1.83554px" font-size="1.83554px"
id="text141" id="text141"
x="114.09202" x="114.09202"
y="38.52919" y="38.52919"
transform="scale(1.0001873,0.99981273)">MPLS F<tspan transform="scale(1.0001873,0.99981273)">MPLS F-Label<tspan
font-size="1.83554px"
x="120.7172"
y="38.52919"
id="tspan134"
>-</tspan><tspan
font-size="1.83554px"
x="121.48679"
y="38.52919"
id="tspan137"
>label</tspan><tspan
font-size="1.83554px" font-size="1.83554px"
x="117.22124" x="117.22124"
y="40.823624" y="40.823624"
id="tspan139" id="tspan139"
>10003</tspan></text> >10003</tspan></text>
<rect <rect
x="111.24483" x="111.24483"
y="92.889847" y="92.889847"
width="17.44095" width="17.44095"
height="6.6525822" height="6.6525822"
skipping to change at line 3062 skipping to change at line 3042
stroke-width="0.267684" stroke-width="0.267684"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect143" /> id="rect143" />
<text <text
font-size="1.83554px" font-size="1.83554px"
id="text151" id="text151"
x="114.09202" x="114.09202"
y="95.7752" y="95.7752"
transform="scale(1.0001873,0.99981273)">MPLS F<tspan transform="scale(1.0001873,0.99981273)">MPLS F-Label<tspan
font-size="1.83554px"
x="120.7172"
y="95.7752"
id="tspan145"
>-</tspan><tspan
font-size="1.83554px"
x="121.48679"
y="95.7752"
id="tspan147"
>label</tspan><tspan
font-size="1.83554px" font-size="1.83554px"
x="117.22124" x="117.22124"
y="98.069618" y="98.069618"
id="tspan149" id="tspan149"
>10004</tspan></text> >10004</tspan></text>
<rect <rect
x="52.725853" x="52.725853"
y="28.772472" y="28.772472"
width="17.44095" width="17.44095"
height="6.6525941" height="6.6525941"
skipping to change at line 3094 skipping to change at line 3064
stroke-width="0.267684" stroke-width="0.267684"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect153" /> id="rect153" />
<text <text
font-size="1.83554px" font-size="1.83554px"
id="text161" id="text161"
x="55.581608" x="55.581608"
y="31.760616" y="31.760616"
transform="scale(1.0001873,0.99981273)">MPLS S<tspan transform="scale(1.0001873,0.99981273)">MPLS S-Label<tspan
font-size="1.83554px"
x="62.307163"
y="31.760616"
id="tspan155"
>-</tspan><tspan
font-size="1.83554px"
x="63.076763"
y="31.760616"
id="tspan157"
>label</tspan><tspan
font-size="1.83554px" font-size="1.83554px"
x="59.831085" x="59.831085"
y="34.055042" y="34.055042"
id="tspan158" id="tspan158"
>100</tspan></text> >100</tspan></text>
<rect <rect
x="52.725853" x="52.725853"
y="35.53978" y="35.53978"
width="17.44095" width="17.44095"
height="6.6526051" height="6.6526051"
skipping to change at line 3126 skipping to change at line 3086
stroke-width="0.267684" stroke-width="0.267684"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect163" /> id="rect163" />
<text <text
font-size="1.83554px" font-size="1.83554px"
id="text171" id="text171"
x="55.631737" x="55.631737"
y="38.414463" y="38.414463"
transform="scale(1.0001873,0.99981273)">MPLS F<tspan transform="scale(1.0001873,0.99981273)">MPLS F-Label<tspan
font-size="1.83554px"
x="62.256912"
y="38.414463"
id="tspan165"
>-</tspan><tspan
font-size="1.83554px"
x="63.026505"
y="38.414463"
id="tspan167"
>label</tspan><tspan
font-size="1.83554px" font-size="1.83554px"
x="58.759624" x="58.759624"
y="40.708904" y="40.708904"
id="tspan169" id="tspan169"
>10000</tspan></text> >10000</tspan></text>
<rect <rect
x="140.38957" x="140.38957"
y="28.772472" y="28.772472"
width="17.44095" width="17.44095"
height="6.6525941" height="6.6525941"
skipping to change at line 3158 skipping to change at line 3108
stroke-width="0.267684" stroke-width="0.267684"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect172" /> id="rect172" />
<text <text
font-size="1.83554px" font-size="1.83554px"
id="text181" id="text181"
x="143.27606" x="143.27606"
y="31.760616" y="31.760616"
transform="scale(1.0001873,0.99981273)">MPLS S<tspan transform="scale(1.0001873,0.99981273)">MPLS S-Label<tspan
font-size="1.83554px"
x="150.0016"
y="31.760616"
id="tspan174"
>-</tspan><tspan
font-size="1.83554px"
x="150.77121"
y="31.760616"
id="tspan176"
>label</tspan><tspan
font-size="1.83554px" font-size="1.83554px"
x="147.52553" x="147.52553"
y="34.055042" y="34.055042"
id="tspan178" id="tspan178"
>102</tspan></text> >102</tspan></text>
<rect <rect
x="140.38957" x="140.38957"
y="35.53978" y="35.53978"
width="17.44095" width="17.44095"
height="6.6526051" height="6.6526051"
skipping to change at line 3190 skipping to change at line 3130
stroke-width="0.267684" stroke-width="0.267684"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect183" /> id="rect183" />
<text <text
font-size="1.83554px" font-size="1.83554px"
id="text191" id="text191"
x="143.32536" x="143.32536"
y="38.52919" y="38.52919"
transform="scale(1.0001873,0.99981273)">MPLS F<tspan transform="scale(1.0001873,0.99981273)">MPLS F-Label<tspan
font-size="1.83554px"
x="149.95053"
y="38.52919"
id="tspan185"
>-</tspan><tspan
font-size="1.83554px"
x="150.72014"
y="38.52919"
id="tspan187"
>label</tspan><tspan
font-size="1.83554px" font-size="1.83554px"
x="146.45461" x="146.45461"
y="40.823624" y="40.823624"
id="tspan189" id="tspan189"
>10005</tspan></text> >10005</tspan></text>
<rect <rect
x="81.985344" x="81.985344"
y="86.122536" y="86.122536"
width="17.44095" width="17.44095"
height="6.6526165" height="6.6526165"
skipping to change at line 3222 skipping to change at line 3152
stroke-width="0.267684" stroke-width="0.267684"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect193" /> id="rect193" />
<text <text
font-size="1.83554px" font-size="1.83554px"
id="text201" id="text201"
x="84.806473" x="84.806473"
y="89.121384" y="89.121384"
transform="scale(1.0001873,0.99981273)">MPLS S<tspan transform="scale(1.0001873,0.99981273)">MPLS S-Label<tspan
font-size="1.83554px"
x="91.532028"
y="89.121384"
id="tspan195"
>-</tspan><tspan
font-size="1.83554px"
x="92.301613"
y="89.121384"
id="tspan197"
>label</tspan><tspan
font-size="1.83554px" font-size="1.83554px"
x="89.055939" x="89.055939"
y="91.415802" y="91.415802"
id="tspan199" id="tspan199"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="111.24483" x="111.24483"
y="86.122536" y="86.122536"
width="17.44095" width="17.44095"
height="6.6526165" height="6.6526165"
skipping to change at line 3254 skipping to change at line 3174
stroke-width="0.267684" stroke-width="0.267684"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect203" /> id="rect203" />
<text <text
font-size="1.83554px" font-size="1.83554px"
id="text211" id="text211"
x="114.04268" x="114.04268"
y="89.121384" y="89.121384"
transform="scale(1.0001873,0.99981273)">MPLS S<tspan transform="scale(1.0001873,0.99981273)">MPLS S-Label<tspan
font-size="1.83554px"
x="120.76822"
y="89.121384"
id="tspan205"
>-</tspan><tspan
font-size="1.83554px"
x="121.53782"
y="89.121384"
id="tspan207"
>label</tspan><tspan
font-size="1.83554px" font-size="1.83554px"
x="118.29214" x="118.29214"
y="91.415802" y="91.415802"
id="tspan209" id="tspan209"
>101</tspan></text> >101</tspan></text>
<path <path
d="m 41.35195,57.447494 c -0.198044,0 -0.358578,-0.641969 -0.358578,-1.43 375 0,-0.791893 0.160534,-1.43375 0.358578,-1.43375 0.198045,0 0.358569,0.641857 0.358569,1.43375 0,0.791781 -0.160524,1.43375 -0.358569,1.43375 H 21.989052 c - 0.198046,0 -0.35857,-0.641969 -0.35857,-1.43375 0,-0.791893 0.160524,-1.43375 0. 35857,-1.43375 H 41.35195" d="m 41.35195,57.447494 c -0.198044,0 -0.358578,-0.641969 -0.358578,-1.43 375 0,-0.791893 0.160534,-1.43375 0.358578,-1.43375 0.198045,0 0.358569,0.641857 0.358569,1.43375 0,0.791781 -0.160524,1.43375 -0.358569,1.43375 H 21.989052 c - 0.198046,0 -0.35857,-0.641969 -0.35857,-1.43375 0,-0.791893 0.160524,-1.43375 0. 35857,-1.43375 H 41.35195"
stroke="#000000" stroke="#000000"
stroke-width="0.267684" stroke-width="0.267684"
stroke-miterlimit="8" stroke-miterlimit="8"
skipping to change at line 3966 skipping to change at line 3876
id="tspan409" id="tspan409"
>IP</tspan><tspan >IP</tspan><tspan
font-size="3.2122px" font-size="3.2122px"
x="189.36337" x="189.36337"
y="26.483425" y="26.483425"
id="tspan411" id="tspan411"
>IP</tspan></text> >IP</tspan></text>
</g> </g>
</svg> </svg>
</artwork> </artwork>
</artset>
</figure> </figure>
<figure anchor="case-a1-pipe"> <figure anchor="case-a1-pipe">
<name>Case A-1 Application Aggregation Flow Stack Detail</name> <name>Case A-1: Stack Details for Application Flow Aggregation</
<artset> name>
<artwork align="left" type="ascii-art" name="" alt=""><![CDATA[
Please consult the PDF or HTML versions for the Case A-1 Diagram.
]]></artwork>
<artwork type="svg"> <artwork type="svg">
<svg <svg
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
width="180mm" width="180mm"
height="100mm" height="100mm"
viewBox="0 0 210 110" viewBox="0 0 210 110"
version="1.1" version="1.1"
> >
skipping to change at line 4137 skipping to change at line 4041
>1</tspan><tspan >1</tspan><tspan
font-size="2.44744px" font-size="2.44744px"
x="61.926182" x="61.926182"
y="30.317019" y="30.317019"
>outgoing</tspan><tspan >outgoing</tspan><tspan
font-size="2.44744px" font-size="2.44744px"
x="62.749847" x="62.749847"
y="33.235126" y="33.235126"
>-</tspan><tspan
font-size="2.44744px"
x="63.738243"
y="33.235126"
>service</tspan><tspan >service</tspan><tspan
font-size="2.44744px" font-size="2.44744px"
x="69.996414" x="69.996414"
y="54.132515" y="54.132515"
>outgoing</tspan><tspan >outgoing</tspan><tspan
font-size="2.44744px" font-size="2.44744px"
x="63.544426" x="63.544426"
y="57.050625" y="57.050625"
skipping to change at line 4204 skipping to change at line 4103
>1</tspan><tspan >1</tspan><tspan
font-size="2.44744px" font-size="2.44744px"
x="77.740288" x="77.740288"
y="30.317019" y="30.317019"
>outgoing</tspan><tspan >outgoing</tspan><tspan
font-size="2.44744px" font-size="2.44744px"
x="78.56395" x="78.56395"
y="33.23513" y="33.23513"
>-</tspan><tspan
font-size="2.44744px"
x="79.552345"
y="33.23513"
>service</tspan><tspan >service</tspan><tspan
font-size="2.44744px" font-size="2.44744px"
x="64.253578" x="64.253578"
y="93.103333" y="93.103333"
>Case A</tspan><tspan >Case A</tspan><tspan
font-size="2.44744px" font-size="2.44744px"
x="71.831245" x="71.831245"
y="93.103333" y="93.103333"
skipping to change at line 4262 skipping to change at line 4156
font-size="2.44744px" font-size="2.44744px"
x="69.92778" x="69.92778"
y="38.035889" y="38.035889"
transform="scale(0.93486789,1.0696699)">incoming<tspan transform="scale(0.93486789,1.0696699)">incoming<tspan
font-size="2.44744px" font-size="2.44744px"
x="70.134247" x="70.134247"
y="40.953987" y="40.953987"
>app-flow</tspan></text> >App-flow</tspan></text>
<path <path
d="m 62.541679,13.751102 -1.3e-5,4.259474 h 0.102668 l 1.3e-5,-4.259474 z m -0.564688,4.024521 0.616005,1.409679 0.616015,-1.409668 z" d="m 62.541679,13.751102 -1.3e-5,4.259474 h 0.102668 l 1.3e-5,-4.259474 z m -0.564688,4.024521 0.616005,1.409679 0.616015,-1.409668 z"
/> />
<path <path
d="m 77.325907,13.751102 -1e-5,4.259474 h 0.102661 l 2e-5,-4.259474 z m - 0.564686,4.024521 0.616007,1.409679 0.616015,-1.409668 z" d="m 77.325907,13.751102 -1e-5,4.259474 h 0.102661 l 2e-5,-4.259474 z m - 0.564686,4.024521 0.616007,1.409679 0.616015,-1.409668 z"
/> />
<rect <rect
x="120.01389" x="120.01389"
skipping to change at line 4348 skipping to change at line 4242
transform="scale(0.93486789,1.0696699)">app<tspan transform="scale(0.93486789,1.0696699)">app<tspan
font-size="2.44744px" font-size="2.44744px"
x="145.25192" x="145.25192"
y="30.317019" y="30.317019"
>incoming</tspan><tspan >incoming</tspan><tspan
font-size="2.44744px" font-size="2.44744px"
x="146.14368" x="146.14368"
y="33.23513" y="33.23513"
>-</tspan><tspan
font-size="2.44744px"
x="147.13206"
y="33.23513"
>service</tspan><tspan >service</tspan><tspan
font-size="2.44744px" font-size="2.44744px"
x="132.23195" x="132.23195"
y="93.103333" y="93.103333"
>Case A</tspan><tspan >Case A</tspan><tspan
font-size="2.44744px" font-size="2.44744px"
x="139.80963" x="139.80963"
y="93.103333" y="93.103333"
skipping to change at line 4390 skipping to change at line 4279
font-size="2.44744px" font-size="2.44744px"
x="129.43707" x="129.43707"
y="30.128754" y="30.128754"
transform="scale(0.93486789,1.0696699)">incoming<tspan transform="scale(0.93486789,1.0696699)">incoming<tspan
font-size="2.44744px" font-size="2.44744px"
x="130.32991" x="130.32991"
y="33.046867" y="33.046867"
>-service</tspan><tspan > service</tspan><tspan
font-size="2.44744px" font-size="2.44744px"
x="137.7811" x="137.7811"
y="65.7108" y="65.7108"
>outgoing</tspan><tspan >outgoing</tspan><tspan
font-size="2.44744px" font-size="2.44744px"
x="133.56725" x="133.56725"
y="68.628922" y="68.628922"
>service sub-layer</tspan><tspan >service sub-layer</tspan><tspan
font-size="2.44744px" font-size="2.44744px"
x="137.71303" x="137.71303"
y="53.285324" y="53.285324"
>incoming</tspan><tspan >incoming</tspan><tspan
font-size="2.44744px" font-size="2.44744px"
x="131.48065" x="131.48065"
y="56.20343" y="56.20343"
>service-identification</tspan><tspan >service identification</tspan><tspan
font-size="2.44744px" font-size="2.44744px"
x="137.78165" x="137.78165"
y="37.659351" y="37.659351"
>outgoing</tspan><tspan >outgoing</tspan><tspan
font-size="2.44744px" font-size="2.44744px"
x="137.91891" x="137.91891"
y="40.577454" y="40.577454"
>app-flow</tspan><tspan >App-flow</tspan><tspan
font-size="2.44744px" font-size="2.44744px"
x="137.71245" x="137.71245"
y="82.372231" y="82.372231"
>incoming</tspan><tspan >incoming</tspan><tspan
font-size="2.44744px" font-size="2.44744px"
x="129.24306" x="129.24306"
y="85.290337" y="85.290337"
>forwarding-identification</tspan></text> >forwarding identification</tspan></text>
<path <path
d="m 126.14671,38.209251 0.89761,3.130972 -0.0977,0.03663 -0.89762,-3.131 074 z m -0.57025,0.46116 0.20152,-1.559094 0.96891,1.119784 z" d="m 126.14671,38.209251 0.89761,3.130972 -0.0977,0.03663 -0.89762,-3.131 074 z m -0.57025,0.46116 0.20152,-1.559094 0.96891,1.119784 z"
/> />
<path <path
d="m 140.30237,38.238921 -0.66989,3.152994 0.0998,0.02776 0.66988,-3.1529 95 z m 0.59996,0.40866 -0.30756,-1.536264 -0.88959,1.203286 z" d="m 140.30237,38.238921 -0.66989,3.152994 0.0998,0.02776 0.66988,-3.1529 95 z m 0.59996,0.40866 -0.30756,-1.536264 -0.88959,1.203286 z"
/> />
<path <path
d="m 133.29477,63.760764 -2e-5,4.259476 h 0.10267 l 1e-5,-4.259476 z m 0. 66734,0.234944 -0.61602,-1.409666 -0.616,1.409666 z" d="m 133.29477,63.760764 -2e-5,4.259476 h 0.10267 l 1e-5,-4.259476 z m 0. 66734,0.234944 -0.61602,-1.409666 -0.616,1.409666 z"
skipping to change at line 4474 skipping to change at line 4363
stroke="#000000" stroke="#000000"
stroke-width="0.439283" stroke-width="0.439283"
stroke-miterlimit="8" stroke-miterlimit="8"
stroke-dasharray="1.75714, 1.31786" stroke-dasharray="1.75714, 1.31786"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
</g> </g>
</svg> </svg>
</artwork> </artwork>
</artset>
</figure> </figure>
<t> <xref target="example-detnet-json-configuration-a-1"/> contains the o perational JSON configuration for the ingress aggregation <t> <xref target="example-detnet-json-configuration-a-1"/> contains the o perational JSON configuration for the ingress aggregation
node illustrated in <xref target="case-a1"/> and node illustrated in Figures&nbsp;<xref target="case-a1" format="c
<xref target="case-a1-pipe"/>. App-0 and app-1 ounter"/> and
are aggregated into Service Sub-layer ssl-1. <xref target="case-a1-pipe" format="counter"/>. &nbsp;"app-0" and
"app-1"
are aggregated into service sub-layer ssl-1.
</t> </t>
<figure anchor="example-detnet-json-configuration-a-1"> <figure anchor="example-detnet-json-configuration-a-1">
<name>Example A-1 DetNet configuration Application Aggregation</name> <name>Example A-1: DetNet Configuration Application Flow Aggregat
<artwork name="" type="" align="left" alt=""><![CDATA[ ion</name>
<sourcecode name="" type="json"><![CDATA[
{ {
"ietf-detnet:detnet": { "ietf-detnet:detnet": {
"traffic-profile": [ "traffic-profile": [
{ {
"name": "pf-1", "name": "pf-1",
"traffic-requirements": { "traffic-requirements": {
"min-bandwidth": "100000000", "min-bandwidth": "100000000",
"max-latency": 100000000, "max-latency": 100000000,
"max-latency-variation": 20000000, "max-latency-variation": 20000000,
"max-loss": "0.0000001", "max-loss": "0.0000001",
skipping to change at line 4673 skipping to change at line 4561
"name": "eth2", "name": "eth2",
"type": "iana-if-type:ethernetCsmacd", "type": "iana-if-type:ethernetCsmacd",
"oper-status": "up", "oper-status": "up",
"statistics": { "statistics": {
"discontinuity-time": "2024-02-21T18:59:00-05:00" "discontinuity-time": "2024-02-21T18:59:00-05:00"
} }
} }
] ]
} }
} }
]]></artwork> ]]></sourcecode>
</figure> </figure>
</section> </section>
<section numbered="true" toc="default"> <section numbered="true" toc="default">
<name>Example B-1 XML Config: Aggregation using a Forwarding Sub-layer</ <name>Example B-1: Aggregation Using a Forwarding Sub-layer</name>
name> <t>As illustrated in <xref target="case-b1"/>, DetNet service sub-layer
<t> <xref target="case-b1"/> illustrates the DetNet service sub-layer fl flows 1 and 2 are
ows 1 and 2 are
aggregated into a single forwarding sub-layer. aggregated into a single forwarding sub-layer.
For the same destination multiple DetNet flows use a single forward ing path and For the same destination, multiple DetNet flows use a single forwar ding path, and
service protection is performed by the corresponding service sub-la yer service protection is performed by the corresponding service sub-la yer
of each flow. A diagram illustrating this case is shown and then th of each flow. The corresponding
e corresponding XML operational data for node "Ingress 1" follows.
XML operational data for node Ingress 1 follows.
</t> </t>
<figure anchor="case-b1"> <figure anchor="case-b1">
<name>Case B-1 Example Config: Aggregation using a Forwarding Su <name>Case B-1: Aggregation Using a Forwarding Sub&nbhy;layer</n
b-layer</name> ame>
<artset>
<artwork align="left" type="ascii-art" name="" alt=""><![CDATA[
Please consult the PDF or HTML versions for the Case B-1 Diagram.
]]></artwork>
<artwork type="svg"> <artwork type="svg">
<svg <svg
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
width="180mm" width="180mm"
height="120mm" height="120mm"
viewBox="0 0 210 140" viewBox="0 0 210 140"
version="1.1" version="1.1"
> >
skipping to change at line 4782 skipping to change at line 4664
fill-rule="evenodd" fill-rule="evenodd"
/> />
<text <text
font-size="2.92393px" font-size="2.92393px"
x="15.306479" x="15.306479"
y="66.595085" y="66.595085"
transform="scale(0.88605917,1.1285928)">Source 1<tspan transform="scale(0.88605917,1.1285928)">Source 1<tspan
font-size="2.92393px" font-size="2.92393px"
x="16.380289" x="15.380289"
y="69.519012" y="69.519012"
>192.0.2.1</tspan></text> >192.0.2.1</tspan></text>
<path <path
d="m 21.907209,65.406311 c 0,-0.398327 -0.253513,-0.721231 -0.566236,-0.7 21231 h -6.301901 c -0.312727,0 -0.566239,0.322904 -0.566239,0.721231 v 6.305208 c 0,0.398317 0.253512,0.721221 0.566239,0.721221 h 6.301901 c 0.312723,0 0.5662 36,-0.322904 0.566236,-0.721221 z" d="m 21.907209,65.406311 c 0,-0.398327 -0.253513,-0.721231 -0.566236,-0.7 21231 h -6.301901 c -0.312727,0 -0.566239,0.322904 -0.566239,0.721231 v 6.305208 c 0,0.398317 0.253512,0.721221 0.566239,0.721221 h 6.301901 c 0.312723,0 0.5662 36,-0.322904 0.566236,-0.721221 z"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
skipping to change at line 4808 skipping to change at line 4690
stroke-width="0.222473" stroke-width="0.222473"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<text <text
font-size="2.92393px" font-size="2.92393px"
x="47.859951" x="47.859951"
y="70.663162" y="73.663162"
transform="scale(0.88605917,1.1285928)">Ingress 1</text> transform="scale(0.88605917,1.1285928)">Ingress 1</text>
<path <path
d="m 50.856263,65.406311 c 0,-0.398322 -0.253516,-0.721231 -0.566239,-0.7 21231 h -6.189256 c -0.312727,0 -0.566239,0.322909 -0.566239,0.721231 v 6.305192 c 0,0.398333 0.253512,0.721237 0.566239,0.721237 h 6.189256 c 0.312723,0 0.5662 39,-0.322904 0.566239,-0.721237 z" d="m 50.856263,65.406311 c 0,-0.398322 -0.253516,-0.721231 -0.566239,-0.7 21231 h -6.189256 c -0.312727,0 -0.566239,0.322909 -0.566239,0.721231 v 6.305192 c 0,0.398333 0.253512,0.721237 0.566239,0.721237 h 6.189256 c 0.312723,0 0.5662 39,-0.322904 0.566239,-0.721237 z"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
skipping to change at line 4838 skipping to change at line 4720
/> />
<text <text
font-size="2.92393px" font-size="2.92393px"
x="146.92918" x="146.92918"
y="70.663162" y="70.663162"
transform="scale(0.88605917,1.1285928)">Relay 2<tspan transform="scale(0.88605917,1.1285928)">Relay 2<tspan
font-size="2.92393px" font-size="2.92393px"
x="179.01915" x="179.01915"
y="70.663162" y="73.663162"
>Egress 1</tspan><tspan >Egress 1</tspan><tspan
font-size="2.92393px" font-size="2.92393px"
x="113.356" x="112.356"
y="83.248756" y="83.248756"
>Transit 2</tspan></text> >Transit 2</tspan></text>
<path <path
d="m 108.75438,84.058039 c 0,-0.398323 -0.25351,-0.721226 -0.56623,-0.721 226 h -6.18928 c -0.31274,0 -0.56625,0.322903 -0.56625,0.721226 v 6.305184 c 0,0 .398331 0.25351,0.721233 0.56625,0.721233 h 6.18928 c 0.31272,0 0.56623,-0.32290 2 0.56623,-0.721233 z" d="m 108.75438,84.058039 c 0,-0.398323 -0.25351,-0.721226 -0.56623,-0.721 226 h -6.18928 c -0.31274,0 -0.56625,0.322903 -0.56625,0.721226 v 6.305184 c 0,0 .398331 0.25351,0.721233 0.56625,0.721233 h 6.18928 c 0.31272,0 0.56623,-0.32290 2 0.56623,-0.721233 z"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
skipping to change at line 4867 skipping to change at line 4749
stroke="#000000" stroke="#000000"
stroke-width="0.222473" stroke-width="0.222473"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<text <text
font-size="2.92393px" font-size="2.92393px"
x="113.35614" x="112.35614"
y="49.941429" y="49.941429"
transform="scale(0.88605917,1.1285928)">Transit 1</text> transform="scale(0.88605917,1.1285928)">Transit 1</text>
<path <path
d="m 108.75438,46.611095 c 0,-0.398322 -0.25351,-0.721226 -0.56623,-0.721 226 h -6.18928 c -0.31274,0 -0.56625,0.322904 -0.56625,0.721226 v 6.305185 c 0,0 .398329 0.25351,0.721233 0.56625,0.721233 h 6.18928 c 0.31272,0 0.56623,-0.32290 4 0.56623,-0.721233 z" d="m 108.75438,46.611095 c 0,-0.398322 -0.25351,-0.721226 -0.56623,-0.721 226 h -6.18928 c -0.31274,0 -0.56625,0.322904 -0.56625,0.721226 v 6.305185 c 0,0 .398329 0.25351,0.721233 0.56625,0.721233 h 6.18928 c 0.31272,0 0.56623,-0.32290 4 0.56623,-0.721233 z"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
skipping to change at line 4892 skipping to change at line 4774
stroke="#000000" stroke="#000000"
stroke-width="0.222473" stroke-width="0.222473"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<text <text
font-size="2.92393px" font-size="2.92393px"
x="208.60622" x="212.60622"
y="66.595085" y="66.595085"
transform="scale(0.88605917,1.1285928)">Destination 1<tspan transform="scale(0.88605917,1.1285928)">Destination 1<tspan
font-size="2.92393px" font-size="2.92393px"
x="212.48022" x="211.48022"
y="69.519012" y="69.519012"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<path <path
d="m 195.60155,65.406306 c 0,-0.398322 -0.25351,-0.721226 -0.56624,-0.721 226 h -6.18928 c -0.31272,0 -0.56624,0.322904 -0.56624,0.721226 v 6.305186 c 0,0 .398327 0.25352,0.721232 0.56624,0.721232 h 6.18928 c 0.31273,0 0.56624,-0.32290 5 0.56624,-0.721232 z" d="m 195.60155,65.406306 c 0,-0.398322 -0.25351,-0.721226 -0.56624,-0.721 226 h -6.18928 c -0.31272,0 -0.56624,0.322904 -0.56624,0.721226 v 6.305186 c 0,0 .398327 0.25352,0.721232 0.56624,0.721232 h 6.18928 c 0.31273,0 0.56624,-0.32290 5 0.56624,-0.721232 z"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
skipping to change at line 4986 skipping to change at line 4868
d="M 79.805322,68.558901 101.41574,87.268884" d="M 79.805322,68.558901 101.41574,87.268884"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<text <text
font-size="2.92393px" font-size="2.92393px"
x="15.189409" x="13.189409"
y="37.355831" y="37.355831"
transform="scale(0.88605917,1.1285928)">Source 2<tspan transform="scale(0.88605917,1.1285928)">Source 2<tspan
font-size="2.92393px" font-size="2.92393px"
x="16.263189" x="14.263189"
y="40.279758" y="40.279758"
>192.0.2.2</tspan></text> >192.0.2.2</tspan></text>
<path <path
d="m 21.794568,32.407082 c 0,-0.398322 -0.253512,-0.721226 -0.566235,-0.7 21226 h -6.189261 c -0.312727,0 -0.566239,0.322904 -0.566239,0.721226 v 6.305169 c 0,0.398318 0.253512,0.721221 0.566239,0.721221 h 6.189261 c 0.312723,0 0.5662 35,-0.322903 0.566235,-0.721221 z" d="m 21.794568,32.407082 c 0,-0.398322 -0.253512,-0.721226 -0.566235,-0.7 21226 h -6.189261 c -0.312727,0 -0.566239,0.322904 -0.566239,0.721226 v 6.305169 c 0,0.398318 0.253512,0.721221 0.566239,0.721221 h 6.189261 c 0.312723,0 0.5662 35,-0.322903 0.566235,-0.721221 z"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
skipping to change at line 5052 skipping to change at line 4934
height="8.3215294" height="8.3215294"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="2.92393px" font-size="2.92393px"
x="32.095158" x="32.095158"
y="25.024492" y="25.024492"
transform="scale(0.88605917,1.1285928)">IP <tspan transform="scale(0.88605917,1.1285928)">IP <tspan
font-size="2.03404px" font-size="2.03404px"
x="35.877186" x="34.877186"
y="25.024492" y="25.024492"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="2.03404px" font-size="2.03404px"
x="35.840099" x="34.840099"
y="27.69416" y="27.69416"
>192.0.2.9</tspan><tspan >192.0.2.9</tspan><tspan
font-size="2.92393px" font-size="2.92393px"
x="208.60622" x="212.60622"
y="37.355831" y="37.355831"
>Destination 2</tspan><tspan >Destination 2</tspan><tspan
font-size="2.92393px" font-size="2.92393px"
x="212.48105" x="211.48105"
y="40.279758" y="40.279758"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<path <path
d="M 166.6525,68.486878 188.26291,35.416205" d="M 166.6525,68.486878 188.26291,35.416205"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
skipping to change at line 5118 skipping to change at line 5000
fill="none" fill="none"
/> />
<text <text
font-size="2.92393px" font-size="2.92393px"
x="195.25024" x="195.25024"
y="25.024492" y="25.024492"
transform="scale(0.88605917,1.1285928)">IP <tspan transform="scale(0.88605917,1.1285928)">IP <tspan
font-size="2.03404px" font-size="2.03404px"
x="199.03227" x="198.03227"
y="25.024492" y="25.024492"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="2.03404px" font-size="2.03404px"
x="198.99519" x="197.99519"
y="27.69416" y="27.69416"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<path <path
d="m 40.652681,66.835338 c -0.124583,-0.191828 0.262682,-0.861712 0.86486 7,-1.4963 0.602184,-0.634735 1.191303,-0.99371 1.315885,-0.802025 0.124583,0.191 828 -0.262567,0.861713 -0.864866,1.496441 -0.602185,0.634589 -1.191303,0.993565 -1.315886,0.801884 L 22.654701,39.128474 c -0.124584,-0.191827 0.262682,-0.86171 1 0.864866,-1.496446 0.602189,-0.634588 1.191308,-0.993704 1.31589,-0.801878 l 1 7.997976,27.707005" d="m 40.652681,66.835338 c -0.124583,-0.191828 0.262682,-0.861712 0.86486 7,-1.4963 0.602184,-0.634735 1.191303,-0.99371 1.315885,-0.802025 0.124583,0.191 828 -0.262567,0.861713 -0.864866,1.496441 -0.602185,0.634589 -1.191303,0.993565 -1.315886,0.801884 L 22.654701,39.128474 c -0.124584,-0.191827 0.262682,-0.86171 1 0.864866,-1.496446 0.602189,-0.634588 1.191308,-0.993704 1.31589,-0.801878 l 1 7.997976,27.707005"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
skipping to change at line 5214 skipping to change at line 5096
font-size="2.03404px" font-size="2.03404px"
x="63.280228" x="63.280228"
y="39.38987" y="39.38987"
transform="scale(0.88605917,1.1285928)">MPLS<tspan transform="scale(0.88605917,1.1285928)">MPLS<tspan
font-size="2.03404px" font-size="2.03404px"
x="69.546547" x="69.546547"
y="39.38987" y="39.38987"
>F</tspan><tspan >F-Label</tspan><tspan
font-size="2.03404px"
x="70.621819"
y="39.38987"
>-</tspan><tspan
font-size="2.03404px"
x="71.474625"
y="39.38987"
>label</tspan><tspan
font-size="2.03404px" font-size="2.03404px"
x="66.747826" x="66.747826"
y="41.932407" y="41.932407"
>20000</tspan></text> >20000</tspan></text>
<rect <rect
x="61.782566" x="61.782566"
y="32.546707" y="32.546707"
width="8.560811" width="8.560811"
height="8.321557" height="8.321557"
skipping to change at line 5251 skipping to change at line 5123
font-size="1.52553px" font-size="1.52553px"
x="72.58696" x="72.58696"
y="30.872347" y="30.872347"
transform="scale(0.88605917,1.1285928)">MPLS<tspan transform="scale(0.88605917,1.1285928)">MPLS<tspan
font-size="1.52553px" font-size="1.52553px"
x="72.142006" x="72.142006"
y="32.652126" y="32.652126"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.52553px"
x="72.994812"
y="32.652126"
>-</tspan><tspan
font-size="1.52553px"
x="73.625145"
y="32.652126"
>label</tspan><tspan
font-size="2.03404px" font-size="2.03404px"
x="72.790146" x="72.790146"
y="35.067543" y="35.067543"
>103</tspan></text> >103</tspan></text>
<rect <rect
x="53.221756" x="53.221756"
y="32.546707" y="32.546707"
width="8.560833" width="8.560833"
height="8.321557" height="8.321557"
skipping to change at line 5288 skipping to change at line 5150
font-size="1.52553px" font-size="1.52553px"
x="62.894905" x="62.894905"
y="30.872347" y="30.872347"
transform="scale(0.88605917,1.1285928)">MPLS<tspan transform="scale(0.88605917,1.1285928)">MPLS<tspan
font-size="1.52553px" font-size="1.52553px"
x="62.449959" x="62.449959"
y="32.652126" y="32.652126"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.52553px"
x="63.302757"
y="32.652126"
>-</tspan><tspan
font-size="1.52553px"
x="63.933098"
y="32.652126"
>label</tspan><tspan
font-size="2.03404px" font-size="2.03404px"
x="63.098099" x="63.098099"
y="35.067543" y="35.067543"
>100</tspan></text> >100</tspan></text>
<rect <rect
x="53.221756" x="53.221756"
y="24.225159" y="24.225159"
width="8.560833" width="8.560833"
height="8.3215294" height="8.3215294"
skipping to change at line 5322 skipping to change at line 5174
fill="none" fill="none"
/> />
<text <text
font-size="1.65265px" font-size="1.65265px"
x="64.11927" x="64.11927"
y="23.880342" y="23.880342"
transform="scale(0.88605917,1.1285928)">IP<tspan transform="scale(0.88605917,1.1285928)">IP<tspan
font-size="1.65265px" font-size="1.65265px"
x="62.283131" x="61.283131"
y="25.787251" y="25.787251"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.65265px" font-size="1.65265px"
x="62.283131" x="61.283131"
y="27.69416" y="27.69416"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="61.782566" x="61.782566"
y="24.225159" y="24.225159"
width="8.560811" width="8.560811"
height="8.3215294" height="8.3215294"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
skipping to change at line 5349 skipping to change at line 5201
fill="none" fill="none"
/> />
<text <text
font-size="1.65265px" font-size="1.65265px"
x="73.81131" x="73.81131"
y="23.880342" y="23.880342"
transform="scale(0.88605917,1.1285928)">IP<tspan transform="scale(0.88605917,1.1285928)">IP<tspan
font-size="1.65265px" font-size="1.65265px"
x="71.975174" x="70.975174"
y="25.787251" y="25.787251"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.65265px" font-size="1.65265px"
x="71.975174" x="70.975174"
y="27.69416" y="27.69416"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="53.221756" x="53.221756"
y="15.903621" y="15.903621"
width="8.560833" width="8.560833"
height="8.321557" height="8.321557"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
skipping to change at line 5420 skipping to change at line 5272
fill="none" fill="none"
/> />
<text <text
font-size="2.92393px" font-size="2.92393px"
x="12.766096" x="12.766096"
y="52.483971" y="52.483971"
transform="scale(0.88605917,1.1285928)">IP <tspan transform="scale(0.88605917,1.1285928)">IP <tspan
font-size="2.03404px" font-size="2.03404px"
x="16.548124" x="15.548124"
y="52.483971" y="52.483971"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="2.03404px" font-size="2.03404px"
x="16.511055" x="15.511055"
y="55.153641" y="55.153641"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="81.945526" x="81.945526"
y="40.868256" y="40.868256"
width="17.121622" width="17.121622"
height="8.321557" height="8.321557"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
skipping to change at line 5450 skipping to change at line 5302
font-size="2.03404px" font-size="2.03404px"
x="95.751953" x="95.751953"
y="39.38987" y="39.38987"
transform="scale(0.88605917,1.1285928)">MPLS<tspan transform="scale(0.88605917,1.1285928)">MPLS<tspan
font-size="2.03404px" font-size="2.03404px"
x="102.01825" x="102.01825"
y="39.38987" y="39.38987"
>F</tspan><tspan >F-Label</tspan><tspan
font-size="2.03404px"
x="103.09354"
y="39.38987"
>-</tspan><tspan
font-size="2.03404px"
x="103.94636"
y="39.38987"
>label</tspan><tspan
font-size="2.03404px" font-size="2.03404px"
x="99.219559" x="99.219559"
y="41.932407" y="41.932407"
>20001</tspan></text> >20001</tspan></text>
<rect <rect
x="82.508736" x="82.508736"
y="112.17525" y="112.17525"
width="17.00898" width="17.00898"
height="8.4650326" height="8.4650326"
skipping to change at line 5487 skipping to change at line 5329
font-size="2.03404px" font-size="2.03404px"
x="96.259819" x="96.259819"
y="102.69923" y="102.69923"
transform="scale(0.88605917,1.1285928)">MPLS<tspan transform="scale(0.88605917,1.1285928)">MPLS<tspan
font-size="2.03404px" font-size="2.03404px"
x="102.52615" x="102.52615"
y="102.69923" y="102.69923"
>F</tspan><tspan >F-Label</tspan><tspan
font-size="2.03404px"
x="103.60142"
y="102.69923"
>-</tspan><tspan
font-size="2.03404px"
x="104.45422"
y="102.69923"
>label</tspan><tspan
font-size="2.03404px" font-size="2.03404px"
x="99.727432" x="99.727432"
y="105.24178" y="105.24178"
>20002</tspan></text> >20002</tspan></text>
<rect <rect
x="81.945526" x="81.945526"
y="32.546707" y="32.546707"
width="8.560811" width="8.560811"
height="8.321557" height="8.321557"
skipping to change at line 5524 skipping to change at line 5356
font-size="1.52553px" font-size="1.52553px"
x="95.360779" x="95.360779"
y="30.872347" y="30.872347"
transform="scale(0.88605917,1.1285928)">MPLS<tspan transform="scale(0.88605917,1.1285928)">MPLS<tspan
font-size="1.52553px" font-size="1.52553px"
x="94.915825" x="94.915825"
y="32.652126" y="32.652126"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.52553px"
x="95.768654"
y="32.652126"
>-</tspan><tspan
font-size="1.52553px"
x="96.398987"
y="32.652126"
>label</tspan><tspan
font-size="2.03404px" font-size="2.03404px"
x="95.563988" x="95.563988"
y="35.067543" y="35.067543"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="81.945526" x="81.945526"
y="24.225159" y="24.225159"
width="8.560811" width="8.560811"
height="8.3215294" height="8.3215294"
skipping to change at line 5558 skipping to change at line 5380
fill="none" fill="none"
/> />
<text <text
font-size="1.65265px" font-size="1.65265px"
x="96.585136" x="96.585136"
y="23.880342" y="23.880342"
transform="scale(0.88605917,1.1285928)">IP<tspan transform="scale(0.88605917,1.1285928)">IP<tspan
font-size="1.65265px" font-size="1.65265px"
x="94.748985" x="93.748985"
y="25.787251" y="25.787251"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.65265px" font-size="1.65265px"
x="94.748985" x="93.748985"
y="27.69416" y="27.69416"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="81.945526" x="81.945526"
y="15.903621" y="15.903621"
width="8.560811" width="8.560811"
height="8.321557" height="8.321557"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
skipping to change at line 5610 skipping to change at line 5432
font-size="1.52553px" font-size="1.52553px"
x="105.04189" x="105.04189"
y="30.872347" y="30.872347"
transform="scale(0.88605917,1.1285928)">MPLS<tspan transform="scale(0.88605917,1.1285928)">MPLS<tspan
font-size="1.52553px" font-size="1.52553px"
x="104.59696" x="104.59696"
y="32.652126" y="32.652126"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.52553px"
x="105.44977"
y="32.652126"
>-</tspan><tspan
font-size="1.52553px"
x="106.0801"
y="32.652126"
>label</tspan><tspan
font-size="2.03404px" font-size="2.03404px"
x="105.2451" x="105.2451"
y="35.067543" y="35.067543"
>104</tspan></text> >104</tspan></text>
<rect <rect
x="90.50634" x="90.50634"
y="24.225159" y="24.225159"
width="8.560811" width="8.560811"
height="8.3215294" height="8.3215294"
skipping to change at line 5644 skipping to change at line 5456
fill="none" fill="none"
/> />
<text <text
font-size="1.65265px" font-size="1.65265px"
x="106.26627" x="106.26627"
y="23.880342" y="23.880342"
transform="scale(0.88605917,1.1285928)">IP<tspan transform="scale(0.88605917,1.1285928)">IP<tspan
font-size="1.65265px" font-size="1.65265px"
x="104.43011" x="103.43011"
y="25.787251" y="25.787251"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.65265px" font-size="1.65265px"
x="104.43011" x="103.43011"
y="27.69416" y="27.69416"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="90.50634" x="90.50634"
y="15.903621" y="15.903621"
width="8.560811" width="8.560811"
height="8.321557" height="8.321557"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
skipping to change at line 5696 skipping to change at line 5508
font-size="1.52553px" font-size="1.52553px"
x="95.916458" x="95.916458"
y="94.181694" y="94.181694"
transform="scale(0.88605917,1.1285928)">MPLS<tspan transform="scale(0.88605917,1.1285928)">MPLS<tspan
font-size="1.52553px" font-size="1.52553px"
x="95.471504" x="95.471504"
y="95.961479" y="95.961479"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.52553px"
x="96.324326"
y="95.961479"
>-</tspan><tspan
font-size="1.52553px"
x="96.954659"
y="95.961479"
>label</tspan><tspan
font-size="2.03404px" font-size="2.03404px"
x="96.119644" x="96.119644"
y="98.376907" y="98.376907"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="90.956902" x="90.956902"
y="103.9972" y="103.9972"
width="8.560811" width="8.560811"
height="8.321557" height="8.321557"
skipping to change at line 5733 skipping to change at line 5535
font-size="1.52553px" font-size="1.52553px"
x="105.49943" x="105.49943"
y="94.181694" y="94.181694"
transform="scale(0.88605917,1.1285928)">MPLS<tspan transform="scale(0.88605917,1.1285928)">MPLS<tspan
font-size="1.52553px" font-size="1.52553px"
x="105.05449" x="105.05449"
y="95.961479" y="95.961479"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.52553px"
x="105.9073"
y="95.961479"
>-</tspan><tspan
font-size="1.52553px"
x="106.53764"
y="95.961479"
>label</tspan><tspan
font-size="2.03404px" font-size="2.03404px"
x="105.70261" x="105.70261"
y="98.376907" y="98.376907"
>104</tspan></text> >104</tspan></text>
<rect <rect
x="82.508736" x="82.508736"
y="95.675652" y="95.675652"
width="8.560811" width="8.560811"
height="8.321557" height="8.321557"
skipping to change at line 5767 skipping to change at line 5559
fill="none" fill="none"
/> />
<text <text
font-size="1.65265px" font-size="1.65265px"
x="97.140808" x="97.140808"
y="87.189705" y="87.189705"
transform="scale(0.88605917,1.1285928)">IP<tspan transform="scale(0.88605917,1.1285928)">IP<tspan
font-size="1.65265px" font-size="1.65265px"
x="95.304665" x="94.304665"
y="89.096611" y="89.096611"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.65265px" font-size="1.65265px"
x="95.304665" x="94.304665"
y="91.003517" y="91.003517"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="90.956902" x="90.956902"
y="95.675652" y="95.675652"
width="8.560811" width="8.560811"
height="8.321557" height="8.321557"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
skipping to change at line 5794 skipping to change at line 5586
fill="none" fill="none"
/> />
<text <text
font-size="1.65265px" font-size="1.65265px"
x="106.72378" x="106.72378"
y="87.189705" y="87.189705"
transform="scale(0.88605917,1.1285928)">IP<tspan transform="scale(0.88605917,1.1285928)">IP<tspan
font-size="1.65265px" font-size="1.65265px"
x="104.88765" x="103.88765"
y="89.096611" y="89.096611"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.65265px" font-size="1.65265px"
x="104.88765" x="103.88765"
y="91.003517" y="91.003517"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="82.508736" x="82.508736"
y="87.354103" y="87.354103"
width="8.560811" width="8.560811"
height="8.465004" height="8.465004"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
skipping to change at line 5868 skipping to change at line 5660
font-size="2.03404px" font-size="2.03404px"
x="128.77415" x="128.77415"
y="39.38987" y="39.38987"
transform="scale(0.88605917,1.1285928)">MPLS<tspan transform="scale(0.88605917,1.1285928)">MPLS<tspan
font-size="2.03404px" font-size="2.03404px"
x="135.04045" x="135.04045"
y="39.38987" y="39.38987"
>F</tspan><tspan >F-Label</tspan><tspan
font-size="2.03404px"
x="136.11572"
y="39.38987"
>-</tspan><tspan
font-size="2.03404px"
x="136.96855"
y="39.38987"
>label</tspan><tspan
font-size="2.03404px" font-size="2.03404px"
x="132.24174" x="132.24174"
y="41.932407" y="41.932407"
>20003</tspan></text> >20003</tspan></text>
<rect <rect
x="111.45779" x="111.45779"
y="112.17525" y="112.17525"
width="17.121622" width="17.121622"
height="8.4650326" height="8.4650326"
skipping to change at line 5905 skipping to change at line 5687
font-size="2.03404px" font-size="2.03404px"
x="129.00552" x="129.00552"
y="102.69923" y="102.69923"
transform="scale(0.88605917,1.1285928)">MPLS<tspan transform="scale(0.88605917,1.1285928)">MPLS<tspan
font-size="2.03404px" font-size="2.03404px"
x="135.27182" x="135.27182"
y="102.69923" y="102.69923"
>F</tspan><tspan >F-Label</tspan><tspan
font-size="2.03404px"
x="136.34711"
y="102.69923"
>-</tspan><tspan
font-size="2.03404px"
x="137.19992"
y="102.69923"
>label</tspan><tspan
font-size="2.03404px" font-size="2.03404px"
x="132.47313" x="132.47313"
y="105.24178" y="105.24178"
>20004</tspan></text> >20004</tspan></text>
<rect <rect
x="119.79331" x="119.79331"
y="32.546707" y="32.546707"
width="8.560811" width="8.560811"
height="8.321557" height="8.321557"
skipping to change at line 5942 skipping to change at line 5714
font-size="1.52553px" font-size="1.52553px"
x="138.07857" x="138.07857"
y="30.872347" y="30.872347"
transform="scale(0.88605917,1.1285928)">MPLS<tspan transform="scale(0.88605917,1.1285928)">MPLS<tspan
font-size="1.52553px" font-size="1.52553px"
x="137.63364" x="137.63364"
y="32.652126" y="32.652126"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.52553px"
x="138.48643"
y="32.652126"
>-</tspan><tspan
font-size="1.52553px"
x="139.11679"
y="32.652126"
>label</tspan><tspan
font-size="2.03404px" font-size="2.03404px"
x="138.28177" x="138.28177"
y="35.067543" y="35.067543"
>104</tspan></text> >104</tspan></text>
<rect <rect
x="111.23251" x="111.23251"
y="32.546707" y="32.546707"
width="8.560811" width="8.560811"
height="8.321557" height="8.321557"
skipping to change at line 5979 skipping to change at line 5741
font-size="1.52553px" font-size="1.52553px"
x="128.36861" x="128.36861"
y="30.872347" y="30.872347"
transform="scale(0.88605917,1.1285928)">MPLS<tspan transform="scale(0.88605917,1.1285928)">MPLS<tspan
font-size="1.52553px" font-size="1.52553px"
x="127.92366" x="127.92366"
y="32.652126" y="32.652126"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.52553px"
x="128.77647"
y="32.652126"
>-</tspan><tspan
font-size="1.52553px"
x="129.40681"
y="32.652126"
>label</tspan><tspan
font-size="2.03404px" font-size="2.03404px"
x="128.57181" x="128.57181"
y="35.067543" y="35.067543"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="111.23251" x="111.23251"
y="24.225159" y="24.225159"
width="8.560811" width="8.560811"
height="8.3215294" height="8.3215294"
skipping to change at line 6013 skipping to change at line 5765
fill="none" fill="none"
/> />
<text <text
font-size="1.65265px" font-size="1.65265px"
x="129.5941" x="129.5941"
y="23.880342" y="23.880342"
transform="scale(0.88605917,1.1285928)">IP<tspan transform="scale(0.88605917,1.1285928)">IP<tspan
font-size="1.65265px" font-size="1.65265px"
x="127.75799" x="126.75799"
y="25.787251" y="25.787251"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.65265px" font-size="1.65265px"
x="127.75799" x="126.75799"
y="27.69416" y="27.69416"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="119.79331" x="119.79331"
y="24.225159" y="24.225159"
width="8.560811" width="8.560811"
height="8.3215294" height="8.3215294"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
skipping to change at line 6040 skipping to change at line 5792
fill="none" fill="none"
/> />
<text <text
font-size="1.65265px" font-size="1.65265px"
x="139.30283" x="139.30283"
y="23.880342" y="23.880342"
transform="scale(0.88605917,1.1285928)">IP<tspan transform="scale(0.88605917,1.1285928)">IP<tspan
font-size="1.65265px" font-size="1.65265px"
x="137.46666" x="136.46666"
y="25.787251" y="25.787251"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.65265px" font-size="1.65265px"
x="137.46666" x="136.46666"
y="27.69416" y="27.69416"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="111.23251" x="111.23251"
y="15.903621" y="15.903621"
width="8.560811" width="8.560811"
height="8.321557" height="8.321557"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
skipping to change at line 6114 skipping to change at line 5866
font-size="1.52553px" font-size="1.52553px"
x="128.59488" x="128.59488"
y="94.181694" y="94.181694"
transform="scale(0.88605917,1.1285928)">MPLS<tspan transform="scale(0.88605917,1.1285928)">MPLS<tspan
font-size="1.52553px" font-size="1.52553px"
x="128.14993" x="128.14993"
y="95.961479" y="95.961479"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.52553px"
x="129.00275"
y="95.961479"
>-</tspan><tspan
font-size="1.52553px"
x="129.6331"
y="95.961479"
>label</tspan><tspan
font-size="2.03404px" font-size="2.03404px"
x="128.7981" x="128.7981"
y="98.376907" y="98.376907"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="120.01861" x="120.01861"
y="103.9972" y="103.9972"
width="8.560811" width="8.560811"
height="8.321557" height="8.321557"
skipping to change at line 6151 skipping to change at line 5893
font-size="1.52553px" font-size="1.52553px"
x="138.31503" x="138.31503"
y="94.181694" y="94.181694"
transform="scale(0.88605917,1.1285928)">MPLS<tspan transform="scale(0.88605917,1.1285928)">MPLS<tspan
font-size="1.52553px" font-size="1.52553px"
x="137.8701" x="137.8701"
y="95.961479" y="95.961479"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.52553px"
x="138.7229"
y="95.961479"
>-</tspan><tspan
font-size="1.52553px"
x="139.35326"
y="95.961479"
>label</tspan><tspan
font-size="2.03404px" font-size="2.03404px"
x="138.51823" x="138.51823"
y="98.376907" y="98.376907"
>104</tspan></text> >104</tspan></text>
<rect <rect
x="111.45779" x="111.45779"
y="95.675652" y="95.675652"
width="8.560811" width="8.560811"
height="8.321557" height="8.321557"
skipping to change at line 6185 skipping to change at line 5917
fill="none" fill="none"
/> />
<text <text
font-size="1.65265px" font-size="1.65265px"
x="129.81914" x="129.81914"
y="87.189705" y="87.189705"
transform="scale(0.88605917,1.1285928)">IP<tspan transform="scale(0.88605917,1.1285928)">IP<tspan
font-size="1.65265px" font-size="1.65265px"
x="127.98296" x="126.98296"
y="89.096611" y="89.096611"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.65265px" font-size="1.65265px"
x="127.98296" x="126.98296"
y="91.003517" y="91.003517"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="120.01861" x="120.01861"
y="95.675652" y="95.675652"
width="8.560811" width="8.560811"
height="8.321557" height="8.321557"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
skipping to change at line 6212 skipping to change at line 5944
fill="none" fill="none"
/> />
<text <text
font-size="1.65265px" font-size="1.65265px"
x="139.53928" x="139.53928"
y="87.189705" y="87.189705"
transform="scale(0.88605917,1.1285928)">IP<tspan transform="scale(0.88605917,1.1285928)">IP<tspan
font-size="1.65265px" font-size="1.65265px"
x="137.70311" x="136.70311"
y="89.096611" y="89.096611"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.65265px" font-size="1.65265px"
x="137.70311" x="136.70311"
y="91.003517" y="91.003517"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="111.45779" x="111.45779"
y="87.354103" y="87.354103"
width="8.560811" width="8.560811"
height="8.465004" height="8.465004"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
skipping to change at line 6286 skipping to change at line 6018
font-size="2.03404px" font-size="2.03404px"
x="161.49542" x="161.49542"
y="39.38987" y="39.38987"
transform="scale(0.88605917,1.1285928)">MPLS<tspan transform="scale(0.88605917,1.1285928)">MPLS<tspan
font-size="2.03404px" font-size="2.03404px"
x="167.76172" x="167.76172"
y="39.38987" y="39.38987"
>F</tspan><tspan >F-Label</tspan><tspan
font-size="2.03404px"
x="168.83702"
y="39.38987"
>-</tspan><tspan
font-size="2.03404px"
x="169.68983"
y="39.38987"
>label</tspan><tspan
font-size="2.03404px" font-size="2.03404px"
x="164.96303" x="164.96303"
y="41.932407" y="41.932407"
>20005</tspan></text> >20005</tspan></text>
<rect <rect
x="148.85503" x="148.85503"
y="32.546707" y="32.546707"
width="8.560811" width="8.560811"
height="8.321557" height="8.321557"
skipping to change at line 6323 skipping to change at line 6045
font-size="1.52553px" font-size="1.52553px"
x="170.80495" x="170.80495"
y="30.872347" y="30.872347"
transform="scale(0.88605917,1.1285928)">MPLS<tspan transform="scale(0.88605917,1.1285928)">MPLS<tspan
font-size="1.52553px" font-size="1.52553px"
x="170.36002" x="170.36002"
y="32.652126" y="32.652126"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.52553px"
x="171.2128"
y="32.652126"
>-</tspan><tspan
font-size="1.52553px"
x="171.84315"
y="32.652126"
>label</tspan><tspan
font-size="2.03404px" font-size="2.03404px"
x="171.00812" x="171.00812"
y="35.067543" y="35.067543"
>105</tspan></text> >105</tspan></text>
<rect <rect
x="140.18156" x="140.18156"
y="32.546707" y="32.546707"
width="8.560811" width="8.560811"
height="8.321557" height="8.321557"
skipping to change at line 6360 skipping to change at line 6072
font-size="1.52553px" font-size="1.52553px"
x="161.08479" x="161.08479"
y="30.872347" y="30.872347"
transform="scale(0.88605917,1.1285928)">MPLS<tspan transform="scale(0.88605917,1.1285928)">MPLS<tspan
font-size="1.52553px" font-size="1.52553px"
x="160.63986" x="160.63986"
y="32.652126" y="32.652126"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.52553px"
x="161.49266"
y="32.652126"
>-</tspan><tspan
font-size="1.52553px"
x="162.123"
y="32.652126"
>label</tspan><tspan
font-size="2.03404px" font-size="2.03404px"
x="161.28798" x="161.28798"
y="35.067543" y="35.067543"
>102</tspan></text> >102</tspan></text>
<rect <rect
x="140.18156" x="140.18156"
y="24.225159" y="24.225159"
width="8.560811" width="8.560811"
height="8.3215294" height="8.3215294"
skipping to change at line 6394 skipping to change at line 6096
fill="none" fill="none"
/> />
<text <text
font-size="1.65265px" font-size="1.65265px"
x="162.30902" x="162.30902"
y="23.880342" y="23.880342"
transform="scale(0.88605917,1.1285928)">IP<tspan transform="scale(0.88605917,1.1285928)">IP<tspan
font-size="1.65265px" font-size="1.65265px"
x="160.47287" x="159.47287"
y="25.787251" y="25.787251"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.65265px" font-size="1.65265px"
x="160.47287" x="159.47287"
y="27.69416" y="27.69416"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="148.85503" x="148.85503"
y="24.225159" y="24.225159"
width="8.560811" width="8.560811"
height="8.3215294" height="8.3215294"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
skipping to change at line 6421 skipping to change at line 6123
fill="none" fill="none"
/> />
<text <text
font-size="1.65265px" font-size="1.65265px"
x="172.02917" x="172.02917"
y="23.880342" y="23.880342"
transform="scale(0.88605917,1.1285928)">IP<tspan transform="scale(0.88605917,1.1285928)">IP<tspan
font-size="1.65265px" font-size="1.65265px"
x="170.19304" x="169.19304"
y="25.787251" y="25.787251"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.65265px" font-size="1.65265px"
x="170.19304" x="169.19304"
y="27.69416" y="27.69416"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="140.18156" x="140.18156"
y="15.903621" y="15.903621"
width="8.560811" width="8.560811"
height="8.321557" height="8.321557"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
skipping to change at line 6492 skipping to change at line 6194
fill="none" fill="none"
/> />
<text <text
font-size="2.92393px" font-size="2.92393px"
x="214.42229" x="214.42229"
y="52.611099" y="52.611099"
transform="scale(0.88605917,1.1285928)">IP <tspan transform="scale(0.88605917,1.1285928)">IP <tspan
font-size="2.03404px" font-size="2.03404px"
x="218.20433" x="217.20433"
y="52.611099" y="52.611099"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="2.03404px" font-size="2.03404px"
x="218.16727" x="217.16727"
y="55.280769" y="55.280769"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<path <path
d="m 71.258592,76.450018 c -0.863177,0 -1.562909,-3.565065 -1.562909,-7.9 62853 0,-4.397793 0.699732,-7.962858 1.562909,-7.962858 0.863176,0 1.56291,3.565 065 1.56291,7.962858 0,4.397788 -0.699734,7.962853 -1.56291,7.962853 h -16.02336 c -0.863177,0 -1.56291,-3.565065 -1.56291,-7.962853 0,-4.397793 0.699733,-7.962 858 1.56291,-7.962858 h 16.02336" d="m 71.258592,76.450018 c -0.863177,0 -1.562909,-3.565065 -1.562909,-7.9 62853 0,-4.397793 0.699732,-7.962858 1.562909,-7.962858 0.863176,0 1.56291,3.565 065 1.56291,7.962858 0,4.397788 -0.699734,7.962853 -1.56291,7.962853 h -16.02336 c -0.863177,0 -1.56291,-3.565065 -1.56291,-7.962853 0,-4.397793 0.699733,-7.962 858 1.56291,-7.962858 h 16.02336"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
skipping to change at line 6719 skipping to change at line 6421
font-size="2.92393px" font-size="2.92393px"
x="196.88129" x="196.88129"
y="65.450958" y="65.450958"
transform="scale(0.88605917,1.1285928)">App-1<tspan transform="scale(0.88605917,1.1285928)">App-1<tspan
font-size="4.1952px" font-size="4.1952px"
x="181.19646" x="181.19646"
y="84.901405" y="84.901405"
>Note: S-label in this</tspan><tspan >Note: S-Label in this</tspan><tspan
font-size="4.1952px" font-size="4.1952px"
x="181.19646" x="181.19646"
y="89.859375" y="89.859375"
>diagram includes d-CW.</tspan></text> >diagram includes d-CW.</tspan></text>
<path <path
d="m 74.511135,36.707479 c 0,-1.980957 1.235575,-3.586871 2.759739,-3.586 871 1.524159,0 2.759734,1.605914 2.759734,3.586871 0,1.980956 -1.235575,3.58687 -2.759734,3.58687 -1.524164,0 -2.759739,-1.605914 -2.759739,-3.58687 z" d="m 74.511135,36.707479 c 0,-1.980957 1.235575,-3.586871 2.759739,-3.586 871 1.524159,0 2.759734,1.605914 2.759734,3.586871 0,1.980956 -1.235575,3.58687 -2.759734,3.58687 -1.524164,0 -2.759739,-1.605914 -2.759739,-3.58687 z"
stroke="#000000" stroke="#000000"
stroke-width="0.29663" stroke-width="0.29663"
stroke-miterlimit="8" stroke-miterlimit="8"
skipping to change at line 6843 skipping to change at line 6545
<text <text
font-size="2.92393px" font-size="2.92393px"
x="81.274445" x="81.274445"
y="70.663162" y="70.663162"
transform="scale(0.88605917,1.1285928)">Relay 1</text> transform="scale(0.88605917,1.1285928)">Relay 1</text>
</g> </g>
</svg> </svg>
</artwork> </artwork>
</artset>
</figure> </figure>
<t> <xref target="example-detnet-xml-fwd-aggregation-b-1"/> <t> <xref target="example-detnet-xml-fwd-aggregation-b-1"/>
contains the operational XML configuration for the ingress aggregati on contains the operational XML configuration for the ingress aggregati on
node illustrated in <xref target="case-b1"/>. node illustrated in <xref target="case-b1"/>.
In this example app-0 and app-1 are in separate service sub-layer In this example, "app-0" and "app-1" are in separate service sub-
s layers
with MPLS labels and the with MPLS labels, and the
aggregation happens at the forwarding sub-layer afl-1 using MPLS aggregation happens at forwarding sub-layer afl-1, using MPLS lab
labels. els.
</t> </t>
<figure anchor="example-detnet-xml-fwd-aggregation-b-1"> <figure anchor="example-detnet-xml-fwd-aggregation-b-1">
<name>Example B-1 DetNet configuration Forwarding Layer Aggregation</n <name>Example B-1: DetNet Configuration Forwarding Sub-layer Aggregati
ame> on</name>
<artwork name="" type="" align="left" alt=""><![CDATA[ <sourcecode name="" type="xml"><![CDATA[
<interfaces <interfaces
xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces" xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"
xmlns:ia="urn:ietf:params:xml:ns:yang:iana-if-type"> xmlns:ia="urn:ietf:params:xml:ns:yang:iana-if-type">
<interface> <interface>
<name>eth0</name> <name>eth0</name>
<type>ia:ethernetCsmacd</type> <type>ia:ethernetCsmacd</type>
<oper-status>up</oper-status> <oper-status>up</oper-status>
<statistics> <statistics>
<discontinuity-time>2024-02-21T23:59:00Z</discontinuity-time> <discontinuity-time>2024-02-21T23:59:00Z</discontinuity-time>
</statistics> </statistics>
skipping to change at line 7044 skipping to change at line 6745
<entry> <entry>
<id>0</id> <id>0</id>
<label>10000</label> <label>10000</label>
</entry> </entry>
</mpls-label-stack> </mpls-label-stack>
</interface> </interface>
</outgoing> </outgoing>
</sub-layer> </sub-layer>
</forwarding> </forwarding>
</detnet> </detnet>
]]></artwork> ]]></sourcecode>
</figure> </figure>
</section> </section>
<section numbered="true" toc="default"> <section numbered="true" toc="default">
<name>Example B-2 JSON Service Aggregation Configuration</name> <name>Example B-2: Service Aggregation</name>
<t> <t>As illustrated in
<xref target="case-b2"/> illustrates DetNet service sub-layer fl <xref target="case-b2"/>, DetNet service sub-layer flows 1 and 2
ows 1 and 2 are are
aggregated into a service sub-layer of an aggregated flow. aggregated into a service sub-layer of an aggregated flow.
Multiple DetNet flows with the same requirements for the same Multiple DetNet flows with the same requirements for the same
destination are aggregated into a single aggregated DetNet flow, destination are aggregated into a single aggregated DetNet flow,
and service protection and resource allocation are performed by and service protection and resource allocation are performed by
an aggregated DetNet flow service sub-layer and forwarding an aggregated DetNet flow service sub-layer and forwarding
sub-layer. A diagram illustrating this case is shown and then sub-layer. The
the corresponding JSON operational data for node "Ingress 1" follow
corresponding JSON operational data for node Ingress 1 follows. s.
</t> </t>
<figure anchor="case-b2"> <figure anchor="case-b2">
<name>Case B-2 Example Service Aggregation</name> <name>Case B-2: Example Service Aggregation</name>
<artset>
<artwork align="left" type="ascii-art" name="" alt=""><![CDATA[
Please consult the PDF or HTML versions for the Case B-2 Diagram.
]]></artwork>
<artwork type="svg"> <artwork type="svg">
<svg <svg
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
width="180mm" width="180mm"
height="120mm" height="120mm"
viewBox="0 0 210 140" viewBox="0 0 210 140"
version="1.1" version="1.1"
> >
skipping to change at line 7113 skipping to change at line 6808
stroke-width="0.209234" stroke-width="0.209234"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<text <text
font-size="2.74992px" font-size="2.74992px"
x="43.424561" x="43.424561"
y="67.076286" y="71.876286"
transform="scale(0.92084851,1.0859549)">Ingress 1<tspan
font-size="2.74992px"
x="44.557201"
y="69.82621"
>192.0.2.2</tspan></text> transform="scale(0.92084851,1.0859549)">Ingress 1 192.0.2.2</text>
<path <path
d="m 48.246165,59.601766 c 0,-0.360466 -0.2478,-0.652685 -0.55344,-0.6526 85 h -6.049511 c -0.30564,0 -0.553439,0.292219 -0.553439,0.652685 v 5.705938 c 0 ,0.360477 0.247799,0.652692 0.553439,0.652692 h 6.049511 c 0.30564,0 0.55344,-0. 292215 0.55344,-0.652692 z" d="m 48.246165,59.601766 c 0,-0.360466 -0.2478,-0.652685 -0.55344,-0.6526 85 h -6.049511 c -0.30564,0 -0.553439,0.292219 -0.553439,0.652685 v 5.705938 c 0 ,0.360477 0.247799,0.652692 0.553439,0.652692 h 6.049511 c 0.30564,0 0.55344,-0. 292215 0.55344,-0.652692 z"
stroke="#000000" stroke="#000000"
stroke-width="0.278978" stroke-width="0.278978"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<path <path
skipping to change at line 7181 skipping to change at line 6871
<path <path
d="m 133.13201,59.601766 c 0,-0.360466 -0.24779,-0.652685 -0.55343,-0.652 685 h -6.04952 c -0.30563,0 -0.55344,0.292219 -0.55344,0.652685 v 5.705938 c 0,0 .360477 0.24781,0.652692 0.55344,0.652692 h 6.04952 c 0.30564,0 0.55343,-0.29221 5 0.55343,-0.652692 z" d="m 133.13201,59.601766 c 0,-0.360466 -0.24779,-0.652685 -0.55343,-0.652 685 h -6.04952 c -0.30563,0 -0.55344,0.292219 -0.55344,0.652685 v 5.705938 c 0,0 .360477 0.24781,0.652692 0.55344,0.652692 h 6.04952 c 0.30564,0 0.55343,-0.29221 5 0.55343,-0.652692 z"
stroke="#000000" stroke="#000000"
stroke-width="0.278978" stroke-width="0.278978"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<path <path
d="m 131.96992,59.468435 v 0.740236 h -1.46873 l -0.78222,1.661017 -0.798 21,-1.661017 h -1.45275 v -0.740236 l -0.94194,0.938834 0.94194,0.93883 v -0.631 903 h 1.03766 l 0.894,1.823502 -0.894,1.841556 h -1.03766 v -0.686069 l -0.94194 ,0.938839 0.94194,0.93884 v -0.704133 h 1.45275 l 0.79821,-1.69712 0.78222,1.697 12 h 1.46873 v 0.668009 l 0.94189,-0.902716 -0.94189,-0.938839 v 0.686069 h -1.0 2169 l -0.90998,-1.841556 0.894,-1.823502 h 1.03767 v 0.613854 l 0.94189,-0.9207 81 z" d="m 131.96992,59.468435 v 0.740236 h -1.46873 l -0.78222,1.661017 -0 .79821,-1.661017 h -1.45275 v -0.740236 l -0.94194,0.938834 0.94194,0.93883 v -0 .631903 h 1.03766 l 0.894,1.823502 -0.894,1./841556 h -1.03766 v -0.686069 l -0. 94194,0.938839 0.94194,0.93884 v -0.704133 h 1.45275 l 0.79821,-1.69712 0.78222, 1.69712 h 1.46873 v 0.668009 l 0.94189,-0.902716 -0.94189,-0.938839 v 0.686069 h -1.02169 l -0.90998,-1.841556 0.894,-1.823502 h 1.03767 v 0.613854 l 0.94189,-0 .920781 z"
stroke="#000000" stroke="#000000"
stroke-width="0.209234" stroke-width="0.209234"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<text <text
font-size="2.74992px" font-size="2.74992px"
x="166.77922" x="166.77922"
y="67.076286" y="71.076286"
transform="scale(0.92084851,1.0859549)">Egress 1</text> transform="scale(0.92084851,1.0859549)">Egress 1</text>
<path <path
d="m 161.42731,59.601761 c 0,-0.360465 -0.24781,-0.65268 -0.55345,-0.6526 8 h -6.04951 c -0.30568,0 -0.55344,0.292215 -0.55344,0.65268 v 5.705959 c 0,0.36 0461 0.24776,0.652676 0.55344,0.652676 h 6.04951 c 0.30564,0 0.55345,-0.292215 0 .55345,-0.652676 z" d="m 161.42731,59.601761 c 0,-0.360465 -0.24781,-0.65268 -0.55345,-0.6526 8 h -6.04951 c -0.30568,0 -0.55344,0.292215 -0.55344,0.65268 v 5.705959 c 0,0.36 0461 0.24776,0.652676 0.55344,0.652676 h 6.04951 c 0.30564,0 0.55345,-0.292215 0 .55345,-0.652676 z"
stroke="#000000" stroke="#000000"
stroke-width="0.278978" stroke-width="0.278978"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
skipping to change at line 7217 skipping to change at line 6907
stroke="#000000" stroke="#000000"
stroke-width="0.209234" stroke-width="0.209234"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<text <text
font-size="2.74992px" font-size="2.74992px"
x="105.0231" x="104.0231"
y="78.67379" y="78.67379"
transform="scale(0.92084851,1.0859549)">Transit 2</text> transform="scale(0.92084851,1.0859549)">Transit 2</text>
<path <path
d="m 104.83673,76.480813 c 0,-0.360465 -0.24779,-0.65268 -0.55344,-0.6526 8 h -6.049504 c -0.305682,0 -0.55344,0.292215 -0.55344,0.65268 v 5.705959 c 0,0. 36046 0.247758,0.652675 0.55344,0.652675 h 6.049504 c 0.30565,0 0.55344,-0.29221 5 0.55344,-0.652675 z" d="m 104.83673,76.480813 c 0,-0.360465 -0.24779,-0.65268 -0.55344,-0.6526 8 h -6.049504 c -0.305682,0 -0.55344,0.292215 -0.55344,0.65268 v 5.705959 c 0,0. 36046 0.247758,0.652675 0.55344,0.652675 h 6.049504 c 0.30565,0 0.55344,-0.29221 5 0.55344,-0.652675 z"
stroke="#000000" stroke="#000000"
stroke-width="0.278978" stroke-width="0.278978"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
skipping to change at line 7242 skipping to change at line 6932
stroke="#000000" stroke="#000000"
stroke-width="0.209234" stroke-width="0.209234"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<text <text
font-size="2.74992px" font-size="2.74992px"
x="105.0231" x="104.0231"
y="47.348579" y="47.348579"
transform="scale(0.92084851,1.0859549)">Transit 1</text> transform="scale(0.92084851,1.0859549)">Transit 1</text>
<path <path
d="m 104.83673,42.592865 c 0,-0.360466 -0.24779,-0.652681 -0.55344,-0.652 681 h -6.049504 c -0.305682,0 -0.55344,0.292215 -0.55344,0.652681 v 5.705958 c 0 ,0.360461 0.247758,0.652675 0.55344,0.652675 h 6.049504 c 0.30565,0 0.55344,-0.2 92214 0.55344,-0.652675 z" d="m 104.83673,42.592865 c 0,-0.360466 -0.24779,-0.652681 -0.55344,-0.652 681 h -6.049504 c -0.305682,0 -0.55344,0.292215 -0.55344,0.652681 v 5.705958 c 0 ,0.360461 0.247758,0.652675 0.55344,0.652675 h 6.049504 c 0.30565,0 0.55344,-0.2 92214 0.55344,-0.652675 z"
stroke="#000000" stroke="#000000"
stroke-width="0.278978" stroke-width="0.278978"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
skipping to change at line 7267 skipping to change at line 6957
stroke="#000000" stroke="#000000"
stroke-width="0.209234" stroke-width="0.209234"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<text <text
font-size="2.74992px" font-size="2.74992px"
x="194.6049" x="197.6049"
y="63.011162" y="63.011162"
transform="scale(0.92084851,1.0859549)">Destination 1<tspan transform="scale(0.92084851,1.0859549)">Destination 1<tspan
font-size="2.74992px" font-size="2.74992px"
x="198.24837" x="198.24837"
y="65.761101" y="65.761101"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<path <path
d="m 189.72259,59.601761 c 0,-0.360465 -0.2478,-0.65268 -0.55344,-0.65268 h -6.04951 c -0.30568,0 -0.55344,0.292215 -0.55344,0.65268 v 5.705959 c 0,0.360 461 0.24776,0.652676 0.55344,0.652676 h 6.04951 c 0.30564,0 0.55344,-0.292215 0. 55344,-0.652676 z" d="m 189.72259,59.601761 c 0,-0.360465 -0.2478,-0.65268 -0.55344,-0.65268 h -6.04951 c -0.30568,0 -0.55344,0.292215 -0.55344,0.65268 v 5.705959 c 0,0.360 461 0.24776,0.652676 0.55344,0.652676 h 6.04951 c 0.30564,0 0.55344,-0.292215 0. 55344,-0.652676 z"
skipping to change at line 7431 skipping to change at line 7121
fill="none" fill="none"
/> />
<text <text
font-size="2.74992px" font-size="2.74992px"
x="28.597944" x="28.597944"
y="23.914433" y="23.914433"
transform="scale(0.92084851,1.0859549)">IP <tspan transform="scale(0.92084851,1.0859549)">IP <tspan
font-size="1.91299px" font-size="1.91299px"
x="32.154896" x="31.154896"
y="23.914433" y="23.914433"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="32.120037" x="31.120037"
y="26.425243" y="26.425243"
>192.0.2.9</tspan><tspan >192.0.2.9</tspan><tspan
font-size="2.74992px" font-size="2.74992px"
x="194.6049" x="197.6049"
y="35.511951" y="35.511951"
>Destination 2</tspan><tspan >Destination 2</tspan><tspan
font-size="2.74992px" font-size="2.74992px"
x="198.24913" x="197.24913"
y="38.261875" y="38.261875"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<path <path
d="m 189.72259,29.608979 c 0,-0.360465 -0.2478,-0.652681 -0.55344,-0.6526 81 h -6.04951 c -0.30568,0 -0.55344,0.292216 -0.55344,0.652681 v 5.705959 c 0,0. 36046 0.24776,0.652675 0.55344,0.652675 h 6.04951 c 0.30564,0 0.55344,-0.292215 0.55344,-0.652675 z" d="m 189.72259,29.608979 c 0,-0.360465 -0.2478,-0.652681 -0.55344,-0.6526 81 h -6.04951 c -0.30568,0 -0.55344,0.292216 -0.55344,0.652681 v 5.705959 c 0,0. 36046 0.24776,0.652675 0.55344,0.652675 h 6.04951 c 0.30564,0 0.55344,-0.292215 0.55344,-0.652675 z"
stroke="#000000" stroke="#000000"
stroke-width="0.278978" stroke-width="0.278978"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
skipping to change at line 7511 skipping to change at line 7201
fill="none" fill="none"
/> />
<text <text
font-size="2.74992px" font-size="2.74992px"
x="182.04367" x="182.04367"
y="23.914433" y="23.914433"
transform="scale(0.92084851,1.0859549)">IP <tspan transform="scale(0.92084851,1.0859549)">IP <tspan
font-size="1.91299px" font-size="1.91299px"
x="185.60065" x="184.60065"
y="23.914433" y="23.914433"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="185.56577" x="184.56577"
y="26.425243" y="26.425243"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<path <path
d="m 38.272975,60.894976 c -0.121756,-0.173595 0.256788,-0.779814 0.84534 8,-1.35409 0.588602,-0.574409 1.164429,-0.899267 1.286185,-0.725798 0.121756,0.1 73594 -0.256662,0.779813 -0.845348,1.354216 -0.588602,0.574277 -1.164387,0.89913 6 -1.286185,0.725672 L 20.681464,35.8214 c -0.121758,-0.173596 0.256741,-0.77981 4 0.845349,-1.354223 0.588599,-0.574275 1.164381,-0.899261 1.286184,-0.725666 l 17.591511,25.073704" d="m 38.272975,60.894976 c -0.121756,-0.173595 0.256788,-0.779814 0.84534 8,-1.35409 0.588602,-0.574409 1.164429,-0.899267 1.286185,-0.725798 0.121756,0.1 73594 -0.256662,0.779813 -0.845348,1.354216 -0.588602,0.574277 -1.164387,0.89913 6 -1.286185,0.725672 L 20.681464,35.8214 c -0.121758,-0.173596 0.256741,-0.77981 4 0.845349,-1.354223 0.588599,-0.574275 1.164381,-0.899261 1.286184,-0.725666 l 17.591511,25.073704"
stroke="#000000" stroke="#000000"
stroke-width="0.278978" stroke-width="0.278978"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
skipping to change at line 7682 skipping to change at line 7372
font-size="1.43475px" font-size="1.43475px"
x="66.678513" x="66.678513"
y="29.414297" y="29.414297"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.43475px" font-size="1.43475px"
x="66.260056" x="66.260056"
y="31.088161" y="31.088161"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.43475px"
x="67.062111"
y="31.088161"
>-</tspan><tspan
font-size="1.43475px"
x="67.654938"
y="31.088161"
>label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="66.869598" x="66.869598"
y="33.359844" y="33.359844"
>105</tspan></text> >105</tspan></text>
<rect <rect
x="50.558216" x="50.558216"
y="44.796646" y="44.796646"
width="16.734961" width="16.734961"
height="7.5306678" height="7.5306678"
skipping to change at line 7719 skipping to change at line 7399
font-size="1.91299px" font-size="1.91299px"
x="57.9468" x="57.9468"
y="44.359524" y="44.359524"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.91299px" font-size="1.91299px"
x="63.840206" x="63.840206"
y="44.359524" y="44.359524"
>F</tspan><tspan >F-Label</tspan><tspan
font-size="1.91299px"
x="64.851494"
y="44.359524"
>-</tspan><tspan
font-size="1.91299px"
x="65.653549"
y="44.359524"
>label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="61.208088" x="61.208088"
y="46.750759" y="46.750759"
>20000</tspan></text> >20000</tspan></text>
<rect <rect
x="50.558216" x="50.558216"
y="29.735331" y="29.735331"
width="8.3675013" width="8.3675013"
height="7.6605062" height="7.6605062"
skipping to change at line 7756 skipping to change at line 7426
font-size="1.43475px" font-size="1.43475px"
x="57.584278" x="57.584278"
y="29.414297" y="29.414297"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.43475px" font-size="1.43475px"
x="57.165817" x="57.165817"
y="31.088161" y="31.088161"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.43475px"
x="57.967873"
y="31.088161"
>-</tspan><tspan
font-size="1.43475px"
x="58.560696"
y="31.088161"
>label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="57.775356" x="57.775356"
y="33.359844" y="33.359844"
>102</tspan></text> >102</tspan></text>
<rect <rect
x="50.558216" x="50.558216"
y="22.204676" y="22.204676"
width="8.3675013" width="8.3675013"
height="7.660481" height="7.660481"
skipping to change at line 7790 skipping to change at line 7450
fill="none" fill="none"
/> />
<text <text
font-size="1.55431px" font-size="1.55431px"
x="58.735786" x="58.735786"
y="22.718824" y="22.718824"
transform="scale(0.92084851,1.0859549)">IP<tspan transform="scale(0.92084851,1.0859549)">IP<tspan
font-size="1.55431px" font-size="1.55431px"
x="57.008881" x="56.008881"
y="24.512253" y="24.512253"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.55431px" font-size="1.55431px"
x="57.008881" x="56.008881"
y="26.305681" y="26.305681"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="58.925674" x="58.925674"
y="22.204676" y="22.204676"
width="8.3674803" width="8.3674803"
height="7.660481" height="7.660481"
stroke="#000000" stroke="#000000"
stroke-width="0.278978" stroke-width="0.278978"
skipping to change at line 7817 skipping to change at line 7477
fill="none" fill="none"
/> />
<text <text
font-size="1.55431px" font-size="1.55431px"
x="67.830025" x="67.830025"
y="22.718824" y="22.718824"
transform="scale(0.92084851,1.0859549)">IP<tspan transform="scale(0.92084851,1.0859549)">IP<tspan
font-size="1.55431px" font-size="1.55431px"
x="66.103119" x="65.103119"
y="24.512253" y="24.512253"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.55431px" font-size="1.55431px"
x="66.103119" x="65.103119"
y="26.305681" y="26.305681"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="50.558216" x="50.558216"
y="14.803868" y="14.803868"
width="8.3675013" width="8.3675013"
height="7.5306678" height="7.5306678"
stroke="#000000" stroke="#000000"
stroke-width="0.278978" stroke-width="0.278978"
skipping to change at line 7888 skipping to change at line 7548
fill="none" fill="none"
/> />
<text <text
font-size="2.74992px" font-size="2.74992px"
x="10.462574" x="10.462574"
y="49.859375" y="49.859375"
transform="scale(0.92084851,1.0859549)">IP <tspan transform="scale(0.92084851,1.0859549)">IP <tspan
font-size="1.91299px" font-size="1.91299px"
x="14.019544" x="13.019544"
y="49.859375" y="49.859375"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="13.984626" x="13.019544"
y="52.370171" y="52.370171"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="50.558216" x="50.558216"
y="37.26598" y="37.26598"
width="16.734961" width="16.734961"
height="7.6605062" height="7.6605062"
stroke="#000000" stroke="#000000"
stroke-width="0.278978" stroke-width="0.278978"
skipping to change at line 7918 skipping to change at line 7578
font-size="1.91299px" font-size="1.91299px"
x="57.77232" x="57.77232"
y="37.424942" y="37.424942"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.91299px" font-size="1.91299px"
x="63.665733" x="63.665733"
y="37.424942" y="37.424942"
>A-label</tspan><tspan >A-Label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="61.765884" x="61.765884"
y="39.816174" y="39.816174"
>1000</tspan></text> >1000</tspan></text>
<rect <rect
x="78.633316" x="78.633316"
y="44.796646" y="44.796646"
width="16.734961" width="16.734961"
height="7.5306678" height="7.5306678"
skipping to change at line 7945 skipping to change at line 7605
font-size="1.91299px" font-size="1.91299px"
x="88.430183" x="88.430183"
y="44.359524" y="44.359524"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.91299px" font-size="1.91299px"
x="94.323647" x="94.323647"
y="44.359524" y="44.359524"
>F</tspan><tspan >F-Label</tspan><tspan
font-size="1.91299px"
x="95.334923"
y="44.359524"
>-</tspan><tspan
font-size="1.91299px"
x="96.136978"
y="44.359524"
>label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="91.691467" x="91.691467"
y="46.750759" y="46.750759"
>20001</tspan></text> >20001</tspan></text>
<rect <rect
x="78.853516" x="78.853516"
y="109.19672" y="109.19672"
width="16.734961" width="16.734961"
height="7.6605062" height="7.6605062"
skipping to change at line 7982 skipping to change at line 7632
font-size="1.91299px" font-size="1.91299px"
x="88.656288" x="88.656288"
y="103.66222" y="103.66222"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.91299px" font-size="1.91299px"
x="94.549698" x="94.549698"
y="103.66222" y="103.66222"
>F</tspan><tspan >F-Label</tspan><tspan
font-size="1.91299px"
x="95.560974"
y="103.66222"
>-</tspan><tspan
font-size="1.91299px"
x="96.363037"
y="103.66222"
>label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="91.917526" x="91.917526"
y="106.05347" y="106.05347"
>20002</tspan></text> >20002</tspan></text>
<rect <rect
x="78.633316" x="78.633316"
y="37.26598" y="37.26598"
width="16.734961" width="16.734961"
height="7.6605062" height="7.6605062"
skipping to change at line 8019 skipping to change at line 7659
font-size="1.91299px" font-size="1.91299px"
x="88.255699" x="88.255699"
y="37.424942" y="37.424942"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.91299px" font-size="1.91299px"
x="94.149109" x="94.149109"
y="37.424942" y="37.424942"
>A-label</tspan><tspan >A-Label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="92.249329" x="92.249329"
y="39.816174" y="39.816174"
>1001</tspan></text> >1001</tspan></text>
<rect <rect
x="78.853516" x="78.853516"
y="101.79588" y="101.79588"
width="16.734961" width="16.734961"
height="7.530654" height="7.530654"
skipping to change at line 8046 skipping to change at line 7686
font-size="1.91299px" font-size="1.91299px"
x="88.481865" x="88.481865"
y="96.727638" y="96.727638"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.91299px" font-size="1.91299px"
x="94.375275" x="94.375275"
y="96.727638" y="96.727638"
>A-label</tspan><tspan >A-Label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="92.475433" x="92.475433"
y="99.118874" y="99.118874"
>1001</tspan></text> >1001</tspan></text>
<rect <rect
x="78.633316" x="78.633316"
y="29.735331" y="29.735331"
width="8.3674803" width="8.3674803"
height="7.6605062" height="7.6605062"
skipping to change at line 8073 skipping to change at line 7713
font-size="1.43475px" font-size="1.43475px"
x="88.067657" x="88.067657"
y="29.414297" y="29.414297"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.43475px" font-size="1.43475px"
x="87.6492" x="87.6492"
y="31.088161" y="31.088161"
>S-label</tspan><tspan >S-Label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="88.258743" x="88.258743"
y="33.359844" y="33.359844"
>102</tspan></text> >102</tspan></text>
<rect <rect
x="78.633316" x="78.633316"
y="22.204676" y="22.204676"
width="8.3674803" width="8.3674803"
height="7.660481" height="7.660481"
skipping to change at line 8097 skipping to change at line 7737
fill="none" fill="none"
/> />
<text <text
font-size="1.55431px" font-size="1.55431px"
x="89.21917" x="89.21917"
y="22.718824" y="22.718824"
transform="scale(0.92084851,1.0859549)">IP<tspan transform="scale(0.92084851,1.0859549)">IP<tspan
font-size="1.55431px" font-size="1.55431px"
x="87.492264" x="86.492264"
y="24.512253" y="24.512253"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.55431px" font-size="1.55431px"
x="87.492264" x="86.492264"
y="26.305681" y="26.305681"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="78.633316" x="78.633316"
y="14.803868" y="14.803868"
width="8.3674803" width="8.3674803"
height="7.5306678" height="7.5306678"
stroke="#000000" stroke="#000000"
stroke-width="0.278978" stroke-width="0.278978"
skipping to change at line 8159 skipping to change at line 7799
>S</tspan><tspan >S</tspan><tspan
font-size="1.43475px" font-size="1.43475px"
x="97.545494" x="97.545494"
y="31.088161" y="31.088161"
>-</tspan><tspan >-</tspan><tspan
font-size="1.43475px" font-size="1.43475px"
x="98.138313" x="98.138313"
y="31.088161" y="31.088161"
>label</tspan><tspan >Label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="97.352982" x="97.352982"
y="33.359844" y="33.359844"
>105</tspan></text> >105</tspan></text>
<rect <rect
x="87.000771" x="87.000771"
y="22.204676" y="22.204676"
width="8.3674803" width="8.3674803"
height="7.660481" height="7.660481"
skipping to change at line 8183 skipping to change at line 7823
fill="none" fill="none"
/> />
<text <text
font-size="1.55431px" font-size="1.55431px"
x="98.3134" x="98.3134"
y="22.718824" y="22.718824"
transform="scale(0.92084851,1.0859549)">IP<tspan transform="scale(0.92084851,1.0859549)">IP<tspan
font-size="1.55431px" font-size="1.55431px"
x="96.586502" x="95.586502"
y="24.512253" y="24.512253"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.55431px" font-size="1.55431px"
x="96.586502" x="95.586502"
y="26.305681" y="26.305681"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="87.000771" x="87.000771"
y="14.803868" y="14.803868"
width="8.3674803" width="8.3674803"
height="7.5306678" height="7.5306678"
stroke="#000000" stroke="#000000"
stroke-width="0.278978" stroke-width="0.278978"
skipping to change at line 8235 skipping to change at line 7875
font-size="1.43475px" font-size="1.43475px"
x="88.293762" x="88.293762"
y="88.836555" y="88.836555"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.43475px" font-size="1.43475px"
x="87.875305" x="87.875305"
y="90.510422" y="90.510422"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.43475px"
x="88.677361"
y="90.510422"
>-</tspan><tspan
font-size="1.43475px"
x="89.270187"
y="90.510422"
>label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="88.484901" x="88.484901"
y="92.782097" y="92.782097"
>102</tspan></text> >102</tspan></text>
<rect <rect
x="87.22097" x="87.22097"
y="94.395096" y="94.395096"
width="8.3674803" width="8.3674803"
height="7.5306678" height="7.5306678"
skipping to change at line 8272 skipping to change at line 7902
font-size="1.43475px" font-size="1.43475px"
x="97.42115" x="97.42115"
y="88.836555" y="88.836555"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.43475px" font-size="1.43475px"
x="97.002693" x="97.002693"
y="90.510422" y="90.510422"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.43475px"
x="97.804741"
y="90.510422"
>-</tspan><tspan
font-size="1.43475px"
x="98.397575"
y="90.510422"
>label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="97.612244" x="97.612244"
y="92.782097" y="92.782097"
>105</tspan></text> >105</tspan></text>
<rect <rect
x="78.853516" x="78.853516"
y="86.864433" y="86.864433"
width="8.3674803" width="8.3674803"
height="7.530642" height="7.530642"
skipping to change at line 8306 skipping to change at line 7926
fill="none" fill="none"
/> />
<text <text
font-size="1.55431px" font-size="1.55431px"
x="89.445267" x="89.445267"
y="82.260643" y="82.260643"
transform="scale(0.92084851,1.0859549)">IP<tspan transform="scale(0.92084851,1.0859549)">IP<tspan
font-size="1.55431px" font-size="1.55431px"
x="87.718422" x="86.718422"
y="84.054077" y="84.054077"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.55431px" font-size="1.55431px"
x="87.718422" x="86.718422"
y="85.847504" y="85.847504"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="87.22097" x="87.22097"
y="86.864433" y="86.864433"
width="8.3674803" width="8.3674803"
height="7.530642" height="7.530642"
stroke="#000000" stroke="#000000"
stroke-width="0.278978" stroke-width="0.278978"
skipping to change at line 8333 skipping to change at line 7953
fill="none" fill="none"
/> />
<text <text
font-size="1.55431px" font-size="1.55431px"
x="98.572662" x="98.572662"
y="82.260643" y="82.260643"
transform="scale(0.92084851,1.0859549)">IP<tspan transform="scale(0.92084851,1.0859549)">IP<tspan
font-size="1.55431px" font-size="1.55431px"
x="96.845764" x="95.845764"
y="84.054077" y="84.054077"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.55431px" font-size="1.55431px"
x="96.845764" x="95.845764"
y="85.847504" y="85.847504"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="78.853516" x="78.853516"
y="79.463615" y="79.463615"
width="8.3674803" width="8.3674803"
height="7.530642" height="7.530642"
stroke="#000000" stroke="#000000"
stroke-width="0.278978" stroke-width="0.278978"
skipping to change at line 8407 skipping to change at line 8027
font-size="1.43475px" font-size="1.43475px"
x="128.18581" x="128.18581"
y="29.414297" y="29.414297"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.43475px" font-size="1.43475px"
x="127.76733" x="127.76733"
y="31.088161" y="31.088161"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.43475px"
x="128.5694"
y="31.088161"
>-</tspan><tspan
font-size="1.43475px"
x="129.16223"
y="31.088161"
>label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="128.37694" x="128.37694"
y="33.359844" y="33.359844"
>105</tspan></text> >105</tspan></text>
<rect <rect
x="107.14881" x="107.14881"
y="44.796646" y="44.796646"
width="16.845058" width="16.845058"
height="7.5306678" height="7.5306678"
skipping to change at line 8444 skipping to change at line 8054
font-size="1.91299px" font-size="1.91299px"
x="119.45421" x="119.45421"
y="44.359524" y="44.359524"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.91299px" font-size="1.91299px"
x="125.3476" x="125.3476"
y="44.359524" y="44.359524"
>F</tspan><tspan >F-Label</tspan><tspan
font-size="1.91299px"
x="126.35893"
y="44.359524"
>-</tspan><tspan
font-size="1.91299px"
x="127.161"
y="44.359524"
>label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="122.71549" x="122.71549"
y="46.750759" y="46.750759"
>20003</tspan></text> >20003</tspan></text>
<rect <rect
x="107.25889" x="107.25889"
y="109.19672" y="109.19672"
width="16.734961" width="16.734961"
height="7.6605062" height="7.6605062"
skipping to change at line 8481 skipping to change at line 8081
font-size="1.91299px" font-size="1.91299px"
x="119.47336" x="119.47336"
y="103.66222" y="103.66222"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.91299px" font-size="1.91299px"
x="125.36674" x="125.36674"
y="103.66222" y="103.66222"
>F</tspan><tspan >F-Label</tspan><tspan
font-size="1.91299px"
x="126.37802"
y="103.66222"
>-</tspan><tspan
font-size="1.91299px"
x="127.18009"
y="103.66222"
>label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="122.73457" x="122.73457"
y="106.05347" y="106.05347"
>20004</tspan></text> >20004</tspan></text>
<rect <rect
x="107.25889" x="107.25889"
y="101.79588" y="101.79588"
width="16.734961" width="16.734961"
height="7.530654" height="7.530654"
skipping to change at line 8518 skipping to change at line 8108
font-size="1.91299px" font-size="1.91299px"
x="119.2988" x="119.2988"
y="96.727638" y="96.727638"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.91299px" font-size="1.91299px"
x="125.19222" x="125.19222"
y="96.727638" y="96.727638"
>A-label</tspan><tspan >A-Label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="123.29238" x="123.29238"
y="99.118874" y="99.118874"
>1001</tspan></text> >1001</tspan></text>
<rect <rect
x="107.14881" x="107.14881"
y="37.26598" y="37.26598"
width="16.845058" width="16.845058"
height="7.6605062" height="7.6605062"
skipping to change at line 8545 skipping to change at line 8135
font-size="1.91299px" font-size="1.91299px"
x="119.27966" x="119.27966"
y="37.424942" y="37.424942"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.91299px" font-size="1.91299px"
x="125.17307" x="125.17307"
y="37.424942" y="37.424942"
>A-label</tspan><tspan >A-Label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="123.27324" x="123.27324"
y="39.816174" y="39.816174"
>1001</tspan></text> >1001</tspan></text>
<rect <rect
x="107.14881" x="107.14881"
y="29.735331" y="29.735331"
width="8.3674803" width="8.3674803"
height="7.6605062" height="7.6605062"
skipping to change at line 8572 skipping to change at line 8162
font-size="1.43475px" font-size="1.43475px"
x="119.0908" x="119.0908"
y="29.414297" y="29.414297"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.43475px" font-size="1.43475px"
x="118.67229" x="118.67229"
y="31.088161" y="31.088161"
>S-label</tspan><tspan >S-Label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="119.28188" x="119.28188"
y="33.359844" y="33.359844"
>102</tspan></text> >102</tspan></text>
<rect <rect
x="107.14881" x="107.14881"
y="22.204676" y="22.204676"
width="8.3674803" width="8.3674803"
height="7.660481" height="7.660481"
skipping to change at line 8596 skipping to change at line 8186
fill="none" fill="none"
/> />
<text <text
font-size="1.55431px" font-size="1.55431px"
x="120.24334" x="120.24334"
y="22.718824" y="22.718824"
transform="scale(0.92084851,1.0859549)">IP<tspan transform="scale(0.92084851,1.0859549)">IP<tspan
font-size="1.55431px" font-size="1.55431px"
x="118.51652" x="117.51652"
y="24.512253" y="24.512253"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.55431px" font-size="1.55431px"
x="118.51652" x="117.51652"
y="26.305681" y="26.305681"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="115.51627" x="115.51627"
y="22.204676" y="22.204676"
width="8.4775782" width="8.4775782"
height="7.660481" height="7.660481"
stroke="#000000" stroke="#000000"
stroke-width="0.278978" stroke-width="0.278978"
skipping to change at line 8623 skipping to change at line 8213
fill="none" fill="none"
/> />
<text <text
font-size="1.55431px" font-size="1.55431px"
x="129.33725" x="129.33725"
y="22.718824" y="22.718824"
transform="scale(0.92084851,1.0859549)">IP<tspan transform="scale(0.92084851,1.0859549)">IP<tspan
font-size="1.55431px" font-size="1.55431px"
x="127.61037" x="126.61037"
y="24.512253" y="24.512253"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.55431px" font-size="1.55431px"
x="127.61037" x="126.61037"
y="26.305681" y="26.305681"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="107.14881" x="107.14881"
y="14.803868" y="14.803868"
width="8.3674803" width="8.3674803"
height="7.5306678" height="7.5306678"
stroke="#000000" stroke="#000000"
stroke-width="0.278978" stroke-width="0.278978"
skipping to change at line 8697 skipping to change at line 8287
font-size="1.43475px" font-size="1.43475px"
x="119.0908" x="119.0908"
y="88.836555" y="88.836555"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.43475px" font-size="1.43475px"
x="118.67229" x="118.67229"
y="90.510422" y="90.510422"
>S-label</tspan><tspan >S-Label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="119.28188" x="119.28188"
y="92.782097" y="92.782097"
>102</tspan></text> >102</tspan></text>
<rect <rect
x="115.6264" x="115.6264"
y="94.395096" y="94.395096"
width="8.3674803" width="8.3674803"
height="7.5306678" height="7.5306678"
skipping to change at line 8724 skipping to change at line 8314
font-size="1.43475px" font-size="1.43475px"
x="128.205" x="128.205"
y="88.836555" y="88.836555"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.43475px" font-size="1.43475px"
x="127.78648" x="127.78648"
y="90.510422" y="90.510422"
>S-label</tspan><tspan >S-Label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="128.39609" x="128.39609"
y="92.782097" y="92.782097"
>105</tspan></text> >105</tspan></text>
<rect <rect
x="107.14881" x="107.14881"
y="86.864433" y="86.864433"
width="8.3674803" width="8.3674803"
height="7.530642" height="7.530642"
skipping to change at line 8748 skipping to change at line 8338
fill="none" fill="none"
/> />
<text <text
font-size="1.55431px" font-size="1.55431px"
x="120.24334" x="120.24334"
y="82.260643" y="82.260643"
transform="scale(0.92084851,1.0859549)">IP<tspan transform="scale(0.92084851,1.0859549)">IP<tspan
font-size="1.55431px" font-size="1.55431px"
x="118.51652" x="117.51652"
y="84.054077" y="84.054077"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.55431px" font-size="1.55431px"
x="118.51652" x="117.51652"
y="85.847504" y="85.847504"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="115.6264" x="115.6264"
y="86.864433" y="86.864433"
width="8.3674803" width="8.3674803"
height="7.530642" height="7.530642"
stroke="#000000" stroke="#000000"
stroke-width="0.278978" stroke-width="0.278978"
skipping to change at line 8775 skipping to change at line 8365
fill="none" fill="none"
/> />
<text <text
font-size="1.55431px" font-size="1.55431px"
x="129.35634" x="129.35634"
y="82.260643" y="82.260643"
transform="scale(0.92084851,1.0859549)">IP<tspan transform="scale(0.92084851,1.0859549)">IP<tspan
font-size="1.55431px" font-size="1.55431px"
x="127.62944" x="126.62944"
y="84.054077" y="84.054077"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.55431px" font-size="1.55431px"
x="127.62944" x="126.62944"
y="85.847504" y="85.847504"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="107.14881" x="107.14881"
y="79.463615" y="79.463615"
width="8.3674803" width="8.3674803"
height="7.530642" height="7.530642"
stroke="#000000" stroke="#000000"
stroke-width="0.278978" stroke-width="0.278978"
skipping to change at line 8849 skipping to change at line 8439
font-size="1.43475px" font-size="1.43475px"
x="158.93114" x="158.93114"
y="29.414297" y="29.414297"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.43475px" font-size="1.43475px"
x="158.51268" x="158.51268"
y="31.088161" y="31.088161"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.43475px"
x="159.31476"
y="31.088161"
>-</tspan><tspan
font-size="1.43475px"
x="159.90758"
y="31.088161"
>label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="159.12227" x="159.12227"
y="33.359844" y="33.359844"
>105</tspan></text> >105</tspan></text>
<rect <rect
x="135.5542" x="135.5542"
y="44.796646" y="44.796646"
width="16.734961" width="16.734961"
height="7.5306678" height="7.5306678"
skipping to change at line 8886 skipping to change at line 8466
font-size="1.91299px" font-size="1.91299px"
x="150.19954" x="150.19954"
y="44.359524" y="44.359524"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.91299px" font-size="1.91299px"
x="156.09296" x="156.09296"
y="44.359524" y="44.359524"
>F</tspan><tspan >F-Label</tspan><tspan
font-size="1.91299px"
x="157.10428"
y="44.359524"
>-</tspan><tspan
font-size="1.91299px"
x="157.90636"
y="44.359524"
>label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="153.46083" x="153.46083"
y="46.750759" y="46.750759"
>20005</tspan></text> >20005</tspan></text>
<rect <rect
x="135.5542" x="135.5542"
y="29.735331" y="29.735331"
width="8.3674803" width="8.3674803"
height="7.6605062" height="7.6605062"
skipping to change at line 8923 skipping to change at line 8493
font-size="1.43475px" font-size="1.43475px"
x="149.8373" x="149.8373"
y="29.414297" y="29.414297"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.43475px" font-size="1.43475px"
x="149.41884" x="149.41884"
y="31.088161" y="31.088161"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.43475px"
x="150.22089"
y="31.088161"
>-</tspan><tspan
font-size="1.43475px"
x="150.81372"
y="31.088161"
>label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="150.02837" x="150.02837"
y="33.359844" y="33.359844"
>102</tspan></text> >102</tspan></text>
<rect <rect
x="135.5542" x="135.5542"
y="22.204676" y="22.204676"
width="8.3674803" width="8.3674803"
height="7.660481" height="7.660481"
skipping to change at line 8957 skipping to change at line 8517
fill="none" fill="none"
/> />
<text <text
font-size="1.55431px" font-size="1.55431px"
x="150.98869" x="150.98869"
y="22.718824" y="22.718824"
transform="scale(0.92084851,1.0859549)">IP<tspan transform="scale(0.92084851,1.0859549)">IP<tspan
font-size="1.55431px" font-size="1.55431px"
x="149.26186" x="148.26186"
y="24.512253" y="24.512253"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.55431px" font-size="1.55431px"
x="149.26186" x="148.26186"
y="26.305681" y="26.305681"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="143.92168" x="143.92168"
y="22.204676" y="22.204676"
width="8.3674803" width="8.3674803"
height="7.660481" height="7.660481"
stroke="#000000" stroke="#000000"
stroke-width="0.278978" stroke-width="0.278978"
skipping to change at line 8984 skipping to change at line 8544
fill="none" fill="none"
/> />
<text <text
font-size="1.55431px" font-size="1.55431px"
x="160.08261" x="160.08261"
y="22.718824" y="22.718824"
transform="scale(0.92084851,1.0859549)">IP<tspan transform="scale(0.92084851,1.0859549)">IP<tspan
font-size="1.55431px" font-size="1.55431px"
x="158.3557" x="157.3557"
y="24.512253" y="24.512253"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.55431px" font-size="1.55431px"
x="158.3557" x="157.3557"
y="26.305681" y="26.305681"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="135.5542" x="135.5542"
y="14.803868" y="14.803868"
width="8.3674803" width="8.3674803"
height="7.5306678" height="7.5306678"
stroke="#000000" stroke="#000000"
stroke-width="0.278978" stroke-width="0.278978"
skipping to change at line 9058 skipping to change at line 8618
font-size="1.91299px" font-size="1.91299px"
x="150.02502" x="150.02502"
y="37.424942" y="37.424942"
transform="scale(0.92084851,1.0859549)">MPLS<tspan transform="scale(0.92084851,1.0859549)">MPLS<tspan
font-size="1.91299px" font-size="1.91299px"
x="155.91843" x="155.91843"
y="37.424942" y="37.424942"
>A-label</tspan><tspan >A-Label</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="154.01859" x="154.01859"
y="39.816174" y="39.816174"
>1002</tspan></text> >1002</tspan></text>
<rect <rect
x="180.36424" x="180.36424"
y="50.509552" y="50.509552"
width="16.624861" width="16.624861"
height="7.4007897" height="7.4007897"
skipping to change at line 9082 skipping to change at line 8642
fill="none" fill="none"
/> />
<text <text
font-size="2.74992px" font-size="2.74992px"
x="200.07483" x="200.07483"
y="49.859375" y="49.859375"
transform="scale(0.92084851,1.0859549)">IP <tspan transform="scale(0.92084851,1.0859549)">IP <tspan
font-size="1.91299px" font-size="1.91299px"
x="203.63179" x="202.63179"
y="49.859375" y="49.859375"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.91299px" font-size="1.91299px"
x="203.59692" x="202.59692"
y="52.370171" y="52.370171"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<path <path
d="m 39.644715,64.012797 c -0.190043,0 -0.344048,-0.726579 -0.344048,-1.6 22985 0,-0.896411 0.154005,-1.62299 0.344048,-1.62299 0.190042,0 0.344047,0.7265 79 0.344047,1.62299 0,0.896406 -0.154005,1.622985 -0.344047,1.622985 H 20.955519 c -0.190044,0 -0.344087,-0.726579 -0.344087,-1.622985 0,-0.896411 0.154043,-1.6 2299 0.344087,-1.62299 h 18.689196" d="m 39.644715,64.012797 c -0.190043,0 -0.344048,-0.726579 -0.344048,-1.6 22985 0,-0.896411 0.154005,-1.62299 0.344048,-1.62299 0.190042,0 0.344047,0.7265 79 0.344047,1.62299 0,0.896406 -0.154005,1.622985 -0.344047,1.622985 H 20.955519 c -0.190044,0 -0.344087,-0.726579 -0.344087,-1.622985 0,-0.896411 0.154043,-1.6 2299 0.344087,-1.62299 h 18.689196"
stroke="#000000" stroke="#000000"
stroke-width="0.278978" stroke-width="0.278978"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
skipping to change at line 9219 skipping to change at line 8779
font-size="4.61682px" font-size="4.61682px"
x="150.25476" x="150.25476"
y="91.128922" y="91.128922"
transform="scale(0.84661926,1.1811685)">E<tspan transform="scale(0.84661926,1.1811685)">E<tspan
font-size="3.6275px" font-size="3.6275px"
x="162.79132" x="162.79132"
y="82.884621" y="82.884621"
>Notes:</tspan><tspan >Note:</tspan><tspan
font-size="3.6275px" font-size="3.6275px"
x="162.79132" x="162.79132"
y="87.171661" y="87.171661"
>-</tspan><tspan >-</tspan><tspan
font-size="3.6275px" font-size="3.6275px"
x="168.56235" x="168.56235"
y="87.171661" y="87.171661"
>S and A labels in this diagram include d-CWs</tspan><tspan >S- and A-Labels in this diagram include</tspan><tspan
font-size="3.6275px" font-size="3.6275px"
x="168.56235" x="168.56235"
y="91.458702" y="91.458702"
>of their own.</tspan></text> > d-CWs of their own.</tspan></text>
<path <path
d="m 37.841833,54.27332 c 0,-0.321738 0.221209,-0.582718 0.494144,-0.5827 18 h 14.315442 c 0.272932,0 0.4941,0.26098 0.4941,0.582718 v 17.920882 c 0,0.321 869 -0.221168,0.582717 -0.4941,0.582717 H 38.335977 c -0.272935,0 -0.494144,-0.2 60848 -0.494144,-0.582717 z" d="m 37.841833,54.27332 c 0,-0.321738 0.221209,-0.582718 0.494144,-0.5827 18 h 14.315442 c 0.272932,0 0.4941,0.26098 0.4941,0.582718 v 17.920882 c 0,0.321 869 -0.221168,0.582717 -0.4941,0.582717 H 38.335977 c -0.272935,0 -0.494144,-0.2 60848 -0.494144,-0.582717 z"
stroke="#000000" stroke="#000000"
stroke-width="0.557954" stroke-width="0.557954"
stroke-miterlimit="8" stroke-miterlimit="8"
stroke-dasharray="2.23184, 1.67387" stroke-dasharray="2.23184, 1.67387"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<path <path
skipping to change at line 9268 skipping to change at line 8828
transform="scale(0.92084851,1.0859549)">aggregation<tspan transform="scale(0.92084851,1.0859549)">aggregation<tspan
font-size="2.74992px" font-size="2.74992px"
x="163.04509" x="163.04509"
y="75.326057" y="75.326057"
>disaggregation</tspan></text> >disaggregation</tspan></text>
</g> </g>
</svg> </svg>
</artwork> </artwork>
</artset>
</figure> </figure>
<t> <xref target="example-detnet-json-service-aggregation-b-2"/> <t> <xref target="example-detnet-json-service-aggregation-b-2"/>
contains the operational JSON configuration for the ingress aggregat ion contains the operational JSON configuration for the ingress aggregat ion
node illustrated in <xref target="case-b2"/>. node illustrated in <xref target="case-b2"/>.
In this example, service sub-layer ssl-1 for DetNet flow DN1 In this example, service sub-layer ssl-1 for DetNet flow DN-1
and ssl-2 for flow DN2 aggregate at service sub-layer Detet flow asl and ssl-2 for DetNet flow DN-2 aggregate at service sub-layer DetNet
-1. flow asl-1.
In this example an aggregation service sub-layer asl-1 is created In this example, an aggregation service sub-layer, asl-1, is created
to aggregated ssl-1 and ssl2 and that label is encapsulated in a to aggregate ssl-1 and ssl2, and that label is encapsulated in a
separate forwarding sub-layer afl-1 with MPLS labels. separate forwarding sub-layer, afl-1, with MPLS labels.
</t> </t>
<figure anchor="example-detnet-json-service-aggregation-b-2"> <figure anchor="example-detnet-json-service-aggregation-b-2">
<name>Example B-2 DetNet Service Aggregation</name> <name>Example B-2: DetNet Service Aggregation</name>
<artwork name="" type="" align="left" alt=""><![CDATA[ <sourcecode name="" type="json"><![CDATA[
{ {
"ietf-detnet:detnet": { "ietf-detnet:detnet": {
"traffic-profile": [ "traffic-profile": [
{ {
"name": "1", "name": "1",
"traffic-requirements": { "traffic-requirements": {
"min-bandwidth": "100000000", "min-bandwidth": "100000000",
"max-latency": 100000000, "max-latency": 100000000,
"max-latency-variation": 20000000, "max-latency-variation": 20000000,
"max-loss": "0.0000001", "max-loss": "0.0000001",
skipping to change at line 9542 skipping to change at line 9101
"name": "eth2", "name": "eth2",
"type": "iana-if-type:ethernetCsmacd", "type": "iana-if-type:ethernetCsmacd",
"oper-status": "up", "oper-status": "up",
"statistics": { "statistics": {
"discontinuity-time": "2024-02-21T18:59:00-05:00" "discontinuity-time": "2024-02-21T18:59:00-05:00"
} }
} }
] ]
} }
} }
]]></artwork> ]]></sourcecode>
</figure> </figure>
</section> </section>
<section numbered="true" toc="default"> <section numbered="true" toc="default">
<name>Example C-1 JSON Relay Aggregation/Disaggregation Configurat ion</name> <name>Example C-1: DetNet Relay Service Sub-layer</name>
<t> <t>
<xref target="case-c1"/> illustrates the relay node's forwarding sub-layer <xref target="case-c1"/> illustrates the DetNet relay node's for warding sub-layer
flows 1 and 2 aggregated into a single forwarding sub-layer. flows 1 and 2 aggregated into a single forwarding sub-layer.
Service protection and resource allocation are Service protection and resource allocation are
performed by the corresponding service sub-layer and forwarding performed by the corresponding service sub-layer and forwarding
sub-layer of each flow. sub-layer of each flow.
A diagram illustrating both aggregation and disaggregation is sh <xref target="case-c1"/> illustrates both aggregation and disagg
own and then the regation, and the
corresponding JSON operational data follows. corresponding JSON operational data follows.</t>
</t>
<figure anchor="case-c1"> <figure anchor="case-c1">
<name>Case C-1 Example Service Aggregation/Disaggregation</name> <name>Case C-1: Example Service Aggregation/Disaggregation</name
<artset> >
<artwork align="left" type="ascii-art" name="" alt=""><![CDATA[
Please consult the PDF or HTML versions for the Case C-1 Diagram.
]]></artwork>
<artwork type="svg"> <artwork type="svg">
<svg <svg
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
width="180mm" width="180mm"
height="120mm" height="120mm"
viewBox="0 0 210 140" viewBox="0 0 210 140"
version="1.1" version="1.1"
> >
skipping to change at line 9705 skipping to change at line 9257
stroke="#000000" stroke="#000000"
stroke-width="0.214721" stroke-width="0.214721"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<text <text
font-size="2.82205px" font-size="2.82205px"
x="100.33884" x="99.33884"
y="83.672615" y="83.672615"
transform="scale(0.97023256,1.0306807)">Transit 2</text> transform="scale(0.97023256,1.0306807)">Transit 2</text>
<path <path
d="m 106.13875,77.517256 c 0,-0.3511 -0.26792,-0.63571 -0.59842,-0.63571 h -6.54112 c -0.330506,0 -0.598433,0.28461 -0.598433,0.63571 v 5.55757 c 0,0.351 09 0.267927,0.6357 0.598433,0.6357 h 6.54112 c 0.3305,0 0.59842,-0.28461 0.59842 ,-0.6357 z" d="m 106.13875,77.517256 c 0,-0.3511 -0.26792,-0.63571 -0.59842,-0.63571 h -6.54112 c -0.330506,0 -0.598433,0.28461 -0.598433,0.63571 v 5.55757 c 0,0.351 09 0.267927,0.6357 0.598433,0.6357 h 6.54112 c 0.3305,0 0.59842,-0.28461 0.59842 ,-0.6357 z"
stroke="#000000" stroke="#000000"
stroke-width="0.286295" stroke-width="0.286295"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
skipping to change at line 9730 skipping to change at line 9282
stroke="#000000" stroke="#000000"
stroke-width="0.214721" stroke-width="0.214721"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<text <text
font-size="2.82205px" font-size="2.82205px"
x="100.33884" x="99.33884"
y="51.525776" y="51.525776"
transform="scale(0.97023256,1.0306807)">Transit 1</text> transform="scale(0.97023256,1.0306807)">Transit 1</text>
<path <path
d="m 106.13875,44.510576 c 0,-0.3511 -0.26792,-0.63571 -0.59842,-0.63571 h -6.54112 c -0.330506,0 -0.598433,0.28461 -0.598433,0.63571 v 5.55757 c 0,0.351 08 0.267927,0.6357 0.598433,0.6357 h 6.54112 c 0.3305,0 0.59842,-0.28462 0.59842 ,-0.6357 z" d="m 106.13875,44.510576 c 0,-0.3511 -0.26792,-0.63571 -0.59842,-0.63571 h -6.54112 c -0.330506,0 -0.598433,0.28461 -0.598433,0.63571 v 5.55757 c 0,0.351 08 0.267927,0.6357 0.598433,0.6357 h 6.54112 c 0.3305,0 0.59842,-0.28462 0.59842 ,-0.6357 z"
stroke="#000000" stroke="#000000"
stroke-width="0.286295" stroke-width="0.286295"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
skipping to change at line 9874 skipping to change at line 9426
stroke-width="0.286295" stroke-width="0.286295"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.96317px" font-size="1.96317px"
x="83.311066" x="83.311066"
y="41.341846" y="41.341846"
transform="scale(0.97023256,1.0306807)">MPLS F<tspan transform="scale(0.97023256,1.0306807)">MPLS F-Label<tspan
font-size="1.96317px"
x="90.396866"
y="41.341846"
>-</tspan><tspan
font-size="1.96317px"
x="91.219971"
y="41.341846"
>label</tspan><tspan
font-size="1.96317px" font-size="1.96317px"
x="86.657852" x="86.657852"
y="43.795799" y="43.795799"
>20000</tspan></text> >20000</tspan></text>
<rect <rect
x="77.805916" x="77.805916"
y="109.88822" y="109.88822"
width="18.094917" width="18.094917"
height="7.4612932" height="7.4612932"
skipping to change at line 9906 skipping to change at line 9448
stroke-width="0.286295" stroke-width="0.286295"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.96317px" font-size="1.96317px"
x="83.320015" x="83.320015"
y="109.80728" y="109.80728"
transform="scale(0.97023256,1.0306807)">MPLS F<tspan transform="scale(0.97023256,1.0306807)">MPLS F-Label<tspan
font-size="1.96317px"
x="90.40583"
y="109.80728"
>-</tspan><tspan
font-size="1.96317px"
x="91.228935"
y="109.80728"
>label</tspan><tspan
font-size="1.96317px" font-size="1.96317px"
x="86.666817" x="86.666817"
y="112.26123" y="112.26123"
>20001</tspan></text> >20001</tspan></text>
<rect <rect
x="108.40061" x="108.40061"
y="39.448677" y="39.448677"
width="18.094917" width="18.094917"
height="7.3348303" height="7.3348303"
skipping to change at line 9938 skipping to change at line 9470
stroke-width="0.286295" stroke-width="0.286295"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.96317px" font-size="1.96317px"
x="114.84541" x="114.84541"
y="41.341846" y="41.341846"
transform="scale(0.97023256,1.0306807)">MPLS F<tspan transform="scale(0.97023256,1.0306807)">MPLS F-Label<tspan
font-size="1.96317px"
x="121.93121"
y="41.341846"
>-</tspan><tspan
font-size="1.96317px"
x="122.75431"
y="41.341846"
>label</tspan><tspan
font-size="1.96317px" font-size="1.96317px"
x="118.19219" x="118.19219"
y="43.795799" y="43.795799"
>20002</tspan></text> >20002</tspan></text>
<rect <rect
x="108.51966" x="108.51966"
y="109.88822" y="109.88822"
width="18.094917" width="18.094917"
height="7.4612932" height="7.4612932"
skipping to change at line 9970 skipping to change at line 9492
stroke-width="0.286295" stroke-width="0.286295"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.96317px" font-size="1.96317px"
x="115.00124" x="115.00124"
y="109.80728" y="109.80728"
transform="scale(0.97023256,1.0306807)">MPLS F<tspan transform="scale(0.97023256,1.0306807)">MPLS F-Label<tspan
font-size="1.96317px"
x="122.08704"
y="109.80728"
>-</tspan><tspan
font-size="1.96317px"
x="122.91014"
y="109.80728"
>label</tspan><tspan
font-size="1.96317px" font-size="1.96317px"
x="118.34802" x="118.34802"
y="112.26123" y="112.26123"
>20003</tspan></text> >20003</tspan></text>
<rect <rect
x="169.70906" x="169.70906"
y="10.362334" y="10.362334"
width="18.213964" width="18.213964"
height="7.3348303" height="7.3348303"
skipping to change at line 10073 skipping to change at line 9585
stroke-width="0.286295" stroke-width="0.286295"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.96317px" font-size="1.96317px"
x="51.805058" x="51.805058"
y="27.231581" y="27.231581"
transform="scale(0.97023256,1.0306807)">MPLS S<tspan transform="scale(0.97023256,1.0306807)">MPLS S-Label<tspan
font-size="1.96317px"
x="58.998222"
y="27.231581"
>-</tspan><tspan
font-size="1.96317px"
x="59.821327"
y="27.231581"
>label</tspan><tspan
font-size="1.96317px" font-size="1.96317px"
x="56.349998" x="56.349998"
y="29.685534" y="29.685534"
>100</tspan></text> >100</tspan></text>
<rect <rect
x="47.330269" x="47.330269"
y="32.113853" y="32.113853"
width="18.094917" width="18.094917"
height="7.4612932" height="7.4612932"
skipping to change at line 10105 skipping to change at line 9607
stroke-width="0.286295" stroke-width="0.286295"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.96317px" font-size="1.96317px"
x="51.858681" x="51.858681"
y="34.348064" y="34.348064"
transform="scale(0.97023256,1.0306807)">MPLS F<tspan transform="scale(0.97023256,1.0306807)">MPLS F-Label<tspan
font-size="1.96317px"
x="58.944485"
y="34.348064"
>-</tspan><tspan
font-size="1.96317px"
x="59.767574"
y="34.348064"
>label</tspan><tspan
font-size="1.96317px" font-size="1.96317px"
x="55.205456" x="55.205456"
y="36.802017" y="36.802017"
>10000</tspan></text> >10000</tspan></text>
<rect <rect
x="47.330269" x="47.330269"
y="10.362334" y="10.362334"
width="18.094917" width="18.094917"
height="7.3348303" height="7.3348303"
skipping to change at line 10181 skipping to change at line 9673
stroke-width="0.286295" stroke-width="0.286295"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.96317px" font-size="1.96317px"
x="146.48798" x="146.48798"
y="27.231581" y="27.231581"
transform="scale(0.97023256,1.0306807)">MPLS S<tspan transform="scale(0.97023256,1.0306807)">MPLS S-Label<tspan
font-size="1.96317px"
x="153.68114"
y="27.231581"
>-</tspan><tspan
font-size="1.96317px"
x="154.50424"
y="27.231581"
>label</tspan><tspan
font-size="1.96317px" font-size="1.96317px"
x="151.0329" x="151.0329"
y="29.685534" y="29.685534"
>102</tspan></text> >102</tspan></text>
<rect <rect
x="139.11435" x="139.11435"
y="32.113853" y="32.113853"
width="18.094917" width="18.094917"
height="7.4612932" height="7.4612932"
skipping to change at line 10213 skipping to change at line 9695
stroke-width="0.286295" stroke-width="0.286295"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.96317px" font-size="1.96317px"
x="146.54195" x="146.54195"
y="34.348064" y="34.348064"
transform="scale(0.97023256,1.0306807)">MPLS F<tspan transform="scale(0.97023256,1.0306807)">MPLS F-Label<tspan
font-size="1.96317px"
x="153.62776"
y="34.348064"
>-</tspan><tspan
font-size="1.96317px"
x="154.45087"
y="34.348064"
>label</tspan><tspan
font-size="1.96317px" font-size="1.96317px"
x="149.88875" x="149.88875"
y="36.802017" y="36.802017"
>10005</tspan></text> >10005</tspan></text>
<rect <rect
x="139.11435" x="139.11435"
y="10.362334" y="10.362334"
width="18.094917" width="18.094917"
height="7.3348303" height="7.3348303"
skipping to change at line 10274 skipping to change at line 9746
x="151.48055" x="151.48055"
y="20.605892" y="20.605892"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.96317px" font-size="1.96317px"
x="151.44476" x="151.44476"
y="23.182554" y="23.182554"
>192.0.2.8</tspan><tspan >192.0.2.8</tspan><tspan
font-size="2.82205px" font-size="2.82205px"
x="5.8307571" x="4.8307571"
y="83.672615" y="83.672615"
>Source 2</tspan><tspan >Source 2</tspan><tspan
font-size="2.82205px" font-size="2.82205px"
x="6.8675623" x="5.8675623"
y="86.494675" y="86.494675"
>192.0.2.2</tspan></text> >192.0.2.2</tspan></text>
<path <path
d="m 14.473711,77.517256 c 0,-0.3511 -0.267927,-0.63571 -0.598433,-0.6357 1 H 7.2151268 c -0.3305064,0 -0.5984335,0.28461 -0.5984335,0.63571 v 5.55758 c 0 ,0.3511 0.2679271,0.63572 0.5984335,0.63572 h 6.6601512 c 0.330506,0 0.598433,-0 .28462 0.598433,-0.63572 z" d="m 14.473711,77.517256 c 0,-0.3511 -0.267927,-0.63571 -0.598433,-0.6357 1 H 7.2151268 c -0.3305064,0 -0.5984335,0.28461 -0.5984335,0.63571 v 5.55758 c 0 ,0.3511 0.2679271,0.63572 0.5984335,0.63572 h 6.6601512 c 0.330506,0 0.598433,-0 .28462 0.598433,-0.63572 z"
stroke="#000000" stroke="#000000"
stroke-width="0.286295" stroke-width="0.286295"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
skipping to change at line 10354 skipping to change at line 9826
x="25.312113" x="25.312113"
y="110.17537" y="110.17537"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.96317px" font-size="1.96317px"
x="25.276333" x="25.276333"
y="112.75203" y="112.75203"
>192.0.2.9</tspan><tspan >192.0.2.9</tspan><tspan
font-size="2.82205px" font-size="2.82205px"
x="192.41074" x="195.41074"
y="83.672615" y="83.672615"
>Destination 2</tspan><tspan >Destination 2</tspan><tspan
font-size="2.82205px" font-size="2.82205px"
x="196.15056" x="196.15056"
y="86.494675" y="86.494675"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<path <path
d="m 198.04189,77.517256 c 0,-0.3511 -0.26793,-0.63571 -0.59843,-0.63571 h -6.54112 c -0.3305,0 -0.59843,0.28461 -0.59843,0.63571 v 5.55757 c 0,0.35109 0 .26793,0.6357 0.59843,0.6357 h 6.54112 c 0.3305,0 0.59843,-0.28461 0.59843,-0.63 57 z" d="m 198.04189,77.517256 c 0,-0.3511 -0.26793,-0.63571 -0.59843,-0.63571 h -6.54112 c -0.3305,0 -0.59843,0.28461 -0.59843,0.63571 v 5.55757 c 0,0.35109 0 .26793,0.6357 0.59843,0.6357 h 6.54112 c 0.3305,0 0.59843,-0.28461 0.59843,-0.63 57 z"
skipping to change at line 10449 skipping to change at line 9921
stroke-width="0.286295" stroke-width="0.286295"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.96317px" font-size="1.96317px"
x="51.901497" x="51.901497"
y="102.8135" y="102.8135"
transform="scale(0.97023256,1.0306807)">MPLS S<tspan transform="scale(0.97023256,1.0306807)">MPLS S-Label<tspan
font-size="1.96317px"
x="59.094662"
y="102.8135"
>-</tspan><tspan
font-size="1.96317px"
x="59.917759"
y="102.8135"
>label</tspan><tspan
font-size="1.96317px" font-size="1.96317px"
x="56.446438" x="56.446438"
y="105.26745" y="105.26745"
>103</tspan></text> >103</tspan></text>
<rect <rect
x="47.330269" x="47.330269"
y="88.263161" y="88.263161"
width="18.213964" width="18.213964"
height="7.3348303" height="7.3348303"
skipping to change at line 10583 skipping to change at line 10045
stroke-width="0.286295" stroke-width="0.286295"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.96317px" font-size="1.96317px"
x="51.95512" x="51.95512"
y="109.80728" y="109.80728"
transform="scale(0.97023256,1.0306807)">MPLS F<tspan transform="scale(0.97023256,1.0306807)">MPLS F-Label<tspan
font-size="1.96317px"
x="59.04092"
y="109.80728"
>-</tspan><tspan
font-size="1.96317px"
x="59.864017"
y="109.80728"
>label</tspan><tspan
font-size="1.96317px" font-size="1.96317px"
x="55.874504" x="55.874504"
y="112.26123" y="112.26123"
>10006</tspan></text> >10006</tspan></text>
<path <path
d="m 136.73345,63.855926 22.79007,16.47766" d="m 136.73345,63.855926 22.79007,16.47766"
stroke="#000000" stroke="#000000"
stroke-width="0.286295" stroke-width="0.286295"
stroke-miterlimit="8" stroke-miterlimit="8"
skipping to change at line 10623 skipping to change at line 10075
stroke-width="0.286295" stroke-width="0.286295"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.96317px" font-size="1.96317px"
x="146.42662" x="146.42662"
y="102.8135" y="102.8135"
transform="scale(0.97023256,1.0306807)">MPLS S<tspan transform="scale(0.97023256,1.0306807)">MPLS S-Label<tspan
font-size="1.96317px"
x="153.61978"
y="102.8135"
>-</tspan><tspan
font-size="1.96317px"
x="154.4429"
y="102.8135"
>label</tspan><tspan
font-size="1.96317px" font-size="1.96317px"
x="150.97156" x="150.97156"
y="105.26745" y="105.26745"
>105</tspan></text> >105</tspan></text>
<rect <rect
x="139.11435" x="139.11435"
y="88.263161" y="88.263161"
width="18.094917" width="18.094917"
height="7.3348303" height="7.3348303"
skipping to change at line 10909 skipping to change at line 10351
font-size="1.47237px" font-size="1.47237px"
x="82.939163" x="82.939163"
y="26.1273" y="26.1273"
transform="scale(0.97023256,1.0306807)">MPLS<tspan transform="scale(0.97023256,1.0306807)">MPLS<tspan
font-size="1.47237px" font-size="1.47237px"
x="82.50972" x="82.50972"
y="27.84507" y="27.84507"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.47237px"
x="83.332825"
y="27.84507"
>-</tspan><tspan
font-size="1.47237px"
x="83.941193"
y="27.84507"
>label</tspan><tspan
font-size="1.96317px" font-size="1.96317px"
x="83.135277" x="83.135277"
y="30.176334" y="30.176334"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="86.853378" x="86.853378"
y="24.905508" y="24.905508"
width="9.0474586" width="9.0474586"
height="7.3348303" height="7.3348303"
skipping to change at line 10946 skipping to change at line 10378
font-size="1.47237px" font-size="1.47237px"
x="92.271935" x="92.271935"
y="26.1273" y="26.1273"
transform="scale(0.97023256,1.0306807)">MPLS<tspan transform="scale(0.97023256,1.0306807)">MPLS<tspan
font-size="1.47237px" font-size="1.47237px"
x="91.842491" x="91.842491"
y="27.84507" y="27.84507"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.47237px"
x="92.665596"
y="27.84507"
>-</tspan><tspan
font-size="1.47237px"
x="93.273972"
y="27.84507"
>label</tspan><tspan
font-size="1.96317px" font-size="1.96317px"
x="92.46804" x="92.46804"
y="30.176334" y="30.176334"
>104</tspan></text> >104</tspan></text>
<rect <rect
x="77.805916" x="77.805916"
y="17.570692" y="17.570692"
width="9.0474586" width="9.0474586"
height="7.4612679" height="7.4612679"
skipping to change at line 10980 skipping to change at line 10402
fill="none" fill="none"
/> />
<text <text
font-size="1.59507px" font-size="1.59507px"
x="84.120872" x="84.120872"
y="19.378916" y="19.378916"
transform="scale(0.97023256,1.0306807)">IP<tspan transform="scale(0.97023256,1.0306807)">IP<tspan
font-size="1.59507px" font-size="1.59507px"
x="82.348694" x="81.348694"
y="21.219387" y="21.219387"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.59507px" font-size="1.59507px"
x="82.348694" x="81.348694"
y="23.059853" y="23.059853"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="86.853378" x="86.853378"
y="17.570692" y="17.570692"
width="9.0474586" width="9.0474586"
height="7.4612679" height="7.4612679"
stroke="#000000" stroke="#000000"
stroke-width="0.286295" stroke-width="0.286295"
skipping to change at line 11007 skipping to change at line 10429
fill="none" fill="none"
/> />
<text <text
font-size="1.59507px" font-size="1.59507px"
x="93.453644" x="93.453644"
y="19.378916" y="19.378916"
transform="scale(0.97023256,1.0306807)">IP<tspan transform="scale(0.97023256,1.0306807)">IP<tspan
font-size="1.59507px" font-size="1.59507px"
x="91.681465" x="90.681465"
y="21.219387" y="21.219387"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.59507px" font-size="1.59507px"
x="91.681465" x="90.681465"
y="23.059853" y="23.059853"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="77.805916" x="77.805916"
y="10.362334" y="10.362334"
width="9.0474586" width="9.0474586"
height="7.3348303" height="7.3348303"
stroke="#000000" stroke="#000000"
stroke-width="0.286295" stroke-width="0.286295"
skipping to change at line 11081 skipping to change at line 10503
font-size="1.47237px" font-size="1.47237px"
x="82.947998" x="82.947998"
y="94.592751" y="94.592751"
transform="scale(0.97023256,1.0306807)">MPLS<tspan transform="scale(0.97023256,1.0306807)">MPLS<tspan
font-size="1.47237px" font-size="1.47237px"
x="82.518555" x="82.518555"
y="96.310516" y="96.310516"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.47237px"
x="83.341652"
y="96.310516"
>-</tspan><tspan
font-size="1.47237px"
x="83.950035"
y="96.310516"
>label</tspan><tspan
font-size="1.96317px" font-size="1.96317px"
x="83.144112" x="83.144112"
y="98.641762" y="98.641762"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="86.853378" x="86.853378"
y="95.471519" y="95.471519"
width="9.0474586" width="9.0474586"
height="7.3348055" height="7.3348055"
skipping to change at line 11118 skipping to change at line 10530
font-size="1.47237px" font-size="1.47237px"
x="92.280769" x="92.280769"
y="94.592751" y="94.592751"
transform="scale(0.97023256,1.0306807)">MPLS<tspan transform="scale(0.97023256,1.0306807)">MPLS<tspan
font-size="1.47237px" font-size="1.47237px"
x="91.851326" x="91.851326"
y="96.310516" y="96.310516"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.47237px"
x="92.674431"
y="96.310516"
>-</tspan><tspan
font-size="1.47237px"
x="93.282806"
y="96.310516"
>label</tspan><tspan
font-size="1.96317px" font-size="1.96317px"
x="92.476891" x="92.476891"
y="98.641762" y="98.641762"
>104</tspan></text> >104</tspan></text>
<rect <rect
x="77.805916" x="77.805916"
y="88.263161" y="88.263161"
width="9.0474586" width="9.0474586"
height="7.3348303" height="7.3348303"
skipping to change at line 11152 skipping to change at line 10554
fill="none" fill="none"
/> />
<text <text
font-size="1.59507px" font-size="1.59507px"
x="84.1297" x="84.1297"
y="87.967056" y="87.967056"
transform="scale(0.97023256,1.0306807)">IP<tspan transform="scale(0.97023256,1.0306807)">IP<tspan
font-size="1.59507px" font-size="1.59507px"
x="82.357529" x="81.357529"
y="89.80751" y="89.80751"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.59507px" font-size="1.59507px"
x="82.357529" x="81.357529"
y="91.64798" y="91.64798"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="86.853378" x="86.853378"
y="88.263161" y="88.263161"
width="9.0474586" width="9.0474586"
height="7.3348303" height="7.3348303"
stroke="#000000" stroke="#000000"
stroke-width="0.286295" stroke-width="0.286295"
skipping to change at line 11179 skipping to change at line 10581
fill="none" fill="none"
/> />
<text <text
font-size="1.59507px" font-size="1.59507px"
x="93.462471" x="93.462471"
y="87.967056" y="87.967056"
transform="scale(0.97023256,1.0306807)">IP<tspan transform="scale(0.97023256,1.0306807)">IP<tspan
font-size="1.59507px" font-size="1.59507px"
x="91.6903" x="90.6903"
y="89.80751" y="89.80751"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.59507px" font-size="1.59507px"
x="91.6903" x="90.6903"
y="91.64798" y="91.64798"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="77.805916" x="77.805916"
y="80.928337" y="80.928337"
width="9.0474586" width="9.0474586"
height="7.4612932" height="7.4612932"
stroke="#000000" stroke="#000000"
stroke-width="0.286295" stroke-width="0.286295"
skipping to change at line 11253 skipping to change at line 10655
font-size="1.47237px" font-size="1.47237px"
x="114.47363" x="114.47363"
y="26.1273" y="26.1273"
transform="scale(0.97023256,1.0306807)">MPLS<tspan transform="scale(0.97023256,1.0306807)">MPLS<tspan
font-size="1.47237px" font-size="1.47237px"
x="114.04419" x="114.04419"
y="27.84507" y="27.84507"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.47237px"
x="114.86727"
y="27.84507"
>-</tspan><tspan
font-size="1.47237px"
x="115.47565"
y="27.84507"
>label</tspan><tspan
font-size="1.96317px" font-size="1.96317px"
x="114.66974" x="114.66974"
y="30.176334" y="30.176334"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="117.44807" x="117.44807"
y="24.905508" y="24.905508"
width="9.0474701" width="9.0474701"
height="7.3348303" height="7.3348303"
skipping to change at line 11290 skipping to change at line 10682
font-size="1.47237px" font-size="1.47237px"
x="123.80727" x="123.80727"
y="26.1273" y="26.1273"
transform="scale(0.97023256,1.0306807)">MPLS<tspan transform="scale(0.97023256,1.0306807)">MPLS<tspan
font-size="1.47237px" font-size="1.47237px"
x="123.37782" x="123.37782"
y="27.84507" y="27.84507"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.47237px"
x="124.2009"
y="27.84507"
>-</tspan><tspan
font-size="1.47237px"
x="124.80929"
y="27.84507"
>label</tspan><tspan
font-size="1.96317px" font-size="1.96317px"
x="124.00336" x="124.00336"
y="30.176334" y="30.176334"
>104</tspan></text> >104</tspan></text>
<rect <rect
x="108.40061" x="108.40061"
y="17.570692" y="17.570692"
width="9.0474586" width="9.0474586"
height="7.4612679" height="7.4612679"
skipping to change at line 11324 skipping to change at line 10706
fill="none" fill="none"
/> />
<text <text
font-size="1.59507px" font-size="1.59507px"
x="115.65521" x="115.65521"
y="19.378916" y="19.378916"
transform="scale(0.97023256,1.0306807)">IP<tspan transform="scale(0.97023256,1.0306807)">IP<tspan
font-size="1.59507px" font-size="1.59507px"
x="113.88304" x="112.88304"
y="21.219387" y="21.219387"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.59507px" font-size="1.59507px"
x="113.88304" x="112.88304"
y="23.059853" y="23.059853"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="117.44807" x="117.44807"
y="17.570692" y="17.570692"
width="9.0474701" width="9.0474701"
height="7.4612679" height="7.4612679"
stroke="#000000" stroke="#000000"
stroke-width="0.286295" stroke-width="0.286295"
skipping to change at line 11351 skipping to change at line 10733
fill="none" fill="none"
/> />
<text <text
font-size="1.59507px" font-size="1.59507px"
x="124.98885" x="124.98885"
y="19.378916" y="19.378916"
transform="scale(0.97023256,1.0306807)">IP<tspan transform="scale(0.97023256,1.0306807)">IP<tspan
font-size="1.59507px" font-size="1.59507px"
x="123.21667" x="122.21667"
y="21.219387" y="21.219387"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.59507px" font-size="1.59507px"
x="123.21667" x="122.21667"
y="23.059853" y="23.059853"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="108.40061" x="108.40061"
y="10.362334" y="10.362334"
width="9.0474586" width="9.0474586"
height="7.3348303" height="7.3348303"
stroke="#000000" stroke="#000000"
stroke-width="0.286295" stroke-width="0.286295"
skipping to change at line 11425 skipping to change at line 10807
font-size="1.47237px" font-size="1.47237px"
x="114.62946" x="114.62946"
y="94.592751" y="94.592751"
transform="scale(0.97023256,1.0306807)">MPLS<tspan transform="scale(0.97023256,1.0306807)">MPLS<tspan
font-size="1.47237px" font-size="1.47237px"
x="114.20001" x="114.20001"
y="96.310516" y="96.310516"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.47237px"
x="115.02312"
y="96.310516"
>-</tspan><tspan
font-size="1.47237px"
x="115.63151"
y="96.310516"
>label</tspan><tspan
font-size="1.96317px" font-size="1.96317px"
x="114.82557" x="114.82557"
y="98.641762" y="98.641762"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="117.56711" x="117.56711"
y="95.471519" y="95.471519"
width="9.0474586" width="9.0474586"
height="7.3348055" height="7.3348055"
skipping to change at line 11462 skipping to change at line 10834
font-size="1.47237px" font-size="1.47237px"
x="123.96309" x="123.96309"
y="94.592751" y="94.592751"
transform="scale(0.97023256,1.0306807)">MPLS<tspan transform="scale(0.97023256,1.0306807)">MPLS<tspan
font-size="1.47237px" font-size="1.47237px"
x="123.53365" x="123.53365"
y="96.310516" y="96.310516"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.47237px"
x="124.35675"
y="96.310516"
>-</tspan><tspan
font-size="1.47237px"
x="124.96513"
y="96.310516"
>label</tspan><tspan
font-size="1.96317px" font-size="1.96317px"
x="124.15921" x="124.15921"
y="98.641762" y="98.641762"
>104</tspan></text> >104</tspan></text>
<rect <rect
x="108.51966" x="108.51966"
y="88.136696" y="88.136696"
width="9.0474586" width="9.0474586"
height="7.4612932" height="7.4612932"
skipping to change at line 11496 skipping to change at line 10858
fill="none" fill="none"
/> />
<text <text
font-size="1.59507px" font-size="1.59507px"
x="115.81104" x="115.81104"
y="87.844353" y="87.844353"
transform="scale(0.97023256,1.0306807)">IP<tspan transform="scale(0.97023256,1.0306807)">IP<tspan
font-size="1.59507px" font-size="1.59507px"
x="114.03887" x="113.03887"
y="89.684822" y="89.684822"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.59507px" font-size="1.59507px"
x="114.03887" x="113.03887"
y="91.525284" y="91.525284"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="117.56711" x="117.56711"
y="88.136696" y="88.136696"
width="9.0474586" width="9.0474586"
height="7.4612932" height="7.4612932"
stroke="#000000" stroke="#000000"
stroke-width="0.286295" stroke-width="0.286295"
skipping to change at line 11523 skipping to change at line 10885
fill="none" fill="none"
/> />
<text <text
font-size="1.59507px" font-size="1.59507px"
x="125.14467" x="125.14467"
y="87.844353" y="87.844353"
transform="scale(0.97023256,1.0306807)">IP<tspan transform="scale(0.97023256,1.0306807)">IP<tspan
font-size="1.59507px" font-size="1.59507px"
x="123.37249" x="122.37249"
y="89.684822" y="89.684822"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.59507px" font-size="1.59507px"
x="123.37249" x="122.37249"
y="91.525284" y="91.525284"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="108.51966" x="108.51966"
y="80.928337" y="80.928337"
width="9.0474586" width="9.0474586"
height="7.3348303" height="7.3348303"
stroke="#000000" stroke="#000000"
stroke-width="0.286295" stroke-width="0.286295"
skipping to change at line 11597 skipping to change at line 10959
font-size="1.47237px" font-size="1.47237px"
x="82.939896" x="82.939896"
y="33.366478" y="33.366478"
transform="scale(0.97023256,1.0306807)">MPLS<tspan transform="scale(0.97023256,1.0306807)">MPLS<tspan
font-size="1.47237px" font-size="1.47237px"
x="82.546242" x="82.546242"
y="35.084248" y="35.084248"
>F-</tspan><tspan >F-Label</tspan><tspan
font-size="1.47237px"
x="83.906143"
y="35.084248"
>label</tspan><tspan
font-size="1.71777px" font-size="1.71777px"
x="82.348694" x="82.348694"
y="37.170109" y="37.170109"
>10003</tspan></text> >10003</tspan></text>
<rect <rect
x="86.853378" x="86.853378"
y="32.113853" y="32.113853"
width="9.0474586" width="9.0474586"
height="7.4612932" height="7.4612932"
skipping to change at line 11629 skipping to change at line 10986
font-size="1.47237px" font-size="1.47237px"
x="92.272667" x="92.272667"
y="33.366478" y="33.366478"
transform="scale(0.97023256,1.0306807)">MPLS<tspan transform="scale(0.97023256,1.0306807)">MPLS<tspan
font-size="1.47237px" font-size="1.47237px"
x="91.879013" x="91.879013"
y="35.084248" y="35.084248"
>F-</tspan><tspan >F-Label</tspan><tspan
font-size="1.47237px"
x="93.238914"
y="35.084248"
>label</tspan><tspan
font-size="1.71777px" font-size="1.71777px"
x="91.681473" x="91.681473"
y="37.170109" y="37.170109"
>10009</tspan></text> >10009</tspan></text>
<rect <rect
x="77.805916" x="77.805916"
y="102.67986" y="102.67986"
width="9.0474586" width="9.0474586"
height="7.3347926" height="7.3347926"
skipping to change at line 11661 skipping to change at line 11013
font-size="1.47237px" font-size="1.47237px"
x="82.948738" x="82.948738"
y="101.83191" y="101.83191"
transform="scale(0.97023256,1.0306807)">MPLS<tspan transform="scale(0.97023256,1.0306807)">MPLS<tspan
font-size="1.47237px" font-size="1.47237px"
x="82.555077" x="82.555077"
y="103.54967" y="103.54967"
>F-</tspan><tspan >F-Label</tspan><tspan
font-size="1.47237px"
x="83.914986"
y="103.54967"
>label</tspan><tspan
font-size="1.71777px" font-size="1.71777px"
x="82.357529" x="82.357529"
y="105.63554" y="105.63554"
>10004</tspan></text> >10004</tspan></text>
<rect <rect
x="86.853378" x="86.853378"
y="102.67986" y="102.67986"
width="9.0474586" width="9.0474586"
height="7.3347926" height="7.3347926"
skipping to change at line 11693 skipping to change at line 11040
font-size="1.47237px" font-size="1.47237px"
x="92.281509" x="92.281509"
y="101.83191" y="101.83191"
transform="scale(0.97023256,1.0306807)">MPLS<tspan transform="scale(0.97023256,1.0306807)">MPLS<tspan
font-size="1.47237px" font-size="1.47237px"
x="91.887848" x="91.887848"
y="103.54967" y="103.54967"
>F-</tspan><tspan >F-Label</tspan><tspan
font-size="1.47237px"
x="93.247749"
y="103.54967"
>label</tspan><tspan
font-size="1.71777px" font-size="1.71777px"
x="91.6903" x="91.6903"
y="105.63554" y="105.63554"
>10010</tspan></text> >10010</tspan></text>
<rect <rect
x="108.40061" x="108.40061"
y="32.113853" y="32.113853"
width="9.0474586" width="9.0474586"
height="7.4612932" height="7.4612932"
skipping to change at line 11725 skipping to change at line 11067
font-size="1.47237px" font-size="1.47237px"
x="114.47485" x="114.47485"
y="33.366478" y="33.366478"
transform="scale(0.97023256,1.0306807)">MPLS<tspan transform="scale(0.97023256,1.0306807)">MPLS<tspan
font-size="1.47237px" font-size="1.47237px"
x="114.08119" x="114.08119"
y="35.084248" y="35.084248"
>F-</tspan><tspan >F-Label</tspan><tspan
font-size="1.47237px"
x="115.44111"
y="35.084248"
>label</tspan><tspan
font-size="1.71777px" font-size="1.71777px"
x="113.88365" x="113.88365"
y="37.170109" y="37.170109"
>10003</tspan></text> >10003</tspan></text>
<rect <rect
x="117.44807" x="117.44807"
y="32.113853" y="32.113853"
width="9.0474701" width="9.0474701"
height="7.4612932" height="7.4612932"
skipping to change at line 11757 skipping to change at line 11094
font-size="1.47237px" font-size="1.47237px"
x="123.80727" x="123.80727"
y="33.366478" y="33.366478"
transform="scale(0.97023256,1.0306807)">MPLS<tspan transform="scale(0.97023256,1.0306807)">MPLS<tspan
font-size="1.47237px" font-size="1.47237px"
x="123.4136" x="123.4136"
y="35.084248" y="35.084248"
>F-</tspan><tspan >F-Label</tspan><tspan
font-size="1.47237px"
x="124.77351"
y="35.084248"
>label</tspan><tspan
font-size="1.71777px" font-size="1.71777px"
x="123.21605" x="123.21605"
y="37.170109" y="37.170109"
>10009</tspan></text> >10009</tspan></text>
<rect <rect
x="108.51966" x="108.51966"
y="102.67986" y="102.67986"
width="9.0474586" width="9.0474586"
height="7.3347926" height="7.3347926"
skipping to change at line 11789 skipping to change at line 11121
font-size="1.47237px" font-size="1.47237px"
x="114.63069" x="114.63069"
y="101.83191" y="101.83191"
transform="scale(0.97023256,1.0306807)">MPLS<tspan transform="scale(0.97023256,1.0306807)">MPLS<tspan
font-size="1.47237px" font-size="1.47237px"
x="114.23704" x="114.23704"
y="103.54967" y="103.54967"
>F-</tspan><tspan >F-Label</tspan><tspan
font-size="1.47237px"
x="115.59693"
y="103.54967"
>label</tspan><tspan
font-size="1.71777px" font-size="1.71777px"
x="114.0395" x="114.0395"
y="105.63554" y="105.63554"
>10004</tspan></text> >10004</tspan></text>
<rect <rect
x="117.56711" x="117.56711"
y="102.67986" y="102.67986"
width="9.0474586" width="9.0474586"
height="7.3347926" height="7.3347926"
skipping to change at line 11821 skipping to change at line 11148
font-size="1.47237px" font-size="1.47237px"
x="123.96309" x="123.96309"
y="101.83191" y="101.83191"
transform="scale(0.97023256,1.0306807)">MPLS<tspan transform="scale(0.97023256,1.0306807)">MPLS<tspan
font-size="1.47237px" font-size="1.47237px"
x="123.56944" x="123.56944"
y="103.54967" y="103.54967"
>F-</tspan><tspan >F-Label</tspan><tspan
font-size="1.47237px"
x="124.92934"
y="103.54967"
>label</tspan><tspan
font-size="1.71777px" font-size="1.71777px"
x="123.37189" x="123.37189"
y="105.63554" y="105.63554"
>10010</tspan></text> >10010</tspan></text>
<rect <rect
x="139.11435" x="139.11435"
y="109.88822" y="109.88822"
width="18.094917" width="18.094917"
height="7.4612932" height="7.4612932"
skipping to change at line 11848 skipping to change at line 11170
stroke-width="0.286295" stroke-width="0.286295"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.96317px" font-size="1.96317px"
x="146.48062" x="146.48062"
y="109.80728" y="109.80728"
transform="scale(0.97023256,1.0306807)">MPLS F<tspan transform="scale(0.97023256,1.0306807)">MPLS F-Label<tspan
font-size="1.96317px"
x="153.56641"
y="109.80728"
>-</tspan><tspan
font-size="1.96317px"
x="154.38951"
y="109.80728"
>label</tspan><tspan
font-size="1.96317px" font-size="1.96317px"
x="149.82739" x="149.82739"
y="112.26123" y="112.26123"
>10011</tspan><tspan >10011</tspan><tspan
font-size="4.04903px" font-size="4.04903px"
x="167.5692" x="167.5692"
y="44.777386" y="44.777386"
>Note: S-label in this</tspan><tspan >Note: S-Label in this</tspan><tspan
font-size="4.04903px" font-size="4.04903px"
x="167.5692" x="167.5692"
y="49.562603" y="49.562603"
>diagram includes d-CW.</tspan></text> >diagram includes d-CW.</tspan></text>
<path <path
d="m 74.502406,63.602996 c -0.443801,0 -0.803557,-1.52868 -0.803557,-3.41 448 0,-1.88581 0.359756,-3.41449 0.803557,-3.41449 0.443802,0 0.803558,1.52868 0 .803558,3.41449 0,1.8858 -0.359756,3.41448 -0.803558,3.41448 H 68.7287 c -0.4438 02,0 -0.803557,-1.52868 -0.803557,-3.41448 0,-1.88581 0.359755,-3.41449 0.803557 ,-3.41449 h 5.773706" d="m 74.502406,63.602996 c -0.443801,0 -0.803557,-1.52868 -0.803557,-3.41 448 0,-1.88581 0.359756,-3.41449 0.803557,-3.41449 0.443802,0 0.803558,1.52868 0 .803558,3.41449 0,1.8858 -0.359756,3.41448 -0.803558,3.41448 H 68.7287 c -0.4438 02,0 -0.803557,-1.52868 -0.803557,-3.41448 0,-1.88581 0.359755,-3.41449 0.803557 ,-3.41449 h 5.773706"
stroke="#000000" stroke="#000000"
stroke-width="0.286295" stroke-width="0.286295"
stroke-miterlimit="8" stroke-miterlimit="8"
skipping to change at line 11928 skipping to change at line 11240
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<text <text
font-size="2.82205px" font-size="2.82205px"
x="99.455414" x="99.455414"
y="63.059364" y="63.059364"
transform="scale(0.97023256,1.0306807)">DN<tspan transform="scale(0.97023256,1.0306807)">DN-1 / DN-2</text>
font-size="2.82205px"
x="103.06989"
y="63.059364"
>-1 / DN</tspan><tspan
font-size="2.82205px"
x="111.40823"
y="63.059364"
>-2</tspan></text>
<path <path
d="m 135.81084,63.729456 c -0.44404,0 -0.80356,-1.52867 -0.80356,-3.41448 0,-1.88581 0.35952,-3.41449 0.80356,-3.41449 0.44405,0 0.80356,1.52868 0.80356, 3.41449 0,1.88581 -0.35951,3.41448 -0.80356,3.41448 h -5.65466 c -0.44404,0 -0.8 0355,-1.52867 -0.80355,-3.41448 0,-1.88581 0.35951,-3.41449 0.80355,-3.41449 h 5 .65466" d="m 135.81084,63.729456 c -0.44404,0 -0.80356,-1.52867 -0.80356,-3.41448 0,-1.88581 0.35952,-3.41449 0.80356,-3.41449 0.44405,0 0.80356,1.52868 0.80356, 3.41449 0,1.88581 -0.35951,3.41448 -0.80356,3.41448 h -5.65466 c -0.44404,0 -0.8 0355,-1.52867 -0.80355,-3.41448 0,-1.88581 0.35951,-3.41449 0.80355,-3.41449 h 5 .65466"
stroke="#000000" stroke="#000000"
stroke-width="0.286295" stroke-width="0.286295"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<text <text
font-size="2.82205px" font-size="2.82205px"
skipping to change at line 12012 skipping to change at line 11314
transform="scale(0.97023256,1.0306807)">aggregation<tspan transform="scale(0.97023256,1.0306807)">aggregation<tspan
font-size="2.82205px" font-size="2.82205px"
x="128.42525" x="128.42525"
y="77.169632" y="77.169632"
>disaggregation</tspan></text> >disaggregation</tspan></text>
</g> </g>
</svg> </svg>
</artwork> </artwork>
</artset>
</figure> </figure>
<t> <xref target="example-detnet-json-service-aggregation-c-1"/> <t> <xref target="example-detnet-json-service-aggregation-c-1"/>
contains the operational JSON configuration for the ingress aggregat ion contains the operational JSON configuration for the ingress aggregat ion
node illustrated in <xref target="case-c1"/>. node illustrated in <xref target="case-c1"/>.
In this example, a relay performing aggregation at the forwarding su b-layer is illustrated. In this example, a relay performing aggregation at the forwarding su b-layer is illustrated.
Two DetNet flows DN1 and DN2 are replicated at each service sub-laye Two DetNet flows -- DN-1 and DN-2 -- are replicated at each service
r. sub-layer.
The two forwarding sub-layers for the upside path are aggregated The two forwarding sub-layers for the upper path are aggregated
at the forwarding sub-layer with label 20000 and the two forwarding at the forwarding sub-layer with label 20000, and the two forwarding
sub-layers for the downside path are aggregated at the forwarding sub-layers for the lower path are aggregated at the forwarding
sub-layer with label 20001. sub-layer with label 20001.
<xref target="example-detnet-json-service-disaggregation-c-1"/> <xref target="example-detnet-json-service-disaggregation-c-1"/>
contains the operational JSON configuration for the egress disaggreg ation contains the operational JSON configuration for the egress disaggreg ation
node illustrated in <xref target="case-c1"/>. node illustrated in <xref target="case-c1"/>.
</t> </t>
<figure anchor="example-detnet-json-service-aggregation-c-1"> <figure anchor="example-detnet-json-service-aggregation-c-1">
<name>Example C-1 DetNet Relay Service Aggregation</name> <name>Example C-1: DetNet Relay Service Aggregation</name>
<artwork name="" type="" align="left" alt=""><![CDATA[ <sourcecode name="" type="json"><![CDATA[
{ {
"ietf-detnet:detnet": { "ietf-detnet:detnet": {
"traffic-profile": [ "traffic-profile": [
{ {
"name": "pf-1", "name": "pf-1",
"traffic-requirements": { "traffic-requirements": {
"min-bandwidth": "100000000", "min-bandwidth": "100000000",
"max-latency": 100000000, "max-latency": 100000000,
"max-latency-variation": 10000000, "max-latency-variation": 10000000,
"max-loss": "0.0000001", "max-loss": "0.0000001",
skipping to change at line 12419 skipping to change at line 11720
"name": "eth3", "name": "eth3",
"type": "iana-if-type:ethernetCsmacd", "type": "iana-if-type:ethernetCsmacd",
"oper-status": "up", "oper-status": "up",
"statistics": { "statistics": {
"discontinuity-time": "2024-02-21T18:59:00-05:00" "discontinuity-time": "2024-02-21T18:59:00-05:00"
} }
} }
] ]
} }
} }
]]></artwork> ]]></sourcecode>
</figure> </figure>
<figure anchor="example-detnet-json-service-disaggregation-c-1"> <figure anchor="example-detnet-json-service-disaggregation-c-1">
<name>Example C-1 DetNet Relay Service Disaggregation</name> <name>Example C-1: DetNet Relay Service Disaggregation</name>
<artwork name="" type="" align="left" alt=""><![CDATA[ <sourcecode name="" type="json"><![CDATA[
{ {
"ietf-detnet:detnet": { "ietf-detnet:detnet": {
"traffic-profile": [ "traffic-profile": [
{ {
"name": "pf-1", "name": "pf-1",
"traffic-requirements": { "traffic-requirements": {
"min-bandwidth": "100000000", "min-bandwidth": "100000000",
"max-latency": 100000000, "max-latency": 100000000,
"max-latency-variation": 10000000, "max-latency-variation": 10000000,
"max-loss": "0.0000001", "max-loss": "0.0000001",
skipping to change at line 12803 skipping to change at line 12104
"name": "eth3", "name": "eth3",
"type": "iana-if-type:ethernetCsmacd", "type": "iana-if-type:ethernetCsmacd",
"oper-status": "up", "oper-status": "up",
"statistics": { "statistics": {
"discontinuity-time": "2024-02-21T18:59:00-05:00" "discontinuity-time": "2024-02-21T18:59:00-05:00"
} }
} }
] ]
} }
} }
]]></artwork> ]]></sourcecode>
</figure> </figure>
</section> </section>
<section numbered="true" toc="default"> <section numbered="true" toc="default">
<name>Example C-2 JSON Relay Aggregation/Disaggregation Service Su b-Layer</name> <name>Example C-2: DetNet Relay Service Sub-layer Aggregation/Disa ggregation</name>
<t> <t>
<xref target="case-c2"/> illustrates the DetNet relay node servi ce sub-layer <xref target="case-c2"/> illustrates the DetNet relay node's ser vice sub-layer
flows 1 and 2 aggregated into a single forwarding sub-layer. flows 1 and 2 aggregated into a single forwarding sub-layer.
Service protection is performed by the Service protection is performed by the
corresponding service sub-layer of each flow and resource alloca tion corresponding service sub-layer of each flow, and resource alloc ation
is performed by an aggregated forwarding sub-layer for all aggr egated is performed by an aggregated forwarding sub-layer for all aggr egated
flows. A diagram illustrating both aggregation and disaggregati flows. <xref target="case-c2"/> illustrates both aggregation an
on is d disaggregation, and the corresponding JSON operational data follows.
shown and then the corresponding JSON operational data follows.
</t> </t>
<figure anchor="case-c2"> <figure anchor="case-c2">
<name>Case C-2 Example Service Aggregation/Disaggregation</name> <name>Case C-2: Example Service Aggregation/Disaggregation</name
<artset> >
<artwork align="left" type="ascii-art" name="" alt=""><![CDATA[
Please consult the PDF or HTML versions for the Case C-2 Diagram.
]]></artwork>
<artwork type="svg"> <artwork type="svg">
<svg <svg
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
width="180mm" width="180mm"
height="120mm" height="120mm"
viewBox="0 0 210 140" viewBox="0 0 210 140"
version="1.1" version="1.1"
> >
skipping to change at line 12948 skipping to change at line 12242
stroke="#000000" stroke="#000000"
stroke-width="0.239973" stroke-width="0.239973"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<text <text
font-size="3.15392px" font-size="3.15392px"
x="113.53401" x="112.53401"
y="83.216354" y="83.216354"
transform="scale(0.84010005,1.1903344)">Transit 2</text> transform="scale(0.84010005,1.1903344)">Transit 2</text>
<path <path
d="m 103.88287,87.797014 c 0,-0.453159 -0.25927,-0.820517 -0.5791,-0.8205 17 h -6.329843 c -0.319825,0 -0.579095,0.367358 -0.579095,0.820517 v 7.173228 c 0,0.453162 0.25927,0.820519 0.579095,0.820519 h 6.329843 c 0.31983,0 0.5791,-0.3 67357 0.5791,-0.820519 z" d="m 103.88287,87.797014 c 0,-0.453159 -0.25927,-0.820517 -0.5791,-0.8205 17 h -6.329843 c -0.319825,0 -0.579095,0.367358 -0.579095,0.820517 v 7.173228 c 0,0.453162 0.25927,0.820519 0.579095,0.820519 h 6.329843 c 0.31983,0 0.5791,-0.3 67357 0.5791,-0.820519 z"
stroke="#000000" stroke="#000000"
stroke-width="0.319963" stroke-width="0.319963"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
skipping to change at line 12973 skipping to change at line 12267
stroke="#000000" stroke="#000000"
stroke-width="0.239973" stroke-width="0.239973"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<text <text
font-size="3.15392px" font-size="3.15392px"
x="113.53401" x="112.53401"
y="47.289078" y="47.289078"
transform="scale(0.84010005,1.1903344)">Transit 1</text> transform="scale(0.84010005,1.1903344)">Transit 1</text>
<path <path
d="m 103.88287,45.194758 c 0,-0.453159 -0.25927,-0.820516 -0.5791,-0.8205 16 h -6.329843 c -0.319825,0 -0.579095,0.367357 -0.579095,0.820516 v 7.173218 c 0,0.453168 0.25927,0.820526 0.579095,0.820526 h 6.329843 c 0.31983,0 0.5791,-0.3 67358 0.5791,-0.820526 z" d="m 103.88287,45.194758 c 0,-0.453159 -0.25927,-0.820516 -0.5791,-0.8205 16 h -6.329843 c -0.319825,0 -0.579095,0.367357 -0.579095,0.820516 v 7.173218 c 0,0.453168 0.25927,0.820526 0.579095,0.820526 h 6.329843 c 0.31983,0 0.5791,-0.3 67358 0.5791,-0.820526 z"
stroke="#000000" stroke="#000000"
stroke-width="0.319963" stroke-width="0.319963"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
skipping to change at line 13122 skipping to change at line 12416
stroke-width="0.319963" stroke-width="0.319963"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="2.19403px" font-size="2.19403px"
x="94.622543" x="94.622543"
y="35.907528" y="35.907528"
transform="scale(0.84010005,1.1903344)">MPLS F<tspan transform="scale(0.84010005,1.1903344)">MPLS F-Label<tspan
font-size="2.19403px"
x="102.54163"
y="35.907528"
>-</tspan><tspan
font-size="2.19403px"
x="103.46153"
y="35.907528"
>label</tspan><tspan
font-size="2.19403px" font-size="2.19403px"
x="98.362923" x="98.362923"
y="38.65007" y="38.65007"
>20000</tspan></text> >20000</tspan></text>
<rect <rect
x="76.465164" x="76.465164"
y="119.94836" y="119.94836"
width="17.510468" width="17.510468"
height="9.4671688" height="9.4671688"
skipping to change at line 13154 skipping to change at line 12438
stroke-width="0.319963" stroke-width="0.319963"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="2.19403px" font-size="2.19403px"
x="94.513802" x="94.513802"
y="104.19681" y="104.19681"
transform="scale(0.84010005,1.1903344)">MPLS F<tspan transform="scale(0.84010005,1.1903344)">MPLS F-Label<tspan
font-size="2.19403px"
x="102.43288"
y="104.19681"
>-</tspan><tspan
font-size="2.19403px"
x="103.35279"
y="104.19681"
>label</tspan><tspan
font-size="2.19403px" font-size="2.19403px"
x="98.254173" x="98.254173"
y="106.93934" y="106.93934"
>20001</tspan></text> >20001</tspan></text>
<rect <rect
x="106.18688" x="106.18688"
y="38.661297" y="38.661297"
width="17.510468" width="17.510468"
height="9.467185" height="9.467185"
skipping to change at line 13186 skipping to change at line 12460
stroke-width="0.319963" stroke-width="0.319963"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="2.19403px" font-size="2.19403px"
x="129.85487" x="129.85487"
y="35.907528" y="35.907528"
transform="scale(0.84010005,1.1903344)">MPLS F<tspan transform="scale(0.84010005,1.1903344)">MPLS F-Label<tspan
font-size="2.19403px"
x="137.77396"
y="35.907528"
>-</tspan><tspan
font-size="2.19403px"
x="138.69386"
y="35.907528"
>label</tspan><tspan
font-size="2.19403px" font-size="2.19403px"
x="133.59525" x="133.59525"
y="38.65007" y="38.65007"
>20002</tspan></text> >20002</tspan></text>
<rect <rect
x="106.18688" x="106.18688"
y="119.94836" y="119.94836"
width="17.510468" width="17.510468"
height="9.4671688" height="9.4671688"
skipping to change at line 13218 skipping to change at line 12482
stroke-width="0.319963" stroke-width="0.319963"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="2.19403px" font-size="2.19403px"
x="129.92068" x="129.92068"
y="104.19681" y="104.19681"
transform="scale(0.84010005,1.1903344)">MPLS F<tspan transform="scale(0.84010005,1.1903344)">MPLS F-Label<tspan
font-size="2.19403px"
x="137.83978"
y="104.19681"
>-</tspan><tspan
font-size="2.19403px"
x="138.75969"
y="104.19681"
>label</tspan><tspan
font-size="2.19403px" font-size="2.19403px"
x="133.66106" x="133.66106"
y="106.93934" y="106.93934"
>20003</tspan></text> >20003</tspan></text>
<rect <rect
x="165.16951" x="165.16951"
y="10.259789" y="10.259789"
width="17.510468" width="17.510468"
height="9.467185" height="9.467185"
skipping to change at line 13321 skipping to change at line 12575
stroke-width="0.319963" stroke-width="0.319963"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="2.19403px" font-size="2.19403px"
x="59.347977" x="59.347977"
y="27.954165" y="27.954165"
transform="scale(0.84010005,1.1903344)">MPLS S<tspan transform="scale(0.84010005,1.1903344)">MPLS S-Label<tspan
font-size="2.19403px"
x="67.387047"
y="27.954165"
>-</tspan><tspan
font-size="2.19403px"
x="68.306938"
y="27.954165"
>label</tspan><tspan
font-size="2.19403px" font-size="2.19403px"
x="64.427383" x="64.427383"
y="30.696703" y="30.696703"
>100</tspan></text> >100</tspan></text>
<rect <rect
x="46.97385" x="46.97385"
y="38.661297" y="38.661297"
width="17.510468" width="17.510468"
height="9.467185" height="9.467185"
skipping to change at line 13353 skipping to change at line 12597
stroke-width="0.319963" stroke-width="0.319963"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="2.19403px" font-size="2.19403px"
x="59.407898" x="59.407898"
y="35.907528" y="35.907528"
transform="scale(0.84010005,1.1903344)">MPLS F<tspan transform="scale(0.84010005,1.1903344)">MPLS F-Label<tspan
font-size="2.19403px"
x="67.326988"
y="35.907528"
>-</tspan><tspan
font-size="2.19403px"
x="68.24688"
y="35.907528"
>label</tspan><tspan
font-size="2.19403px" font-size="2.19403px"
x="63.148277" x="63.148277"
y="38.65007" y="38.65007"
>10000</tspan></text> >10000</tspan></text>
<rect <rect
x="46.97385" x="46.97385"
y="10.259789" y="10.259789"
width="17.510468" width="17.510468"
height="9.467185" height="9.467185"
skipping to change at line 13426 skipping to change at line 12660
width="17.510468" width="17.510468"
height="9.467185" height="9.467185"
stroke="#000000" stroke="#000000"
stroke-width="0.319963" stroke-width="0.319963"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="2.19403px" font-size="2.19403px"
x="169.13216" x="165.13216"
y="27.954165" y="27.954165"
transform="scale(0.84010005,1.1903344)">MPLS<tspan transform="scale(0.84010005,1.1903344)">MPLS S-Label<tspan
font-size="2.19403px"
x="166.1725"
y="30.696703"
>S</tspan><tspan
font-size="2.19403px"
x="167.45236"
y="30.696703"
>-</tspan><tspan
font-size="2.19403px" font-size="2.19403px"
x="168.37225" x="170.37225"
y="30.696703" y="30.696703"
>label 102</tspan></text> >102</tspan></text>
<rect <rect
x="135.7934" x="135.7934"
y="38.661297" y="38.661297"
width="17.510468" width="17.510468"
height="9.467185" height="9.467185"
stroke="#000000" stroke="#000000"
stroke-width="0.319963" stroke-width="0.319963"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="2.19403px" font-size="2.19403px"
x="165.17194" x="165.17194"
y="35.907528" y="35.907528"
transform="scale(0.84010005,1.1903344)">MPLS F<tspan transform="scale(0.84010005,1.1903344)">MPLS F-Label<tspan
font-size="2.19403px"
x="173.09103"
y="35.907528"
>-</tspan><tspan
font-size="2.19403px"
x="174.01094"
y="35.907528"
>label</tspan><tspan
font-size="2.19403px" font-size="2.19403px"
x="168.91231" x="168.91231"
y="38.65007" y="38.65007"
>10005</tspan></text> >10005</tspan></text>
<rect <rect
x="135.7934" x="135.7934"
y="10.259789" y="10.259789"
width="17.510468" width="17.510468"
height="9.467185" height="9.467185"
skipping to change at line 13697 skipping to change at line 12911
stroke-width="0.319963" stroke-width="0.319963"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="2.19403px" font-size="2.19403px"
x="62.335018" x="62.335018"
y="96.243423" y="96.243423"
transform="scale(0.84010005,1.1903344)">MPLS S<tspan transform="scale(0.84010005,1.1903344)">MPLS S-Label<tspan
font-size="2.19403px"
x="70.374092"
y="96.243423"
>-</tspan><tspan
font-size="2.19403px"
x="71.293983"
y="96.243423"
>label</tspan><tspan
font-size="2.19403px" font-size="2.19403px"
x="67.414429" x="67.414429"
y="98.985977" y="98.985977"
>103</tspan></text> >103</tspan></text>
<rect <rect
x="49.508259" x="49.508259"
y="91.54686" y="91.54686"
width="17.510468" width="17.510468"
height="9.6303797" height="9.6303797"
skipping to change at line 13831 skipping to change at line 13035
stroke-width="0.319963" stroke-width="0.319963"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="2.19403px" font-size="2.19403px"
x="62.395077" x="62.395077"
y="104.19681" y="104.19681"
transform="scale(0.84010005,1.1903344)">MPLS F<tspan transform="scale(0.84010005,1.1903344)">MPLS F-Label<tspan
font-size="2.19403px"
x="70.314163"
y="104.19681"
>-</tspan><tspan
font-size="2.19403px"
x="71.23407"
y="104.19681"
>label</tspan><tspan
font-size="2.19403px" font-size="2.19403px"
x="66.135452" x="66.135452"
y="106.93934" y="106.93934"
>10006</tspan></text> >10006</tspan></text>
<path <path
d="m 133.48938,70.164114 22.05398,21.267988" d="m 133.48938,70.164114 22.05398,21.267988"
stroke="#000000" stroke="#000000"
stroke-width="0.319963" stroke-width="0.319963"
stroke-miterlimit="8" stroke-miterlimit="8"
skipping to change at line 13871 skipping to change at line 13065
stroke-width="0.319963" stroke-width="0.319963"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="2.19403px" font-size="2.19403px"
x="162.11125" x="162.11125"
y="96.243423" y="96.243423"
transform="scale(0.84010005,1.1903344)">MPLS S<tspan transform="scale(0.84010005,1.1903344)">MPLS S-Label<tspan
font-size="2.19403px"
x="170.15033"
y="96.243423"
>-</tspan><tspan
font-size="2.19403px"
x="171.07024"
y="96.243423"
>label</tspan><tspan
font-size="2.19403px" font-size="2.19403px"
x="167.19067" x="167.19067"
y="98.985977" y="98.985977"
>105</tspan></text> >105</tspan></text>
<rect <rect
x="133.25899" x="133.25899"
y="91.54686" y="91.54686"
width="17.625668" width="17.625668"
height="9.6303797" height="9.6303797"
skipping to change at line 14161 skipping to change at line 13345
font-size="1.64552px" font-size="1.64552px"
x="94.206909" x="94.206909"
y="26.72002" y="26.72002"
transform="scale(0.84010005,1.1903344)">MPLS<tspan transform="scale(0.84010005,1.1903344)">MPLS<tspan
font-size="1.64552px" font-size="1.64552px"
x="93.726967" x="93.726967"
y="28.639799" y="28.639799"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.64552px"
x="94.646858"
y="28.639799"
>-</tspan><tspan
font-size="1.64552px"
x="95.326782"
y="28.639799"
>label</tspan><tspan
font-size="2.19403px" font-size="2.19403px"
x="94.426086" x="94.426086"
y="31.245213" y="31.245213"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="85.335602" x="85.335602"
y="29.194126" y="29.194126"
width="8.7552338" width="8.7552338"
height="9.467185" height="9.467185"
skipping to change at line 14198 skipping to change at line 13372
font-size="1.64552px" font-size="1.64552px"
x="104.6372" x="104.6372"
y="26.72002" y="26.72002"
transform="scale(0.84010005,1.1903344)">MPLS<tspan transform="scale(0.84010005,1.1903344)">MPLS<tspan
font-size="1.64552px" font-size="1.64552px"
x="104.15726" x="104.15726"
y="28.639799" y="28.639799"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.64552px"
x="105.07716"
y="28.639799"
>-</tspan><tspan
font-size="1.64552px"
x="105.75708"
y="28.639799"
>label</tspan><tspan
font-size="2.19403px" font-size="2.19403px"
x="104.85638" x="104.85638"
y="31.245213" y="31.245213"
>104</tspan></text> >104</tspan></text>
<rect <rect
x="76.580368" x="76.580368"
y="19.726957" y="19.726957"
width="8.7552338" width="8.7552338"
height="9.4671526" height="9.4671526"
skipping to change at line 14232 skipping to change at line 13396
fill="none" fill="none"
/> />
<text <text
font-size="1.78265px" font-size="1.78265px"
x="95.52758" x="95.52758"
y="19.178034" y="19.178034"
transform="scale(0.84010005,1.1903344)">IP<tspan transform="scale(0.84010005,1.1903344)">IP<tspan
font-size="1.78265px" font-size="1.78265px"
x="93.546997" x="92.546997"
y="21.234938" y="21.234938"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.78265px" font-size="1.78265px"
x="93.546997" x="92.546997"
y="23.291843" y="23.291843"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="85.335602" x="85.335602"
y="19.726957" y="19.726957"
width="8.7552338" width="8.7552338"
height="9.4671526" height="9.4671526"
stroke="#000000" stroke="#000000"
stroke-width="0.319963" stroke-width="0.319963"
skipping to change at line 14259 skipping to change at line 13423
fill="none" fill="none"
/> />
<text <text
font-size="1.78265px" font-size="1.78265px"
x="105.95787" x="105.95787"
y="19.178034" y="19.178034"
transform="scale(0.84010005,1.1903344)">IP<tspan transform="scale(0.84010005,1.1903344)">IP<tspan
font-size="1.78265px" font-size="1.78265px"
x="103.97729" x="102.97729"
y="21.234938" y="21.234938"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.78265px" font-size="1.78265px"
x="103.97729" x="102.97729"
y="23.291843" y="23.291843"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="76.580368" x="76.580368"
y="10.259789" y="10.259789"
width="8.7552338" width="8.7552338"
height="9.467185" height="9.467185"
stroke="#000000" stroke="#000000"
stroke-width="0.319963" stroke-width="0.319963"
skipping to change at line 14333 skipping to change at line 13497
font-size="1.64552px" font-size="1.64552px"
x="94.09803" x="94.09803"
y="95.0093" y="95.0093"
transform="scale(0.84010005,1.1903344)">MPLS<tspan transform="scale(0.84010005,1.1903344)">MPLS<tspan
font-size="1.64552px" font-size="1.64552px"
x="93.618088" x="93.618088"
y="96.929077" y="96.929077"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.64552px"
x="94.537987"
y="96.929077"
>-</tspan><tspan
font-size="1.64552px"
x="95.217911"
y="96.929077"
>label</tspan><tspan
font-size="2.19403px" font-size="2.19403px"
x="94.317207" x="94.317207"
y="99.534492" y="99.534492"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="85.220398" x="85.220398"
y="110.4812" y="110.4812"
width="8.7552338" width="8.7552338"
height="9.467185" height="9.467185"
skipping to change at line 14370 skipping to change at line 13524
font-size="1.64552px" font-size="1.64552px"
x="104.52833" x="104.52833"
y="95.0093" y="95.0093"
transform="scale(0.84010005,1.1903344)">MPLS<tspan transform="scale(0.84010005,1.1903344)">MPLS<tspan
font-size="1.64552px" font-size="1.64552px"
x="104.04838" x="104.04838"
y="96.929077" y="96.929077"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.64552px"
x="104.96828"
y="96.929077"
>-</tspan><tspan
font-size="1.64552px"
x="105.6482"
y="96.929077"
>label</tspan><tspan
font-size="2.19403px" font-size="2.19403px"
x="104.74751" x="104.74751"
y="99.534492" y="99.534492"
>104</tspan></text> >104</tspan></text>
<rect <rect
x="76.465164" x="76.465164"
y="101.01403" y="101.01403"
width="8.7552338" width="8.7552338"
height="9.467185" height="9.467185"
skipping to change at line 14404 skipping to change at line 13548
fill="none" fill="none"
/> />
<text <text
font-size="1.78265px" font-size="1.78265px"
x="95.418694" x="95.418694"
y="87.4673" y="87.4673"
transform="scale(0.84010005,1.1903344)">IP<tspan transform="scale(0.84010005,1.1903344)">IP<tspan
font-size="1.78265px" font-size="1.78265px"
x="93.438126" x="92.438126"
y="89.5242" y="89.5242"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.78265px" font-size="1.78265px"
x="93.438126" x="92.438126"
y="91.5811" y="91.5811"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="85.220398" x="85.220398"
y="101.01403" y="101.01403"
width="8.7552338" width="8.7552338"
height="9.467185" height="9.467185"
stroke="#000000" stroke="#000000"
stroke-width="0.319963" stroke-width="0.319963"
skipping to change at line 14431 skipping to change at line 13575
fill="none" fill="none"
/> />
<text <text
font-size="1.78265px" font-size="1.78265px"
x="105.84899" x="105.84899"
y="87.4673" y="87.4673"
transform="scale(0.84010005,1.1903344)">IP<tspan transform="scale(0.84010005,1.1903344)">IP<tspan
font-size="1.78265px" font-size="1.78265px"
x="103.86842" x="102.86842"
y="89.5242" y="89.5242"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.78265px" font-size="1.78265px"
x="103.86842" x="102.86842"
y="91.5811" y="91.5811"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="76.465164" x="76.465164"
y="91.54686" y="91.54686"
width="8.7552338" width="8.7552338"
height="9.6303797" height="9.6303797"
stroke="#000000" stroke="#000000"
stroke-width="0.319963" stroke-width="0.319963"
skipping to change at line 14505 skipping to change at line 13649
font-size="1.64552px" font-size="1.64552px"
x="129.43938" x="129.43938"
y="26.72002" y="26.72002"
transform="scale(0.84010005,1.1903344)">MPLS<tspan transform="scale(0.84010005,1.1903344)">MPLS<tspan
font-size="1.64552px" font-size="1.64552px"
x="128.95943" x="128.95943"
y="28.639799" y="28.639799"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.64552px"
x="129.87932"
y="28.639799"
>-</tspan><tspan
font-size="1.64552px"
x="130.55927"
y="28.639799"
>label</tspan><tspan
font-size="2.19403px" font-size="2.19403px"
x="129.65855" x="129.65855"
y="31.245213" y="31.245213"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="114.94211" x="114.94211"
y="29.194126" y="29.194126"
width="8.7552338" width="8.7552338"
height="9.467185" height="9.467185"
skipping to change at line 14542 skipping to change at line 13676
font-size="1.64552px" font-size="1.64552px"
x="139.86926" x="139.86926"
y="26.72002" y="26.72002"
transform="scale(0.84010005,1.1903344)">MPLS<tspan transform="scale(0.84010005,1.1903344)">MPLS<tspan
font-size="1.64552px" font-size="1.64552px"
x="139.38931" x="139.38931"
y="28.639799" y="28.639799"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.64552px"
x="140.3092"
y="28.639799"
>-</tspan><tspan
font-size="1.64552px"
x="140.98914"
y="28.639799"
>label</tspan><tspan
font-size="2.19403px" font-size="2.19403px"
x="140.08844" x="140.08844"
y="31.245213" y="31.245213"
>104</tspan></text> >104</tspan></text>
<rect <rect
x="106.18688" x="106.18688"
y="19.726957" y="19.726957"
width="8.7552338" width="8.7552338"
height="9.4671526" height="9.4671526"
skipping to change at line 14576 skipping to change at line 13700
fill="none" fill="none"
/> />
<text <text
font-size="1.78265px" font-size="1.78265px"
x="130.7599" x="130.7599"
y="19.178034" y="19.178034"
transform="scale(0.84010005,1.1903344)">IP<tspan transform="scale(0.84010005,1.1903344)">IP<tspan
font-size="1.78265px" font-size="1.78265px"
x="128.77933" x="127.77933"
y="21.234938" y="21.234938"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.78265px" font-size="1.78265px"
x="128.77933" x="127.77933"
y="23.291843" y="23.291843"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="114.94211" x="114.94211"
y="19.726957" y="19.726957"
width="8.7552338" width="8.7552338"
height="9.4671526" height="9.4671526"
stroke="#000000" stroke="#000000"
stroke-width="0.319963" stroke-width="0.319963"
skipping to change at line 14603 skipping to change at line 13727
fill="none" fill="none"
/> />
<text <text
font-size="1.78265px" font-size="1.78265px"
x="141.18979" x="141.18979"
y="19.178034" y="19.178034"
transform="scale(0.84010005,1.1903344)">IP<tspan transform="scale(0.84010005,1.1903344)">IP<tspan
font-size="1.78265px" font-size="1.78265px"
x="139.20921" x="138.20921"
y="21.234938" y="21.234938"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.78265px" font-size="1.78265px"
x="139.20921" x="138.20921"
y="23.291843" y="23.291843"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="106.18688" x="106.18688"
y="10.259789" y="10.259789"
width="8.7552338" width="8.7552338"
height="9.467185" height="9.467185"
stroke="#000000" stroke="#000000"
stroke-width="0.319963" stroke-width="0.319963"
skipping to change at line 14677 skipping to change at line 13801
font-size="1.64552px" font-size="1.64552px"
x="129.5052" x="129.5052"
y="95.0093" y="95.0093"
transform="scale(0.84010005,1.1903344)">MPLS<tspan transform="scale(0.84010005,1.1903344)">MPLS<tspan
font-size="1.64552px" font-size="1.64552px"
x="129.02525" x="129.02525"
y="96.929077" y="96.929077"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.64552px"
x="129.94514"
y="96.929077"
>-</tspan><tspan
font-size="1.64552px"
x="130.62508"
y="96.929077"
>label</tspan><tspan
font-size="2.19403px" font-size="2.19403px"
x="129.72438" x="129.72438"
y="99.534492" y="99.534492"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="114.94211" x="114.94211"
y="110.4812" y="110.4812"
width="8.7552338" width="8.7552338"
height="9.467185" height="9.467185"
skipping to change at line 14714 skipping to change at line 13828
font-size="1.64552px" font-size="1.64552px"
x="139.93645" x="139.93645"
y="95.0093" y="95.0093"
transform="scale(0.84010005,1.1903344)">MPLS<tspan transform="scale(0.84010005,1.1903344)">MPLS<tspan
font-size="1.64552px" font-size="1.64552px"
x="139.4565" x="139.4565"
y="96.929077" y="96.929077"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.64552px"
x="140.3764"
y="96.929077"
>-</tspan><tspan
font-size="1.64552px"
x="141.05634"
y="96.929077"
>label</tspan><tspan
font-size="2.19403px" font-size="2.19403px"
x="140.15564" x="140.15564"
y="99.534492" y="99.534492"
>104</tspan></text> >104</tspan></text>
<rect <rect
x="106.18688" x="106.18688"
y="101.01403" y="101.01403"
width="8.7552338" width="8.7552338"
height="9.467185" height="9.467185"
skipping to change at line 14748 skipping to change at line 13852
fill="none" fill="none"
/> />
<text <text
font-size="1.78265px" font-size="1.78265px"
x="130.82573" x="130.82573"
y="87.4673" y="87.4673"
transform="scale(0.84010005,1.1903344)">IP<tspan transform="scale(0.84010005,1.1903344)">IP<tspan
font-size="1.78265px" font-size="1.78265px"
x="128.84514" x="127.84514"
y="89.5242" y="89.5242"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.78265px" font-size="1.78265px"
x="128.84514" x="127.84514"
y="91.5811" y="91.5811"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="114.94211" x="114.94211"
y="101.01403" y="101.01403"
width="8.7552338" width="8.7552338"
height="9.467185" height="9.467185"
stroke="#000000" stroke="#000000"
stroke-width="0.319963" stroke-width="0.319963"
skipping to change at line 14775 skipping to change at line 13879
fill="none" fill="none"
/> />
<text <text
font-size="1.78265px" font-size="1.78265px"
x="141.25697" x="141.25697"
y="87.4673" y="87.4673"
transform="scale(0.84010005,1.1903344)">IP<tspan transform="scale(0.84010005,1.1903344)">IP<tspan
font-size="1.78265px" font-size="1.78265px"
x="139.2764" x="138.2764"
y="89.5242" y="89.5242"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.78265px" font-size="1.78265px"
x="139.2764" x="138.2764"
y="91.5811" y="91.5811"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="106.18688" x="106.18688"
y="91.54686" y="91.54686"
width="8.7552338" width="8.7552338"
height="9.6303797" height="9.6303797"
stroke="#000000" stroke="#000000"
stroke-width="0.319963" stroke-width="0.319963"
skipping to change at line 14844 skipping to change at line 13948
stroke-width="0.319963" stroke-width="0.319963"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="2.19403px" font-size="2.19403px"
x="162.1716" x="162.1716"
y="104.19681" y="104.19681"
transform="scale(0.84010005,1.1903344)">MPLS F<tspan transform="scale(0.84010005,1.1903344)">MPLS F-Label<tspan
font-size="2.19403px"
x="170.09068"
y="104.19681"
>-</tspan><tspan
font-size="2.19403px"
x="171.01059"
y="104.19681"
>label</tspan><tspan
font-size="2.19403px" font-size="2.19403px"
x="165.91196" x="165.91196"
y="106.93934" y="106.93934"
>10011</tspan><tspan >10011</tspan><tspan
font-size="4.52519px" font-size="4.52519px"
x="188.81236" x="188.81236"
y="40.43272" y="40.43272"
>Note: S-label in this</tspan><tspan >Note: S-Label in this</tspan><tspan
font-size="4.52519px" font-size="4.52519px"
x="188.81236" x="188.81236"
y="45.780682" y="45.780682"
>diagram includes d-CW.</tspan></text> >diagram includes d-CW.</tspan></text>
<path <path
d="m 73.268351,69.837657 c -0.429466,0 -0.777603,-1.973086 -0.777603,-4.4 07127 0,-2.434041 0.348137,-4.407131 0.777603,-4.407131 0.429468,0 0.777603,1.97 309 0.777603,4.407131 0,2.434041 -0.348135,4.407127 -0.777603,4.407127 h -5.5872 2 c -0.429468,0 -0.777604,-1.973086 -0.777604,-4.407127 0,-2.434041 0.348136,-4. 407131 0.777604,-4.407131 h 5.58722" d="m 73.268351,69.837657 c -0.429466,0 -0.777603,-1.973086 -0.777603,-4.4 07127 0,-2.434041 0.348137,-4.407131 0.777603,-4.407131 0.429468,0 0.777603,1.97 309 0.777603,4.407131 0,2.434041 -0.348135,4.407127 -0.777603,4.407127 h -5.5872 2 c -0.429468,0 -0.777604,-1.973086 -0.777604,-4.407127 0,-2.434041 0.348136,-4. 407131 0.777604,-4.407131 h 5.58722"
stroke="#000000" stroke="#000000"
stroke-width="0.319963" stroke-width="0.319963"
stroke-miterlimit="8" stroke-miterlimit="8"
skipping to change at line 15026 skipping to change at line 14120
stroke="#000000" stroke="#000000"
stroke-width="0.239973" stroke-width="0.239973"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
</g> </g>
</svg> </svg>
</artwork> </artwork>
</artset>
</figure> </figure>
<t> <xref target="example-detnet-json-service-aggregation-c-2"/> <t> <xref target="example-detnet-json-service-aggregation-c-2"/>
contains the operational JSON configuration for the ingress aggregat ion contains the operational JSON configuration for the ingress aggregat ion
node illustrated in <xref target="case-c2"/>. node illustrated in <xref target="case-c2"/>.
In this example, a relay performing aggregation at the forwarding su b-layer is illustrated. In this example, a relay performing aggregation at the forwarding su b-layer is illustrated.
Two DetNet flows DN1 and DN2 are replicated at each Two DetNet flows -- DN-1 and DN-2 -- are replicated at each
service sub-layer, and the replicated each service sub-layer for the service sub-layer. Each replicated flow for the service sub-layer fo
upside path is aggregated at the single forwarding sub-layer with r the
MPLS label 20000, and the replicated each service sub-layer for the upper path is aggregated at the single forwarding sub-layer with
downside path is aggregated at the forwarding sub-layer with MPLS label 20000, and each replicated flow for the service sub-layer
for the
lower path is aggregated at the forwarding sub-layer with
MPLS label 20001. MPLS label 20001.
<xref target="example-detnet-json-service-disaggregation-c-2"/> <xref target="example-detnet-json-service-disaggregation-c-2"/>
contains the operational JSON configuration for the egress disaggreg ation contains the operational JSON configuration for the egress disaggreg ation
node illustrated in <xref target="case-c2"/>. node illustrated in <xref target="case-c2"/>.
</t> </t>
<figure anchor="example-detnet-json-service-aggregation-c-2"> <figure anchor="example-detnet-json-service-aggregation-c-2">
<name>Example C-2 DetNet Relay Aggregation Service Sub-Layer</name> <name>Example C-2: DetNet Relay Aggregation Service Sub-layer</name>
<artwork name="" type="" align="left" alt=""><![CDATA[ <sourcecode name="" type="json"><![CDATA[
{ {
"ietf-detnet:detnet": { "ietf-detnet:detnet": {
"traffic-profile": [ "traffic-profile": [
{ {
"name": "pf-1", "name": "pf-1",
"traffic-requirements": { "traffic-requirements": {
"min-bandwidth": "100000000", "min-bandwidth": "100000000",
"max-latency": 100000000, "max-latency": 100000000,
"max-latency-variation": 10000000, "max-latency-variation": 10000000,
"max-loss": "0.0000001", "max-loss": "0.0000001",
skipping to change at line 15322 skipping to change at line 14415
"name": "eth3", "name": "eth3",
"type": "iana-if-type:ethernetCsmacd", "type": "iana-if-type:ethernetCsmacd",
"oper-status": "up", "oper-status": "up",
"statistics": { "statistics": {
"discontinuity-time": "2024-02-21T18:59:00-05:00" "discontinuity-time": "2024-02-21T18:59:00-05:00"
} }
} }
] ]
} }
} }
]]></artwork> ]]></sourcecode>
</figure> </figure>
<figure anchor="example-detnet-json-service-disaggregation-c-2"> <figure anchor="example-detnet-json-service-disaggregation-c-2">
<name>Example C-2 DetNet Relay Disaggregation Service Sub-Layer</name> <name>Example C-2: DetNet Relay Disaggregation Service Sub-layer</name
<artwork name="" type="" align="left" alt=""><![CDATA[ >
<sourcecode name="" type="json"><![CDATA[
{ {
"ietf-detnet:detnet": { "ietf-detnet:detnet": {
"traffic-profile": [ "traffic-profile": [
{ {
"name": "pf-1", "name": "pf-1",
"traffic-requirements": { "traffic-requirements": {
"min-bandwidth": "100000000", "min-bandwidth": "100000000",
"max-latency": 100000000, "max-latency": 100000000,
"max-latency-variation": 10000000, "max-latency-variation": 10000000,
"max-loss": "0.0000001", "max-loss": "0.0000001",
skipping to change at line 15602 skipping to change at line 14695
"name": "eth3", "name": "eth3",
"type": "iana-if-type:ethernetCsmacd", "type": "iana-if-type:ethernetCsmacd",
"oper-status": "up", "oper-status": "up",
"statistics": { "statistics": {
"discontinuity-time": "2024-02-21T18:59:00-05:00" "discontinuity-time": "2024-02-21T18:59:00-05:00"
} }
} }
] ]
} }
} }
]]></artwork> ]]></sourcecode>
</figure> </figure>
</section> </section>
<section numbered="true" toc="default"> <section numbered="true" toc="default">
<name>Example C-3 JSON Relay Service Sub-Layer Aggregation/Disaggr egation</name> <name>Example C-3: DetNet Relay Service Sub-layer Aggregation/Disa ggregation</name>
<t> <t>
<xref target="case-c3"/> illustrates the DetNet relay node servi ce sub-layer <xref target="case-c3"/> illustrates the DetNet relay node's ser vice sub-layer
flows 1 and 2 aggregated into a service sub-layer flows 1 and 2 aggregated into a service sub-layer
flow. Multiple DetNet flows with the same requirements flow. Multiple DetNet flows with the same requirements
which can use the same path are aggregated into a single that can use the same path are aggregated into a single
aggregated DetNet flow, and service protection and resource allo cation aggregated DetNet flow, and service protection and resource allo cation
are performed by the service sub-layer and forwarding sub-layer of are performed by the service sub-layer and forwarding sub-layer of
aggregated DetNet flow. A diagram illustrating both aggregation the aggregated DetNet flow. <xref target="case-c3"/> illustrates
and both aggregation and
disaggregation is shown and then the corresponding JSON operatio disaggregation, and the corresponding JSON operational
nal
data follows. data follows.
</t> </t>
<figure anchor="case-c3"> <figure anchor="case-c3">
<name>Case C-3 Example Service Aggregation/Disaggregation</name> <name>Case C-3: Example Service Aggregation/Disaggregation</name
<artset> >
<artwork align="left" type="ascii-art" name="" alt=""><![CDATA[
Please consult the PDF or HTML versions for the Case C-3 Diagram.
]]></artwork>
<artwork type="svg"> <artwork type="svg">
<svg <svg
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
width="180mm" width="180mm"
height="120mm" height="120mm"
viewBox="0 0 210 140" viewBox="0 0 210 140"
version="1.1" version="1.1"
> >
skipping to change at line 15695 skipping to change at line 14782
font-size="1.3787px" font-size="1.3787px"
x="123.87114" x="123.87114"
y="26.714422" y="26.714422"
transform="scale(0.92557641,1.0804078)">MPLS<tspan transform="scale(0.92557641,1.0804078)">MPLS<tspan
font-size="1.3787px" font-size="1.3787px"
x="123.46902" x="123.46902"
y="28.322903" y="28.322903"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.3787px"
x="124.23975"
y="28.322903"
>-</tspan><tspan
font-size="1.3787px"
x="124.80943"
y="28.322903"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="124.05479" x="124.05479"
y="30.505838" y="30.505838"
>104</tspan><tspan >104</tspan><tspan
font-size="2.64251px" font-size="2.64251px"
x="13.114499" x="13.114499"
y="65.662704" y="65.662704"
>Source 1</tspan><tspan >Source 1</tspan><tspan
skipping to change at line 15802 skipping to change at line 14879
stroke="#000000" stroke="#000000"
stroke-width="0.20106" stroke-width="0.20106"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<text <text
font-size="2.64251px" font-size="2.64251px"
x="101.72691" x="100.72691"
y="80.713516" y="80.713516"
transform="scale(0.92557641,1.0804078)">Transit 2</text> transform="scale(0.92557641,1.0804078)">Transit 2</text>
<path <path
d="m 102.00507,78.64189 c 0,-0.344616 -0.23933,-0.623982 -0.53456,-0.6239 82 h -5.84305 c -0.295234,0 -0.534565,0.279366 -0.534565,0.623982 v 5.455069 c 0 ,0.344612 0.239331,0.623978 0.534565,0.623978 h 5.84305 c 0.29523,0 0.53456,-0.2 79366 0.53456,-0.623978 z" d="m 102.00507,78.64189 c 0,-0.344616 -0.23933,-0.623982 -0.53456,-0.6239 82 h -5.84305 c -0.295234,0 -0.534565,0.279366 -0.534565,0.623982 v 5.455069 c 0 ,0.344612 0.239331,0.623978 0.534565,0.623978 h 5.84305 c 0.29523,0 0.53456,-0.2 79366 0.53456,-0.623978 z"
stroke="#000000" stroke="#000000"
stroke-width="0.26808" stroke-width="0.26808"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
skipping to change at line 15827 skipping to change at line 14904
stroke="#000000" stroke="#000000"
stroke-width="0.20106" stroke-width="0.20106"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<text <text
font-size="2.64251px" font-size="2.64251px"
x="101.72691" x="100.72691"
y="50.611893" y="50.611893"
transform="scale(0.92557641,1.0804078)">Transit 1</text> transform="scale(0.92557641,1.0804078)">Transit 1</text>
<path <path
d="m 102.00507,46.243985 c 0,-0.344616 -0.23933,-0.623982 -0.53456,-0.623 982 h -5.84305 c -0.295234,0 -0.534565,0.279366 -0.534565,0.623982 v 5.45507 c 0 ,0.34461 0.239331,0.623977 0.534565,0.623977 h 5.84305 c 0.29523,0 0.53456,-0.27 9367 0.53456,-0.623977 z" d="m 102.00507,46.243985 c 0,-0.344616 -0.23933,-0.623982 -0.53456,-0.623 982 h -5.84305 c -0.295234,0 -0.534565,0.279366 -0.534565,0.623982 v 5.45507 c 0 ,0.34461 0.239331,0.623977 0.534565,0.623977 h 5.84305 c 0.29523,0 0.53456,-0.27 9367 0.53456,-0.623977 z"
stroke="#000000" stroke="#000000"
stroke-width="0.26808" stroke-width="0.26808"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
skipping to change at line 15976 skipping to change at line 15053
stroke-width="0.26808" stroke-width="0.26808"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.83826px" font-size="1.83826px"
x="85.863373" x="85.863373"
y="41.075882" y="41.075882"
transform="scale(0.92557641,1.0804078)">MPLS F<tspan transform="scale(0.92557641,1.0804078)">MPLS F-Label<tspan
font-size="1.83826px"
x="92.49836"
y="41.075882"
>-</tspan><tspan
font-size="1.83826px"
x="93.269089"
y="41.075882"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="88.997223" x="88.997223"
y="43.373711" y="43.373711"
>20000</tspan></text> >20000</tspan></text>
<rect <rect
x="76.908569" x="76.908569"
y="109.54691" y="109.54691"
width="16.163839" width="16.163839"
height="7.1995339" height="7.1995339"
skipping to change at line 16008 skipping to change at line 15075
stroke-width="0.26808" stroke-width="0.26808"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.83826px" font-size="1.83826px"
x="85.99939" x="85.99939"
y="104.26631" y="104.26631"
transform="scale(0.92557641,1.0804078)">MPLS F<tspan transform="scale(0.92557641,1.0804078)">MPLS F-Label<tspan
font-size="1.83826px"
x="92.634399"
y="104.26631"
>-</tspan><tspan
font-size="1.83826px"
x="93.405128"
y="104.26631"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="89.133263" x="89.133263"
y="106.56416" y="106.56416"
>20001</tspan></text> >20001</tspan></text>
<rect <rect
x="104.13187" x="104.13187"
y="41.275452" y="41.275452"
width="16.270182" width="16.270182"
height="7.1995463" height="7.1995463"
skipping to change at line 16040 skipping to change at line 15097
stroke-width="0.26808" stroke-width="0.26808"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.83826px" font-size="1.83826px"
x="115.47947" x="115.47947"
y="41.075882" y="41.075882"
transform="scale(0.92557641,1.0804078)">MPLS F<tspan transform="scale(0.92557641,1.0804078)">MPLS F-Label<tspan
font-size="1.83826px"
x="122.11445"
y="41.075882"
>-</tspan><tspan
font-size="1.83826px"
x="122.88519"
y="41.075882"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="118.61332" x="118.61332"
y="43.373711" y="43.373711"
>20002</tspan></text> >20002</tspan></text>
<rect <rect
x="104.23822" x="104.23822"
y="109.54691" y="109.54691"
width="16.270182" width="16.270182"
height="7.1995339" height="7.1995339"
skipping to change at line 16072 skipping to change at line 15119
stroke-width="0.26808" stroke-width="0.26808"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.83826px" font-size="1.83826px"
x="115.59436" x="115.59436"
y="104.26631" y="104.26631"
transform="scale(0.92557641,1.0804078)">MPLS F<tspan transform="scale(0.92557641,1.0804078)">MPLS F-Label<tspan
font-size="1.83826px"
x="122.22934"
y="104.26631"
>-</tspan><tspan
font-size="1.83826px"
x="123.00005"
y="104.26631"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="118.7282" x="118.7282"
y="106.56416" y="106.56416"
>20003</tspan></text> >20003</tspan></text>
<rect <rect
x="158.57849" x="158.57849"
y="12.477315" y="12.477315"
width="16.163839" width="16.163839"
height="7.1995463" height="7.1995463"
skipping to change at line 16175 skipping to change at line 15212
stroke-width="0.26808" stroke-width="0.26808"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.83826px" font-size="1.83826px"
x="56.311371" x="56.311371"
y="27.863342" y="27.863342"
transform="scale(0.92557641,1.0804078)">MPLS S<tspan transform="scale(0.92557641,1.0804078)">MPLS S-Label<tspan
font-size="1.83826px"
x="63.046909"
y="27.863342"
>-</tspan><tspan
font-size="1.83826px"
x="63.817638"
y="27.863342"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="60.567173" x="60.567173"
y="30.161171" y="30.161171"
>100</tspan></text> >100</tspan></text>
<rect <rect
x="49.472607" x="49.472607"
y="34.20005" y="34.20005"
width="16.163839" width="16.163839"
height="7.1995463" height="7.1995463"
skipping to change at line 16207 skipping to change at line 15234
stroke-width="0.26808" stroke-width="0.26808"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.83826px" font-size="1.83826px"
x="56.361595" x="56.361595"
y="34.641941" y="34.641941"
transform="scale(0.92557641,1.0804078)">MPLS F<tspan transform="scale(0.92557641,1.0804078)">MPLS F-Label<tspan
font-size="1.83826px"
x="62.996578"
y="34.641941"
>-</tspan><tspan
font-size="1.83826px"
x="63.76733"
y="34.641941"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="59.495441" x="59.495441"
y="36.939781" y="36.939781"
>10000</tspan></text> >10000</tspan></text>
<rect <rect
x="49.472607" x="49.472607"
y="12.477315" y="12.477315"
width="16.163839" width="16.163839"
height="7.1995463" height="7.1995463"
skipping to change at line 16283 skipping to change at line 15300
stroke-width="0.26808" stroke-width="0.26808"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.83826px" font-size="1.83826px"
x="142.43649" x="142.43649"
y="27.748436" y="27.748436"
transform="scale(0.92557641,1.0804078)">MPLS S<tspan transform="scale(0.92557641,1.0804078)">MPLS S-Label<tspan
font-size="1.83826px"
x="149.17201"
y="27.748436"
>-</tspan><tspan
font-size="1.83826px"
x="149.94275"
y="27.748436"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="146.69226" x="146.69226"
y="30.046278" y="30.046278"
>102</tspan></text> >102</tspan></text>
<rect <rect
x="129.12206" x="129.12206"
y="33.951786" y="33.951786"
width="16.270182" width="16.270182"
height="7.1995463" height="7.1995463"
skipping to change at line 16315 skipping to change at line 15322
stroke-width="0.26808" stroke-width="0.26808"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.83826px" font-size="1.83826px"
x="142.4859" x="142.4859"
y="34.412163" y="34.412163"
transform="scale(0.92557641,1.0804078)">MPLS F<tspan transform="scale(0.92557641,1.0804078)">MPLS F-Label<tspan
font-size="1.83826px"
x="149.12091"
y="34.412163"
>-</tspan><tspan
font-size="1.83826px"
x="149.89163"
y="34.412163"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="145.61977" x="145.61977"
y="36.709995" y="36.709995"
>10005</tspan></text> >10005</tspan></text>
<rect <rect
x="129.12206" x="129.12206"
y="12.477315" y="12.477315"
width="16.270182" width="16.270182"
height="7.1995463" height="7.1995463"
skipping to change at line 16551 skipping to change at line 15548
stroke-width="0.26808" stroke-width="0.26808"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.83826px" font-size="1.83826px"
x="85.695847" x="85.695847"
y="34.412163" y="34.412163"
transform="scale(0.92557641,1.0804078)">MPLS A<tspan transform="scale(0.92557641,1.0804078)">MPLS A-Label<tspan
font-size="1.83826px"
x="92.665939"
y="34.412163"
>-</tspan><tspan
font-size="1.83826px"
x="93.436668"
y="34.412163"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="89.533417" x="89.533417"
y="36.709995" y="36.709995"
>1000</tspan></text> >1000</tspan></text>
<rect <rect
x="49.472607" x="49.472607"
y="102.34737" y="102.34737"
width="16.163839" width="16.163839"
height="7.1995096" height="7.1995096"
skipping to change at line 16583 skipping to change at line 15570
stroke-width="0.26808" stroke-width="0.26808"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.83826px" font-size="1.83826px"
x="56.358143" x="56.358143"
y="97.717499" y="97.717499"
transform="scale(0.92557641,1.0804078)">MPLS S<tspan transform="scale(0.92557641,1.0804078)">MPLS S-Label<tspan
font-size="1.83826px"
x="63.093662"
y="97.717499"
>-</tspan><tspan
font-size="1.83826px"
x="63.864391"
y="97.717499"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="60.613926" x="60.613926"
y="100.01533" y="100.01533"
>103</tspan></text> >103</tspan></text>
<rect <rect
x="49.472607" x="49.472607"
y="88.072433" y="88.072433"
width="16.163839" width="16.163839"
height="7.3236766" height="7.3236766"
skipping to change at line 16659 skipping to change at line 15636
stroke-width="0.26808" stroke-width="0.26808"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.83826px" font-size="1.83826px"
x="85.831886" x="85.831886"
y="97.717499" y="97.717499"
transform="scale(0.92557641,1.0804078)">MPLS A<tspan transform="scale(0.92557641,1.0804078)">MPLS A-Label<tspan
font-size="1.83826px"
x="92.801979"
y="97.717499"
>-</tspan><tspan
font-size="1.83826px"
x="93.572716"
y="97.717499"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="89.669456" x="89.669456"
y="100.01533" y="100.01533"
>1000</tspan></text> >1000</tspan></text>
<rect <rect
x="104.23822" x="104.23822"
y="102.34737" y="102.34737"
width="16.270182" width="16.270182"
height="7.1995096" height="7.1995096"
skipping to change at line 16691 skipping to change at line 15658
stroke-width="0.26808" stroke-width="0.26808"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.83826px" font-size="1.83826px"
x="115.42661" x="115.42661"
y="97.717499" y="97.717499"
transform="scale(0.92557641,1.0804078)">MPLS A<tspan transform="scale(0.92557641,1.0804078)">MPLS A-Label<tspan
font-size="1.83826px"
x="122.39669"
y="97.717499"
>-</tspan><tspan
font-size="1.83826px"
x="123.16743"
y="97.717499"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="119.26418" x="119.26418"
y="100.01533" y="100.01533"
>1000</tspan></text> >1000</tspan></text>
<rect <rect
x="104.13187" x="104.13187"
y="34.07592" y="34.07592"
width="16.270182" width="16.270182"
height="7.1995463" height="7.1995463"
skipping to change at line 16723 skipping to change at line 15680
stroke-width="0.26808" stroke-width="0.26808"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.83826px" font-size="1.83826px"
x="115.31286" x="115.31286"
y="34.412163" y="34.412163"
transform="scale(0.92557641,1.0804078)">MPLS A<tspan transform="scale(0.92557641,1.0804078)">MPLS A-Label<tspan
font-size="1.83826px"
x="122.28296"
y="34.412163"
>-</tspan><tspan
font-size="1.83826px"
x="123.05369"
y="34.412163"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="119.15044" x="119.15044"
y="36.709995" y="36.709995"
>1000</tspan></text> >1000</tspan></text>
<path <path
d="m 47.452114,78.64189 c 0,-0.344616 -0.239331,-0.623982 -0.534561,-0.62 3982 H 41.07452 c -0.295234,0 -0.534564,0.279366 -0.534564,0.623982 v 5.455047 c 0,0.34462 0.23933,0.623972 0.534564,0.623972 h 5.843033 c 0.29523,0 0.534561,-0 .279352 0.534561,-0.623972 z" d="m 47.452114,78.64189 c 0,-0.344616 -0.239331,-0.623982 -0.534561,-0.62 3982 H 41.07452 c -0.295234,0 -0.534564,0.279366 -0.534564,0.623982 v 5.455047 c 0,0.34462 0.23933,0.623972 0.534564,0.623972 h 5.843033 c 0.29523,0 0.534561,-0 .279352 0.534561,-0.623972 z"
stroke="#000000" stroke="#000000"
stroke-width="0.26808" stroke-width="0.26808"
stroke-linejoin="round" stroke-linejoin="round"
skipping to change at line 16813 skipping to change at line 15760
stroke-width="0.26808" stroke-width="0.26808"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.83826px" font-size="1.83826px"
x="56.408344" x="56.408344"
y="104.26631" y="104.26631"
transform="scale(0.92557641,1.0804078)">MPLS F<tspan transform="scale(0.92557641,1.0804078)">MPLS F-Label<tspan
font-size="1.83826px"
x="63.043331"
y="104.26631"
>-</tspan><tspan
font-size="1.83826px"
x="63.81406"
y="104.26631"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="59.542217" x="59.542217"
y="106.56416" y="106.56416"
>10006</tspan></text> >10006</tspan></text>
<path <path
d="m 129.33472,65.232529 20.35793,16.173752" d="m 129.33472,65.232529 20.35793,16.173752"
stroke="#000000" stroke="#000000"
stroke-width="0.26808" stroke-width="0.26808"
stroke-miterlimit="8" stroke-miterlimit="8"
skipping to change at line 16853 skipping to change at line 15790
stroke-width="0.26808" stroke-width="0.26808"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.83826px" font-size="1.83826px"
x="142.39743" x="142.39743"
y="97.6026" y="97.6026"
transform="scale(0.92557641,1.0804078)">MPLS S<tspan transform="scale(0.92557641,1.0804078)">MPLS S-Label<tspan
font-size="1.83826px"
x="149.13295"
y="97.6026"
>-</tspan><tspan
font-size="1.83826px"
x="149.90369"
y="97.6026"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="146.6532" x="146.6532"
y="99.900436" y="99.900436"
>105</tspan></text> >105</tspan></text>
<rect <rect
x="129.12206" x="129.12206"
y="109.54691" y="109.54691"
width="16.163839" width="16.163839"
height="7.1995339" height="7.1995339"
skipping to change at line 16885 skipping to change at line 15812
stroke-width="0.26808" stroke-width="0.26808"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.83826px" font-size="1.83826px"
x="142.448" x="142.448"
y="104.26631" y="104.26631"
transform="scale(0.92557641,1.0804078)">MPLS F<tspan transform="scale(0.92557641,1.0804078)">MPLS F-Label<tspan
font-size="1.83826px"
x="149.08298"
y="104.26631"
>-</tspan><tspan
font-size="1.83826px"
x="149.8537"
y="104.26631"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="145.58183" x="145.58183"
y="106.56416" y="106.56416"
>10011</tspan></text> >10011</tspan></text>
<rect <rect
x="129.12206" x="129.12206"
y="87.948296" y="87.948296"
width="16.163839" width="16.163839"
height="7.1995463" height="7.1995463"
skipping to change at line 17171 skipping to change at line 16088
font-size="1.3787px" font-size="1.3787px"
x="85.515114" x="85.515114"
y="26.714422" y="26.714422"
transform="scale(0.92557641,1.0804078)">MPLS<tspan transform="scale(0.92557641,1.0804078)">MPLS<tspan
font-size="1.3787px" font-size="1.3787px"
x="85.112999" x="85.112999"
y="28.322903" y="28.322903"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.3787px"
x="85.883728"
y="28.322903"
>-</tspan><tspan
font-size="1.3787px"
x="86.4534"
y="28.322903"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="85.698753" x="85.698753"
y="30.505838" y="30.505838"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="76.802231" x="76.802231"
y="19.676861" y="19.676861"
width="8.0819197" width="8.0819197"
height="7.1995463" height="7.1995463"
skipping to change at line 17205 skipping to change at line 16112
fill="none" fill="none"
/> />
<text <text
font-size="1.49359px" font-size="1.49359px"
x="86.621643" x="86.621643"
y="20.395372" y="20.395372"
transform="scale(0.92557641,1.0804078)">IP<tspan transform="scale(0.92557641,1.0804078)">IP<tspan
font-size="1.49359px" font-size="1.49359px"
x="84.962219" x="83.962219"
y="22.11875" y="22.11875"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.49359px" font-size="1.49359px"
x="84.962219" x="83.962219"
y="23.842125" y="23.842125"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="76.802231" x="76.802231"
y="12.477315" y="12.477315"
width="8.0819197" width="8.0819197"
height="7.1995463" height="7.1995463"
stroke="#000000" stroke="#000000"
stroke-width="0.26808" stroke-width="0.26808"
skipping to change at line 17257 skipping to change at line 16164
font-size="1.3787px" font-size="1.3787px"
x="94.25412" x="94.25412"
y="26.714422" y="26.714422"
transform="scale(0.92557641,1.0804078)">MPLS<tspan transform="scale(0.92557641,1.0804078)">MPLS<tspan
font-size="1.3787px" font-size="1.3787px"
x="93.852005" x="93.852005"
y="28.322903" y="28.322903"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.3787px"
x="94.622734"
y="28.322903"
>-</tspan><tspan
font-size="1.3787px"
x="95.192406"
y="28.322903"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="94.437767" x="94.437767"
y="30.505838" y="30.505838"
>104</tspan></text> >104</tspan></text>
<rect <rect
x="84.884148" x="84.884148"
y="19.676861" y="19.676861"
width="8.0819197" width="8.0819197"
height="7.1995463" height="7.1995463"
skipping to change at line 17291 skipping to change at line 16188
fill="none" fill="none"
/> />
<text <text
font-size="1.49359px" font-size="1.49359px"
x="95.360649" x="95.360649"
y="20.395372" y="20.395372"
transform="scale(0.92557641,1.0804078)">IP<tspan transform="scale(0.92557641,1.0804078)">IP<tspan
font-size="1.49359px" font-size="1.49359px"
x="93.701233" x="92.701233"
y="22.11875" y="22.11875"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.49359px" font-size="1.49359px"
x="93.701233" x="92.701233"
y="23.842125" y="23.842125"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="84.884148" x="84.884148"
y="12.477315" y="12.477315"
width="8.0819197" width="8.0819197"
height="7.1995463" height="7.1995463"
stroke="#000000" stroke="#000000"
stroke-width="0.26808" stroke-width="0.26808"
skipping to change at line 17343 skipping to change at line 16240
font-size="1.3787px" font-size="1.3787px"
x="85.651154" x="85.651154"
y="90.019753" y="90.019753"
transform="scale(0.92557641,1.0804078)">MPLS<tspan transform="scale(0.92557641,1.0804078)">MPLS<tspan
font-size="1.3787px" font-size="1.3787px"
x="85.249039" x="85.249039"
y="91.628235" y="91.628235"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.3787px"
x="86.019775"
y="91.628235"
>-</tspan><tspan
font-size="1.3787px"
x="86.589439"
y="91.628235"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="85.834801" x="85.834801"
y="93.81118" y="93.81118"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="84.990486" x="84.990486"
y="95.271973" y="95.271973"
width="8.0819197" width="8.0819197"
height="7.1995463" height="7.1995463"
skipping to change at line 17380 skipping to change at line 16267
font-size="1.3787px" font-size="1.3787px"
x="94.390167" x="94.390167"
y="90.019753" y="90.019753"
transform="scale(0.92557641,1.0804078)">MPLS<tspan transform="scale(0.92557641,1.0804078)">MPLS<tspan
font-size="1.3787px" font-size="1.3787px"
x="93.988052" x="93.988052"
y="91.628235" y="91.628235"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.3787px"
x="94.758774"
y="91.628235"
>-</tspan><tspan
font-size="1.3787px"
x="95.328453"
y="91.628235"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="94.573807" x="94.573807"
y="93.81118" y="93.81118"
>104</tspan></text> >104</tspan></text>
<rect <rect
x="76.908569" x="76.908569"
y="88.072433" y="88.072433"
width="8.0819197" width="8.0819197"
height="7.1995463" height="7.1995463"
skipping to change at line 17414 skipping to change at line 16291
fill="none" fill="none"
/> />
<text <text
font-size="1.49359px" font-size="1.49359px"
x="86.757553" x="86.757553"
y="83.700706" y="83.700706"
transform="scale(0.92557641,1.0804078)">IP<tspan transform="scale(0.92557641,1.0804078)">IP<tspan
font-size="1.49359px" font-size="1.49359px"
x="85.09816" x="83.09816"
y="85.42408" y="85.42408"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.49359px" font-size="1.49359px"
x="85.09816" x="83.09816"
y="87.147461" y="87.147461"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="84.990486" x="84.990486"
y="88.072433" y="88.072433"
width="8.0819197" width="8.0819197"
height="7.1995463" height="7.1995463"
stroke="#000000" stroke="#000000"
stroke-width="0.26808" stroke-width="0.26808"
skipping to change at line 17441 skipping to change at line 16318
fill="none" fill="none"
/> />
<text <text
font-size="1.49359px" font-size="1.49359px"
x="95.496559" x="95.496559"
y="83.700706" y="83.700706"
transform="scale(0.92557641,1.0804078)">IP<tspan transform="scale(0.92557641,1.0804078)">IP<tspan
font-size="1.49359px" font-size="1.49359px"
x="93.837166" x="92.837166"
y="85.42408" y="85.42408"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.49359px" font-size="1.49359px"
x="93.837166" x="92.837166"
y="87.147461" y="87.147461"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="76.908569" x="76.908569"
y="80.997025" y="80.997025"
width="8.0819197" width="8.0819197"
height="7.1995463" height="7.1995463"
stroke="#000000" stroke="#000000"
stroke-width="0.26808" stroke-width="0.26808"
skipping to change at line 17515 skipping to change at line 16392
font-size="1.3787px" font-size="1.3787px"
x="115.13134" x="115.13134"
y="26.714422" y="26.714422"
transform="scale(0.92557641,1.0804078)">MPLS<tspan transform="scale(0.92557641,1.0804078)">MPLS<tspan
font-size="1.3787px" font-size="1.3787px"
x="114.72923" x="114.72923"
y="28.322903" y="28.322903"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.3787px"
x="115.49995"
y="28.322903"
>-</tspan><tspan
font-size="1.3787px"
x="116.06962"
y="28.322903"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="115.31496" x="115.31496"
y="30.505838" y="30.505838"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="104.13187" x="104.13187"
y="19.676861" y="19.676861"
width="8.0819197" width="8.0819197"
height="7.1995463" height="7.1995463"
skipping to change at line 17549 skipping to change at line 16416
fill="none" fill="none"
/> />
<text <text
font-size="1.49359px" font-size="1.49359px"
x="116.23774" x="116.23774"
y="20.395372" y="20.395372"
transform="scale(0.92557641,1.0804078)">IP<tspan transform="scale(0.92557641,1.0804078)">IP<tspan
font-size="1.49359px" font-size="1.49359px"
x="114.57832" x="113.57832"
y="22.11875" y="22.11875"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.49359px" font-size="1.49359px"
x="114.57832" x="113.57832"
y="23.842125" y="23.842125"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="112.2138" x="112.2138"
y="19.676861" y="19.676861"
width="8.188261" width="8.188261"
height="7.1995463" height="7.1995463"
stroke="#000000" stroke="#000000"
stroke-width="0.26808" stroke-width="0.26808"
skipping to change at line 17576 skipping to change at line 16443
fill="none" fill="none"
/> />
<text <text
font-size="1.49359px" font-size="1.49359px"
x="124.97757" x="124.97757"
y="20.395372" y="20.395372"
transform="scale(0.92557641,1.0804078)">IP<tspan transform="scale(0.92557641,1.0804078)">IP<tspan
font-size="1.49359px" font-size="1.49359px"
x="123.31812" x="122.31812"
y="22.11875" y="22.11875"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.49359px" font-size="1.49359px"
x="123.31812" x="122.31812"
y="23.842125" y="23.842125"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="104.13187" x="104.13187"
y="12.477315" y="12.477315"
width="8.0819197" width="8.0819197"
height="7.1995463" height="7.1995463"
stroke="#000000" stroke="#000000"
stroke-width="0.26808" stroke-width="0.26808"
skipping to change at line 17650 skipping to change at line 16517
font-size="1.3787px" font-size="1.3787px"
x="115.24506" x="115.24506"
y="90.134636" y="90.134636"
transform="scale(0.92557641,1.0804078)">MPLS<tspan transform="scale(0.92557641,1.0804078)">MPLS<tspan
font-size="1.3787px" font-size="1.3787px"
x="114.84296" x="114.84296"
y="91.743126" y="91.743126"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.3787px"
x="115.61371"
y="91.743126"
>-</tspan><tspan
font-size="1.3787px"
x="116.18338"
y="91.743126"
>label</tspan><tspan
font-size="1.60848px" font-size="1.60848px"
x="115.6298" x="115.6298"
y="93.696281" y="93.696281"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="112.32014" x="112.32014"
y="95.271973" y="95.271973"
width="8.188261" width="8.188261"
height="7.1995463" height="7.1995463"
skipping to change at line 17687 skipping to change at line 16544
font-size="1.3787px" font-size="1.3787px"
x="123.98489" x="123.98489"
y="90.019753" y="90.019753"
transform="scale(0.92557641,1.0804078)">MPLS<tspan transform="scale(0.92557641,1.0804078)">MPLS<tspan
font-size="1.3787px" font-size="1.3787px"
x="123.58278" x="123.58278"
y="91.628235" y="91.628235"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.3787px"
x="124.35351"
y="91.628235"
>-</tspan><tspan
font-size="1.3787px"
x="124.92318"
y="91.628235"
>label</tspan><tspan
font-size="1.83826px" font-size="1.83826px"
x="124.16853" x="124.16853"
y="93.81118" y="93.81118"
>104</tspan></text> >104</tspan></text>
<rect <rect
x="104.23822" x="104.23822"
y="88.072433" y="88.072433"
width="8.0819197" width="8.0819197"
height="7.1995463" height="7.1995463"
skipping to change at line 17721 skipping to change at line 16568
fill="none" fill="none"
/> />
<text <text
font-size="1.49359px" font-size="1.49359px"
x="116.35262" x="116.35262"
y="83.700706" y="83.700706"
transform="scale(0.92557641,1.0804078)">IP<tspan transform="scale(0.92557641,1.0804078)">IP<tspan
font-size="1.49359px" font-size="1.49359px"
x="114.69321" x="113.69321"
y="85.42408" y="85.42408"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.49359px" font-size="1.49359px"
x="114.69321" x="113.69321"
y="87.147461" y="87.147461"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="112.32014" x="112.32014"
y="88.072433" y="88.072433"
width="8.188261" width="8.188261"
height="7.1995463" height="7.1995463"
stroke="#000000" stroke="#000000"
stroke-width="0.26808" stroke-width="0.26808"
skipping to change at line 17748 skipping to change at line 16595
fill="none" fill="none"
/> />
<text <text
font-size="1.49359px" font-size="1.49359px"
x="125.09129" x="125.09129"
y="83.700706" y="83.700706"
transform="scale(0.92557641,1.0804078)">IP<tspan transform="scale(0.92557641,1.0804078)">IP<tspan
font-size="1.49359px" font-size="1.49359px"
x="123.43187" x="122.43187"
y="85.42408" y="85.42408"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.49359px" font-size="1.49359px"
x="123.43187" x="122.43187"
y="87.147461" y="87.147461"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="104.23822" x="104.23822"
y="80.997025" y="80.997025"
width="8.0819197" width="8.0819197"
height="7.1995463" height="7.1995463"
stroke="#000000" stroke="#000000"
stroke-width="0.26808" stroke-width="0.26808"
skipping to change at line 17805 skipping to change at line 16652
transform="scale(0.92557641,1.0804078)">DATA <tspan transform="scale(0.92557641,1.0804078)">DATA <tspan
font-size="1.60848px" font-size="1.60848px"
x="125.30804" x="125.30804"
y="79.909279" y="79.909279"
>2</tspan><tspan >2</tspan><tspan
font-size="3.79143px" font-size="3.79143px"
x="163.70938" x="163.70938"
y="39.23761" y="39.23761"
>Note: S and A labels in this</tspan><tspan >Note: S- and A-Labels in this</tspan><tspan
font-size="3.79143px" font-size="3.79143px"
x="163.70938" x="163.70938"
y="43.718391" y="43.718391"
>diagram include d-CWs of their</tspan><tspan >diagram include d-CWs of their</tspan><tspan
font-size="3.79143px" font-size="3.79143px"
x="163.70938" x="163.70938"
y="48.199173" y="48.199173"
>own.</tspan></text> >own.</tspan></text>
skipping to change at line 17937 skipping to change at line 16784
fill-rule="evenodd" fill-rule="evenodd"
/> />
<text <text
font-size="2.64251px" font-size="2.64251px"
x="70.38549" x="70.38549"
y="74.509369" y="74.509369"
transform="scale(0.92557641,1.0804078)">aggregation<tspan transform="scale(0.92557641,1.0804078)">aggregation<tspan
font-size="2.64251px" font-size="2.64251px"
x="127.93602" x="125.93602"
y="74.394478" y="74.394478"
>disaggregation</tspan></text> >disaggregation</tspan></text>
</g> </g>
</svg> </svg>
</artwork> </artwork>
</artset>
</figure> </figure>
<t> <xref target="example-detnet-json-service-aggregation-c-3"/> <t> <xref target="example-detnet-json-service-aggregation-c-3"/>
contains the operational JSON configuration for the ingress aggregat ion contains the operational JSON configuration for the ingress aggregat ion
node illustrated in <xref target="case-c3"/>. node illustrated in <xref target="case-c3"/>.
In this example a relay performing aggregation at the service sub-la In this example, a relay performing aggregation at the service sub-l
yer is illustrated. ayer is illustrated.
Two DetNet flows DN1 and DN2 are relayed at each service Two DetNet flows -- DN-1 and DN-2 -- are relayed at each service
sub-layer with MPLS labels 101 and 104 respectively, and each servic sub-layer with MPLS labels 101 and 104, respectively, and each servi
e sub-layer is ce sub-layer is
aggregated at a single service sub-layer flow and replicated. aggregated at a single service sub-layer flow and replicated.
<xref target="example-detnet-json-service-disaggregation-c-3"/> <xref target="example-detnet-json-service-disaggregation-c-3"/>
contains the operational JSON configuration for the egress disaggreg ation contains the operational JSON configuration for the egress disaggreg ation
node illustrated in <xref target="case-c3"/>. node illustrated in <xref target="case-c3"/>.
</t> </t>
<figure anchor="example-detnet-json-service-aggregation-c-3"> <figure anchor="example-detnet-json-service-aggregation-c-3">
<name>Example C-3 DetNet Relay Service Sub-Layer Aggregation</name> <name>Example C-3: DetNet Relay Service Sub-layer Aggregation</name>
<artwork name="" type="" align="left" alt=""><![CDATA[ <sourcecode name="" type="json"><![CDATA[
{ {
"ietf-detnet:detnet": { "ietf-detnet:detnet": {
"traffic-profile": [ "traffic-profile": [
{ {
"name": "pf-1", "name": "pf-1",
"traffic-requirements": { "traffic-requirements": {
"min-bandwidth": "100000000", "min-bandwidth": "100000000",
"max-latency": 100000000, "max-latency": 100000000,
"max-latency-variation": 10000000, "max-latency-variation": 10000000,
"max-loss": "0.0000001", "max-loss": "0.0000001",
skipping to change at line 18276 skipping to change at line 17122
"name": "eth3", "name": "eth3",
"type": "iana-if-type:ethernetCsmacd", "type": "iana-if-type:ethernetCsmacd",
"oper-status": "up", "oper-status": "up",
"statistics": { "statistics": {
"discontinuity-time": "2024-02-21T18:59:00-05:00" "discontinuity-time": "2024-02-21T18:59:00-05:00"
} }
} }
] ]
} }
} }
]]></artwork> ]]></sourcecode>
</figure> </figure>
<figure anchor="example-detnet-json-service-disaggregation-c-3"> <figure anchor="example-detnet-json-service-disaggregation-c-3">
<name>Example C-3 DetNet Relay Service Sub-Layer Disaggregation</name> <name>Example C-3: DetNet Relay Service Sub-layer Disaggregation</name
<artwork name="" type="" align="left" alt=""><![CDATA[ >
<sourcecode name="" type="json"><![CDATA[
{ {
"ietf-detnet:detnet": { "ietf-detnet:detnet": {
"traffic-profile": [ "traffic-profile": [
{ {
"name": "pf-1", "name": "pf-1",
"traffic-requirements": { "traffic-requirements": {
"min-bandwidth": "100000000", "min-bandwidth": "100000000",
"max-latency": 100000000, "max-latency": 100000000,
"max-latency-variation": 10000000, "max-latency-variation": 10000000,
"max-loss": "0.0000001", "max-loss": "0.0000001",
skipping to change at line 18598 skipping to change at line 17444
"name": "eth3", "name": "eth3",
"type": "iana-if-type:ethernetCsmacd", "type": "iana-if-type:ethernetCsmacd",
"oper-status": "up", "oper-status": "up",
"statistics": { "statistics": {
"discontinuity-time": "2024-02-21T18:59:00-05:00" "discontinuity-time": "2024-02-21T18:59:00-05:00"
} }
} }
] ]
} }
} }
]]></artwork> ]]></sourcecode>
</figure> </figure>
</section> </section>
<section numbered="true" toc="default"> <section numbered="true" toc="default">
<name>Example C-4 JSON Relay Service Sub-Layer Aggregation/Disaggr egation</name> <name>Example C-4: DetNet Relay Service Sub-layer Aggregation/Disa ggregation</name>
<t> <t>
<xref target="case-c4"/> <xref target="case-c4"/>
illustrates the relay node DetNet forwarding sub-layer illustrates the DetNet relay node's forwarding sub-layer
flows 1 and 2 aggregated into a service sub-layer flows 1 and 2 aggregated into a service sub-layer
DetNet flow. Multiple DetNet flows with the same requirements DetNet flow. Multiple DetNet flows with the same requirements
which can use the same path are aggregated into a single that can use the same path are aggregated into a single
aggregated DetNet flow. Service protection is performed by the aggregated DetNet flow. Service protection is performed by the
service sub-layer of the aggregated DetNet flow and resource all ocation service sub-layer of the aggregated DetNet flow, and resource al location
is performed by the forwarding sub-layer of each aggregated DetN et flow. is performed by the forwarding sub-layer of each aggregated DetN et flow.
A diagram illustrating both aggregation and disaggregation is sh own and then the <xref target="case-c4"/> illustrates both aggregation and disagg regation, and the
corresponding JSON operational data follows. corresponding JSON operational data follows.
</t> </t>
<figure anchor="case-c4"> <figure anchor="case-c4">
<name>Case C-4 Example Service Aggregation/Disaggregation</name> <name>Case C-4: Example Service Aggregation/Disaggregation</name
<artset> >
<artwork align="left" type="ascii-art" name="" alt=""><![CDATA[
Please consult the PDF or HTML versions for the Case C-4 Diagram
]]></artwork>
<artwork type="svg"> <artwork type="svg">
<svg <svg
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
width="180mm" width="180mm"
height="155mm" height="155mm"
viewBox="0 0 210 155" viewBox="0 0 210 155"
version="1.1" version="1.1"
> >
skipping to change at line 18773 skipping to change at line 17613
stroke="#000000" stroke="#000000"
stroke-width="0.218253" stroke-width="0.218253"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<text <text
font-size="2.86847px" font-size="2.86847px"
x="107.06764" x="106.06764"
y="84.96907" y="84.96907"
transform="scale(0.85569064,1.1686467)">Transit 2</text> transform="scale(0.85569064,1.1686467)">Transit 2</text>
<path <path
d="m 99.493643,89.246081 c 0,-0.404634 -0.240179,-0.732653 -0.536455,-0.7 32653 h -5.863773 c -0.296282,0 -0.536462,0.328019 -0.536462,0.732653 v 6.405145 c 0,0.404618 0.24018,0.732644 0.536462,0.732644 h 5.863773 c 0.296276,0 0.53645 5,-0.328026 0.536455,-0.732644 z" d="m 99.493643,89.246081 c 0,-0.404634 -0.240179,-0.732653 -0.536455,-0.7 32653 h -5.863773 c -0.296282,0 -0.536462,0.328019 -0.536462,0.732653 v 6.405145 c 0,0.404618 0.24018,0.732644 0.536462,0.732644 h 5.863773 c 0.296276,0 0.53645 5,-0.328026 0.536455,-0.732644 z"
stroke="#000000" stroke="#000000"
stroke-width="0.291003" stroke-width="0.291003"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
skipping to change at line 18798 skipping to change at line 17638
stroke="#000000" stroke="#000000"
stroke-width="0.218253" stroke-width="0.218253"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<text <text
font-size="2.86847px" font-size="2.86847px"
x="107.06764" x="106.06764"
y="52.293537" y="52.293537"
transform="scale(0.85569064,1.1686467)">Transit </text> transform="scale(0.85569064,1.1686467)">Transit 1</text>
<path <path
d="m 99.493643,51.205671 c 0,-0.404634 -0.240179,-0.732655 -0.536455,-0.7 32655 h -5.863773 c -0.296282,0 -0.536462,0.328021 -0.536462,0.732655 v 6.40514 c 0,0.404627 0.24018,0.732649 0.536462,0.732649 h 5.863773 c 0.296276,0 0.536455 ,-0.328022 0.536455,-0.732649 z" d="m 99.493643,51.205671 c 0,-0.404634 -0.240179,-0.732655 -0.536455,-0.7 32655 h -5.863773 c -0.296282,0 -0.536462,0.328021 -0.536462,0.732655 v 6.40514 c 0,0.404627 0.24018,0.732649 0.536462,0.732649 h 5.863773 c 0.296276,0 0.536455 ,-0.328022 0.536455,-0.732649 z"
stroke="#000000" stroke="#000000"
stroke-width="0.291003" stroke-width="0.291003"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
/> />
<path <path
skipping to change at line 18947 skipping to change at line 17787
stroke-width="0.291003" stroke-width="0.291003"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.99545px" font-size="1.99545px"
x="89.847633" x="89.847633"
y="42.316277" y="42.316277"
transform="scale(0.85569064,1.1686467)">MPLS F<tspan transform="scale(0.85569064,1.1686467)">MPLS F-Label<tspan
font-size="1.99545px"
x="97.049973"
y="42.316277"
>-</tspan><tspan
font-size="1.99545px"
x="97.886612"
y="42.316277"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="93.249466" x="93.249466"
y="44.810593" y="44.810593"
>20000</tspan></text> >20000</tspan></text>
<rect <rect
x="74.308167" x="74.308167"
y="134.57001" y="134.57001"
width="16.221159" width="16.221159"
height="8.4534101" height="8.4534101"
skipping to change at line 18979 skipping to change at line 17809
stroke-width="0.291003" stroke-width="0.291003"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.99545px" font-size="1.99545px"
x="89.9953" x="89.9953"
y="118.26819" y="118.26819"
transform="scale(0.85569064,1.1686467)">MPLS F<tspan transform="scale(0.85569064,1.1686467)">MPLS F-Label<tspan
font-size="1.99545px"
x="97.197632"
y="118.26819"
>-</tspan><tspan
font-size="1.99545px"
x="98.034264"
y="118.26819"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="93.397133" x="93.397133"
y="120.7625" y="120.7625"
>20001</tspan></text> >20001</tspan></text>
<rect <rect
x="101.62801" x="101.62801"
y="45.663311" y="45.663311"
width="16.327875" width="16.327875"
height="8.5991583" height="8.5991583"
skipping to change at line 19011 skipping to change at line 17831
stroke-width="0.291003" stroke-width="0.291003"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.99545px" font-size="1.99545px"
x="122.00236" x="122.00236"
y="42.316277" y="42.316277"
transform="scale(0.85569064,1.1686467)">MPLS F<tspan transform="scale(0.85569064,1.1686467)">MPLS F-Label<tspan
font-size="1.99545px"
x="129.2047"
y="42.316277"
>-</tspan><tspan
font-size="1.99545px"
x="130.04134"
y="42.316277"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="125.40419" x="125.40419"
y="44.810593" y="44.810593"
>20002</tspan></text> >20002</tspan></text>
<rect <rect
x="101.73473" x="101.73473"
y="134.57001" y="134.57001"
width="16.327875" width="16.327875"
height="8.4534101" height="8.4534101"
skipping to change at line 19043 skipping to change at line 17853
stroke-width="0.291003" stroke-width="0.291003"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.99545px" font-size="1.99545px"
x="122.12083" x="122.12083"
y="118.26819" y="118.26819"
transform="scale(0.85569064,1.1686467)">MPLS F<tspan transform="scale(0.85569064,1.1686467)">MPLS F-Label<tspan
font-size="1.99545px"
x="129.32318"
y="118.26819"
>-</tspan><tspan
font-size="1.99545px"
x="130.15982"
y="118.26819"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="125.52267" x="125.52267"
y="120.7625" y="120.7625"
>20003</tspan></text> >20003</tspan></text>
<rect <rect
x="156.2677" x="156.2677"
y="3.396188" y="3.396188"
width="16.221159" width="16.221159"
height="8.4534388" height="8.4534388"
skipping to change at line 19146 skipping to change at line 17946
stroke-width="0.291003" stroke-width="0.291003"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.99545px" font-size="1.99545px"
x="57.863644" x="57.863644"
y="20.615728" y="20.615728"
transform="scale(0.85569064,1.1686467)">MPLS S<tspan transform="scale(0.85569064,1.1686467)">MPLS S-Label<tspan
font-size="1.99545px"
x="65.175102"
y="20.615728"
>-</tspan><tspan
font-size="1.99545px"
x="66.011749"
y="20.615728"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="62.48333" x="62.48333"
y="23.110044" y="23.110044"
>100</tspan></text> >100</tspan></text>
<rect <rect
x="46.881599" x="46.881599"
y="28.756462" y="28.756462"
width="16.221159" width="16.221159"
height="8.4534388" height="8.4534388"
skipping to change at line 19178 skipping to change at line 17968
stroke-width="0.291003" stroke-width="0.291003"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.99545px" font-size="1.99545px"
x="57.918274" x="57.918274"
y="27.724531" y="27.724531"
transform="scale(0.85569064,1.1686467)">MPLS F<tspan transform="scale(0.85569064,1.1686467)">MPLS F-Label<tspan
font-size="1.99545px"
x="65.120605"
y="27.724531"
>-</tspan><tspan
font-size="1.99545px"
x="65.957253"
y="27.724531"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="61.320107" x="61.320107"
y="30.218847" y="30.218847"
>10000</tspan></text> >10000</tspan></text>
<rect <rect
x="46.881599" x="46.881599"
y="3.396188" y="3.396188"
width="16.221159" width="16.221159"
height="8.4534388" height="8.4534388"
skipping to change at line 19254 skipping to change at line 18034
stroke-width="0.291003" stroke-width="0.291003"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.99545px" font-size="1.99545px"
x="153.97824" x="153.97824"
y="20.615728" y="20.615728"
transform="scale(0.85569064,1.1686467)">MPLS S<tspan transform="scale(0.85569064,1.1686467)">MPLS S-Label<tspan
font-size="1.99545px"
x="161.2897"
y="20.615728"
>-</tspan><tspan
font-size="1.99545px"
x="162.12634"
y="20.615728"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="158.5979" x="158.5979"
y="23.110044" y="23.110044"
>102</tspan></text> >102</tspan></text>
<rect <rect
x="129.05457" x="129.05457"
y="28.756462" y="28.756462"
width="16.221159" width="16.221159"
height="8.4534388" height="8.4534388"
skipping to change at line 19286 skipping to change at line 18056
stroke-width="0.291003" stroke-width="0.291003"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.99545px" font-size="1.99545px"
x="154.03188" x="154.03188"
y="27.724531" y="27.724531"
transform="scale(0.85569064,1.1686467)">MPLS F<tspan transform="scale(0.85569064,1.1686467)">MPLS F-Label<tspan
font-size="1.99545px"
x="161.23421"
y="27.724531"
>-</tspan><tspan
font-size="1.99545px"
x="162.07085"
y="27.724531"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="157.4337" x="157.4337"
y="30.218847" y="30.218847"
>10005</tspan></text> >10005</tspan></text>
<rect <rect
x="129.05457" x="129.05457"
y="3.396188" y="3.396188"
width="16.221159" width="16.221159"
height="8.4534388" height="8.4534388"
skipping to change at line 19522 skipping to change at line 18282
stroke-width="0.291003" stroke-width="0.291003"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.99545px" font-size="1.99545px"
x="89.665794" x="89.665794"
y="35.082764" y="35.082764"
transform="scale(0.85569064,1.1686467)">MPLS A<tspan transform="scale(0.85569064,1.1686467)">MPLS A-Label<tspan
font-size="1.99545px"
x="97.231895"
y="35.082764"
>-</tspan><tspan
font-size="1.99545px"
x="98.06852"
y="35.082764"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="93.831512" x="93.831512"
y="37.57708" y="37.57708"
>1000</tspan></text> >1000</tspan></text>
<rect <rect
x="46.774883" x="46.774883"
y="125.97084" y="125.97084"
width="16.221159" width="16.221159"
height="8.4534235" height="8.4534235"
skipping to change at line 19554 skipping to change at line 18304
stroke-width="0.291003" stroke-width="0.291003"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.99545px" font-size="1.99545px"
x="57.808392" x="57.808392"
y="111.03468" y="111.03468"
transform="scale(0.85569064,1.1686467)">MPLS S<tspan transform="scale(0.85569064,1.1686467)">MPLS S-Label<tspan
font-size="1.99545px"
x="65.119858"
y="111.03468"
>-</tspan><tspan
font-size="1.99545px"
x="65.95649"
y="111.03468"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="62.428066" x="62.428066"
y="113.52899" y="113.52899"
>103</tspan></text> >103</tspan></text>
<rect <rect
x="46.774883" x="46.774883"
y="109.06399" y="109.06399"
width="16.221159" width="16.221159"
height="8.4533949" height="8.4533949"
skipping to change at line 19630 skipping to change at line 18370
stroke-width="0.291003" stroke-width="0.291003"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.99545px" font-size="1.99545px"
x="89.813461" x="89.813461"
y="111.03468" y="111.03468"
transform="scale(0.85569064,1.1686467)">MPLS A<tspan transform="scale(0.85569064,1.1686467)">MPLS A-Label<tspan
font-size="1.99545px"
x="97.379539"
y="111.03468"
>-</tspan><tspan
font-size="1.99545px"
x="98.216187"
y="111.03468"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="93.979179" x="93.979179"
y="113.52899" y="113.52899"
>1000</tspan></text> >1000</tspan></text>
<rect <rect
x="101.73473" x="101.73473"
y="125.97084" y="125.97084"
width="16.327875" width="16.327875"
height="8.4534235" height="8.4534235"
skipping to change at line 19662 skipping to change at line 18392
stroke-width="0.291003" stroke-width="0.291003"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.99545px" font-size="1.99545px"
x="121.93875" x="121.93875"
y="111.03468" y="111.03468"
transform="scale(0.85569064,1.1686467)">MPLS A<tspan transform="scale(0.85569064,1.1686467)">MPLS A-Label<tspan
font-size="1.99545px"
x="129.50484"
y="111.03468"
>-</tspan><tspan
font-size="1.99545px"
x="130.34148"
y="111.03468"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="126.10445" x="126.10445"
y="113.52899" y="113.52899"
>1000</tspan></text> >1000</tspan></text>
<rect <rect
x="101.62801" x="101.62801"
y="37.209885" y="37.209885"
width="16.327875" width="16.327875"
height="8.4534388" height="8.4534388"
skipping to change at line 19694 skipping to change at line 18414
stroke-width="0.291003" stroke-width="0.291003"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.99545px" font-size="1.99545px"
x="121.82027" x="121.82027"
y="35.082764" y="35.082764"
transform="scale(0.85569064,1.1686467)">MPLS A<tspan transform="scale(0.85569064,1.1686467)">MPLS A-Label<tspan
font-size="1.99545px"
x="129.38635"
y="35.082764"
>-</tspan><tspan
font-size="1.99545px"
x="130.22299"
y="35.082764"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="125.98598" x="125.98598"
y="37.57708" y="37.57708"
>1000</tspan></text> >1000</tspan></text>
<path <path
d="m 44.74724,89.246081 c 0,-0.404634 -0.240181,-0.732653 -0.536457,-0.73 2653 h -5.863752 c -0.296281,0 -0.536462,0.328019 -0.536462,0.732653 v 6.405108 c 0,0.404648 0.240181,0.732652 0.536462,0.732652 h 5.863752 c 0.296276,0 0.53645 7,-0.328004 0.536457,-0.732652 z" d="m 44.74724,89.246081 c 0,-0.404634 -0.240181,-0.732653 -0.536457,-0.73 2653 h -5.863752 c -0.296281,0 -0.536462,0.328019 -0.536462,0.732653 v 6.405108 c 0,0.404648 0.240181,0.732652 0.536462,0.732652 h 5.863752 c 0.296276,0 0.53645 7,-0.328004 0.536457,-0.732652 z"
stroke="#000000" stroke="#000000"
stroke-width="0.291003" stroke-width="0.291003"
stroke-linejoin="round" stroke-linejoin="round"
skipping to change at line 19794 skipping to change at line 18504
stroke-width="0.291003" stroke-width="0.291003"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.99545px" font-size="1.99545px"
x="57.863018" x="57.863018"
y="118.26819" y="118.26819"
transform="scale(0.85569064,1.1686467)">MPLS F<tspan transform="scale(0.85569064,1.1686467)">MPLS F-Label<tspan
font-size="1.99545px"
x="65.065361"
y="118.26819"
>-</tspan><tspan
font-size="1.99545px"
x="65.901993"
y="118.26819"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="61.264858" x="61.264858"
y="120.7625" y="120.7625"
>10006</tspan></text> >10006</tspan></text>
<path <path
d="m 126.9202,73.50131 20.43012,18.990621" d="m 126.9202,73.50131 20.43012,18.990621"
stroke="#000000" stroke="#000000"
stroke-width="0.291003" stroke-width="0.291003"
stroke-miterlimit="8" stroke-miterlimit="8"
skipping to change at line 19834 skipping to change at line 18534
stroke-width="0.291003" stroke-width="0.291003"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.99545px" font-size="1.99545px"
x="154.10545" x="154.10545"
y="111.03468" y="111.03468"
transform="scale(0.85569064,1.1686467)">MPLS S<tspan transform="scale(0.85569064,1.1686467)">MPLS S-Label<tspan
font-size="1.99545px"
x="161.41692"
y="111.03468"
>-</tspan><tspan
font-size="1.99545px"
x="162.25356"
y="111.03468"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="158.72513" x="158.72513"
y="113.52899" y="113.52899"
>105</tspan></text> >105</tspan></text>
<rect <rect
x="129.16129" x="129.16129"
y="134.57001" y="134.57001"
width="16.221159" width="16.221159"
height="8.4534101" height="8.4534101"
skipping to change at line 19866 skipping to change at line 18556
stroke-width="0.291003" stroke-width="0.291003"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
/> />
<text <text
font-size="1.99545px" font-size="1.99545px"
x="154.15907" x="154.15907"
y="118.26819" y="118.26819"
transform="scale(0.85569064,1.1686467)">MPLS F<tspan transform="scale(0.85569064,1.1686467)">MPLS F-Label<tspan
font-size="1.99545px"
x="161.3614"
y="118.26819"
>-</tspan><tspan
font-size="1.99545px"
x="162.19804"
y="118.26819"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="157.5609" x="157.5609"
y="120.7625" y="120.7625"
>10011</tspan></text> >10011</tspan></text>
<rect <rect
x="129.16129" x="129.16129"
y="109.06399" y="109.06399"
width="16.221159" width="16.221159"
height="8.4533949" height="8.4533949"
skipping to change at line 20157 skipping to change at line 18837
font-size="1.49659px" font-size="1.49659px"
x="89.46962" x="89.46962"
y="19.368572" y="19.368572"
transform="scale(0.85569064,1.1686467)">MPLS<tspan transform="scale(0.85569064,1.1686467)">MPLS<tspan
font-size="1.49659px" font-size="1.49659px"
x="89.033112" x="89.033112"
y="21.114594" y="21.114594"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.49659px"
x="89.869751"
y="21.114594"
>-</tspan><tspan
font-size="1.49659px"
x="90.488136"
y="21.114594"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="89.668953" x="89.668953"
y="23.484194" y="23.484194"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="74.201447" x="74.201447"
y="11.849612" y="11.849612"
width="8.1105795" width="8.1105795"
height="8.4534388" height="8.4534388"
skipping to change at line 20191 skipping to change at line 18861
fill="none" fill="none"
/> />
<text <text
font-size="1.6213px" font-size="1.6213px"
x="90.670753" x="90.670753"
y="12.509203" y="12.509203"
transform="scale(0.85569064,1.1686467)">IP<tspan transform="scale(0.85569064,1.1686467)">IP<tspan
font-size="1.6213px" font-size="1.6213px"
x="88.869438" x="87.869438"
y="14.37994" y="14.37994"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.6213px" font-size="1.6213px"
x="88.869438" x="87.869438"
y="16.250677" y="16.250677"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="74.201447" x="74.201447"
y="3.396188" y="3.396188"
width="8.1105795" width="8.1105795"
height="8.4534388" height="8.4534388"
stroke="#000000" stroke="#000000"
stroke-width="0.291003" stroke-width="0.291003"
skipping to change at line 20243 skipping to change at line 18913
font-size="1.49659px" font-size="1.49659px"
x="98.955879" x="98.955879"
y="19.368572" y="19.368572"
transform="scale(0.85569064,1.1686467)">MPLS<tspan transform="scale(0.85569064,1.1686467)">MPLS<tspan
font-size="1.49659px" font-size="1.49659px"
x="98.519371" x="98.519371"
y="21.114594" y="21.114594"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.49659px"
x="99.35601"
y="21.114594"
>-</tspan><tspan
font-size="1.49659px"
x="99.974388"
y="21.114594"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="99.15522" x="99.15522"
y="23.484194" y="23.484194"
>104</tspan></text> >104</tspan></text>
<rect <rect
x="82.312027" x="82.312027"
y="11.849612" y="11.849612"
width="8.1105795" width="8.1105795"
height="8.4534388" height="8.4534388"
skipping to change at line 20277 skipping to change at line 18937
fill="none" fill="none"
/> />
<text <text
font-size="1.6213px" font-size="1.6213px"
x="100.15701" x="100.15701"
y="12.509203" y="12.509203"
transform="scale(0.85569064,1.1686467)">IP<tspan transform="scale(0.85569064,1.1686467)">IP<tspan
font-size="1.6213px" font-size="1.6213px"
x="98.35569" x="97.35569"
y="14.37994" y="14.37994"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.6213px" font-size="1.6213px"
x="98.35569" x="97.35569"
y="16.250677" y="16.250677"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="82.312027" x="82.312027"
y="3.396188" y="3.396188"
width="8.1105795" width="8.1105795"
height="8.4534388" height="8.4534388"
stroke="#000000" stroke="#000000"
stroke-width="0.291003" stroke-width="0.291003"
skipping to change at line 20329 skipping to change at line 18989
font-size="1.49659px" font-size="1.49659px"
x="89.617279" x="89.617279"
y="95.320496" y="95.320496"
transform="scale(0.85569064,1.1686467)">MPLS<tspan transform="scale(0.85569064,1.1686467)">MPLS<tspan
font-size="1.49659px" font-size="1.49659px"
x="89.180779" x="89.180779"
y="97.066505" y="97.066505"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.49659px"
x="90.01741"
y="97.066505"
>-</tspan><tspan
font-size="1.49659px"
x="90.635796"
y="97.066505"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="89.81662" x="89.81662"
y="99.436104" y="99.436104"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="82.418739" x="82.418739"
y="108.91824" y="108.91824"
width="8.1105795" width="8.1105795"
height="8.5991583" height="8.5991583"
skipping to change at line 20366 skipping to change at line 19016
font-size="1.49659px" font-size="1.49659px"
x="99.103539" x="99.103539"
y="95.320496" y="95.320496"
transform="scale(0.85569064,1.1686467)">MPLS<tspan transform="scale(0.85569064,1.1686467)">MPLS<tspan
font-size="1.49659px" font-size="1.49659px"
x="98.66703" x="98.66703"
y="97.066505" y="97.066505"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.49659px"
x="99.503662"
y="97.066505"
>-</tspan><tspan
font-size="1.49659px"
x="100.12206"
y="97.066505"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="99.302879" x="99.302879"
y="99.436104" y="99.436104"
>104</tspan></text> >104</tspan></text>
<rect <rect
x="74.308167" x="74.308167"
y="100.46481" y="100.46481"
width="8.1105795" width="8.1105795"
height="8.4534388" height="8.4534388"
skipping to change at line 20400 skipping to change at line 19040
fill="none" fill="none"
/> />
<text <text
font-size="1.6213px" font-size="1.6213px"
x="90.818298" x="90.818298"
y="88.336403" y="88.336403"
transform="scale(0.85569064,1.1686467)">IP<tspan transform="scale(0.85569064,1.1686467)">IP<tspan
font-size="1.6213px" font-size="1.6213px"
x="89.016991" x="88.016991"
y="90.207146" y="90.207146"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.6213px" font-size="1.6213px"
x="89.016991" x="88.016991"
y="92.077873" y="92.077873"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="82.418739" x="82.418739"
y="100.46481" y="100.46481"
width="8.1105795" width="8.1105795"
height="8.4534388" height="8.4534388"
stroke="#000000" stroke="#000000"
stroke-width="0.291003" stroke-width="0.291003"
skipping to change at line 20427 skipping to change at line 19067
fill="none" fill="none"
/> />
<text <text
font-size="1.6213px" font-size="1.6213px"
x="100.30455" x="100.30455"
y="88.336403" y="88.336403"
transform="scale(0.85569064,1.1686467)">IP<tspan transform="scale(0.85569064,1.1686467)">IP<tspan
font-size="1.6213px" font-size="1.6213px"
x="98.503242" x="97.503242"
y="90.207146" y="90.207146"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.6213px" font-size="1.6213px"
x="98.503242" x="97.503242"
y="92.077873" y="92.077873"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="74.308167" x="74.308167"
y="92.011398" y="92.011398"
width="8.1105795" width="8.1105795"
height="8.4534388" height="8.4534388"
stroke="#000000" stroke="#000000"
stroke-width="0.291003" stroke-width="0.291003"
skipping to change at line 20501 skipping to change at line 19141
font-size="1.49659px" font-size="1.49659px"
x="121.62447" x="121.62447"
y="19.368572" y="19.368572"
transform="scale(0.85569064,1.1686467)">MPLS<tspan transform="scale(0.85569064,1.1686467)">MPLS<tspan
font-size="1.49659px" font-size="1.49659px"
x="121.18797" x="121.18797"
y="21.114594" y="21.114594"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.49659px"
x="122.0246"
y="21.114594"
>-</tspan><tspan
font-size="1.49659px"
x="122.64299"
y="21.114594"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="121.82381" x="121.82381"
y="23.484194" y="23.484194"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="109.84531" x="109.84531"
y="20.303036" y="20.303036"
width="8.1105795" width="8.1105795"
height="8.4534101" height="8.4534101"
skipping to change at line 20538 skipping to change at line 19168
font-size="1.49659px" font-size="1.49659px"
x="131.11035" x="131.11035"
y="19.368572" y="19.368572"
transform="scale(0.85569064,1.1686467)">MPLS<tspan transform="scale(0.85569064,1.1686467)">MPLS<tspan
font-size="1.49659px" font-size="1.49659px"
x="130.67384" x="130.67384"
y="21.114594" y="21.114594"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.49659px"
x="131.51048"
y="21.114594"
>-</tspan><tspan
font-size="1.49659px"
x="132.12888"
y="21.114594"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="131.30969" x="131.30969"
y="23.484194" y="23.484194"
>104</tspan></text> >104</tspan></text>
<rect <rect
x="101.62801" x="101.62801"
y="11.849612" y="11.849612"
width="8.2172976" width="8.2172976"
height="8.4534388" height="8.4534388"
skipping to change at line 20572 skipping to change at line 19192
fill="none" fill="none"
/> />
<text <text
font-size="1.6213px" font-size="1.6213px"
x="122.82548" x="122.82548"
y="12.509203" y="12.509203"
transform="scale(0.85569064,1.1686467)">IP<tspan transform="scale(0.85569064,1.1686467)">IP<tspan
font-size="1.6213px" font-size="1.6213px"
x="121.02419" x="120.02419"
y="14.37994" y="14.37994"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.6213px" font-size="1.6213px"
x="121.02419" x="120.02419"
y="16.250677" y="16.250677"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="109.84531" x="109.84531"
y="11.849612" y="11.849612"
width="8.1105795" width="8.1105795"
height="8.4534388" height="8.4534388"
stroke="#000000" stroke="#000000"
stroke-width="0.291003" stroke-width="0.291003"
skipping to change at line 20599 skipping to change at line 19219
fill="none" fill="none"
/> />
<text <text
font-size="1.6213px" font-size="1.6213px"
x="132.31137" x="132.31137"
y="12.509203" y="12.509203"
transform="scale(0.85569064,1.1686467)">IP<tspan transform="scale(0.85569064,1.1686467)">IP<tspan
font-size="1.6213px" font-size="1.6213px"
x="130.51007" x="129.51007"
y="14.37994" y="14.37994"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.6213px" font-size="1.6213px"
x="130.51007" x="129.51007"
y="16.250677" y="16.250677"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="101.62801" x="101.62801"
y="3.396188" y="3.396188"
width="8.2172976" width="8.2172976"
height="8.4534388" height="8.4534388"
stroke="#000000" stroke="#000000"
stroke-width="0.291003" stroke-width="0.291003"
skipping to change at line 20673 skipping to change at line 19293
font-size="1.49659px" font-size="1.49659px"
x="121.7417" x="121.7417"
y="95.320496" y="95.320496"
transform="scale(0.85569064,1.1686467)">MPLS<tspan transform="scale(0.85569064,1.1686467)">MPLS<tspan
font-size="1.49659px" font-size="1.49659px"
x="121.3052" x="121.3052"
y="97.066505" y="97.066505"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.49659px"
x="122.14184"
y="97.066505"
>-</tspan><tspan
font-size="1.49659px"
x="122.76022"
y="97.066505"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="121.94105" x="121.94105"
y="99.436104" y="99.436104"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="109.84531" x="109.84531"
y="108.91824" y="108.91824"
width="8.2172976" width="8.2172976"
height="8.5991583" height="8.5991583"
skipping to change at line 20710 skipping to change at line 19320
font-size="1.49659px" font-size="1.49659px"
x="131.22884" x="131.22884"
y="95.320496" y="95.320496"
transform="scale(0.85569064,1.1686467)">MPLS<tspan transform="scale(0.85569064,1.1686467)">MPLS<tspan
font-size="1.49659px" font-size="1.49659px"
x="130.79233" x="130.79233"
y="97.066505" y="97.066505"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.49659px"
x="131.62897"
y="97.066505"
>-</tspan><tspan
font-size="1.49659px"
x="132.24736"
y="97.066505"
>label</tspan><tspan
font-size="1.99545px" font-size="1.99545px"
x="131.42818" x="131.42818"
y="99.436104" y="99.436104"
>104</tspan></text> >104</tspan></text>
<rect <rect
x="101.73473" x="101.73473"
y="100.46481" y="100.46481"
width="8.1105795" width="8.1105795"
height="8.4534388" height="8.4534388"
skipping to change at line 20744 skipping to change at line 19344
fill="none" fill="none"
/> />
<text <text
font-size="1.6213px" font-size="1.6213px"
x="122.94396" x="122.94396"
y="88.336403" y="88.336403"
transform="scale(0.85569064,1.1686467)">IP<tspan transform="scale(0.85569064,1.1686467)">IP<tspan
font-size="1.6213px" font-size="1.6213px"
x="121.14264" x="120.14264"
y="90.207146" y="90.207146"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.6213px" font-size="1.6213px"
x="121.14264" x="120.14264"
y="92.077873" y="92.077873"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="109.84531" x="109.84531"
y="100.46481" y="100.46481"
width="8.2172976" width="8.2172976"
height="8.4534388" height="8.4534388"
stroke="#000000" stroke="#000000"
stroke-width="0.291003" stroke-width="0.291003"
skipping to change at line 20771 skipping to change at line 19371
fill="none" fill="none"
/> />
<text <text
font-size="1.6213px" font-size="1.6213px"
x="132.42984" x="132.42984"
y="88.336403" y="88.336403"
transform="scale(0.85569064,1.1686467)">IP<tspan transform="scale(0.85569064,1.1686467)">IP<tspan
font-size="1.6213px" font-size="1.6213px"
x="130.62852" x="129.62852"
y="90.207146" y="90.207146"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.6213px" font-size="1.6213px"
x="130.62852" x="129.62852"
y="92.077873" y="92.077873"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="101.73473" x="101.73473"
y="92.011398" y="92.011398"
width="8.1105795" width="8.1105795"
height="8.4534388" height="8.4534388"
stroke="#000000" stroke="#000000"
stroke-width="0.291003" stroke-width="0.291003"
skipping to change at line 20845 skipping to change at line 19445
font-size="1.49659px" font-size="1.49659px"
x="89.470367" x="89.470367"
y="26.851521" y="26.851521"
transform="scale(0.85569064,1.1686467)">MPLS<tspan transform="scale(0.85569064,1.1686467)">MPLS<tspan
font-size="1.49659px" font-size="1.49659px"
x="89.070236" x="89.070236"
y="28.597538" y="28.597538"
>F-</tspan><tspan >F-Label</tspan><tspan
font-size="1.49659px"
x="90.452507"
y="28.597538"
>label</tspan><tspan
font-size="1.74602px" font-size="1.74602px"
x="88.869438" x="88.869438"
y="30.717709" y="30.717709"
>20004</tspan></text> >20004</tspan></text>
<rect <rect
x="82.312027" x="82.312027"
y="28.756462" y="28.756462"
width="8.1105795" width="8.1105795"
height="8.4534388" height="8.4534388"
skipping to change at line 20877 skipping to change at line 19472
font-size="1.49659px" font-size="1.49659px"
x="98.956627" x="98.956627"
y="26.851521" y="26.851521"
transform="scale(0.85569064,1.1686467)">MPLS<tspan transform="scale(0.85569064,1.1686467)">MPLS<tspan
font-size="1.49659px" font-size="1.49659px"
x="98.556488" x="98.556488"
y="28.597538" y="28.597538"
>F-</tspan><tspan >F-Label</tspan><tspan
font-size="1.49659px"
x="99.938759"
y="28.597538"
>label</tspan><tspan
font-size="1.74602px" font-size="1.74602px"
x="98.355698" x="98.355698"
y="30.717709" y="30.717709"
>20005</tspan></text> >20005</tspan></text>
<rect <rect
x="74.308167" x="74.308167"
y="117.51743" y="117.51743"
width="8.1105795" width="8.1105795"
height="8.4534235" height="8.4534235"
skipping to change at line 20909 skipping to change at line 19499
font-size="1.49659px" font-size="1.49659px"
x="89.617905" x="89.617905"
y="102.67872" y="102.67872"
transform="scale(0.85569064,1.1686467)">MPLS<tspan transform="scale(0.85569064,1.1686467)">MPLS<tspan
font-size="1.49659px" font-size="1.49659px"
x="89.217781" x="89.217781"
y="104.42474" y="104.42474"
>F-</tspan><tspan >F-Label</tspan><tspan
font-size="1.49659px"
x="90.600044"
y="104.42474"
>label</tspan><tspan
font-size="1.74602px" font-size="1.74602px"
x="89.016991" x="89.016991"
y="106.54491" y="106.54491"
>20004</tspan></text> >20004</tspan></text>
<rect <rect
x="82.418739" x="82.418739"
y="117.51743" y="117.51743"
width="8.1105795" width="8.1105795"
height="8.4534235" height="8.4534235"
skipping to change at line 20941 skipping to change at line 19526
font-size="1.49659px" font-size="1.49659px"
x="99.104164" x="99.104164"
y="102.67872" y="102.67872"
transform="scale(0.85569064,1.1686467)">MPLS<tspan transform="scale(0.85569064,1.1686467)">MPLS<tspan
font-size="1.49659px" font-size="1.49659px"
x="98.704033" x="98.704033"
y="104.42474" y="104.42474"
>F-</tspan><tspan >F-Label</tspan><tspan
font-size="1.49659px"
x="100.0863"
y="104.42474"
>label</tspan><tspan
font-size="1.74602px" font-size="1.74602px"
x="98.503242" x="98.503242"
y="106.54491" y="106.54491"
>20005</tspan></text> >20005</tspan></text>
<rect <rect
x="101.62801" x="101.62801"
y="28.756462" y="28.756462"
width="8.2172976" width="8.2172976"
height="8.4534388" height="8.4534388"
skipping to change at line 20973 skipping to change at line 19553
font-size="1.49659px" font-size="1.49659px"
x="121.62572" x="121.62572"
y="26.851521" y="26.851521"
transform="scale(0.85569064,1.1686467)">MPLS<tspan transform="scale(0.85569064,1.1686467)">MPLS<tspan
font-size="1.49659px" font-size="1.49659px"
x="121.22559" x="121.22559"
y="28.597538" y="28.597538"
>F-</tspan><tspan >F-Label</tspan><tspan
font-size="1.49659px"
x="122.60785"
y="28.597538"
>label</tspan><tspan
font-size="1.74602px" font-size="1.74602px"
x="121.0248" x="121.0248"
y="30.717709" y="30.717709"
>20004</tspan></text> >20004</tspan></text>
<rect <rect
x="109.84531" x="109.84531"
y="28.756462" y="28.756462"
width="8.1105795" width="8.1105795"
height="8.4534388" height="8.4534388"
skipping to change at line 21005 skipping to change at line 19580
font-size="1.49659px" font-size="1.49659px"
x="131.1116" x="131.1116"
y="26.851521" y="26.851521"
transform="scale(0.85569064,1.1686467)">MPLS<tspan transform="scale(0.85569064,1.1686467)">MPLS<tspan
font-size="1.49659px" font-size="1.49659px"
x="130.71147" x="130.71147"
y="28.597538" y="28.597538"
>F-</tspan><tspan >F-Label</tspan><tspan
font-size="1.49659px"
x="132.09373"
y="28.597538"
>label</tspan><tspan
font-size="1.74602px" font-size="1.74602px"
x="130.51068" x="130.51068"
y="30.717709" y="30.717709"
>20005</tspan></text> >20005</tspan></text>
<rect <rect
x="101.73473" x="101.73473"
y="117.51743" y="117.51743"
width="8.1105795" width="8.1105795"
height="8.4534235" height="8.4534235"
skipping to change at line 21037 skipping to change at line 19607
font-size="1.49659px" font-size="1.49659px"
x="121.74295" x="121.74295"
y="102.67872" y="102.67872"
transform="scale(0.85569064,1.1686467)">MPLS<tspan transform="scale(0.85569064,1.1686467)">MPLS<tspan
font-size="1.49659px" font-size="1.49659px"
x="121.34281" x="121.34281"
y="104.42474" y="104.42474"
>F-</tspan><tspan >F-Label</tspan><tspan
font-size="1.49659px"
x="122.72508"
y="104.42474"
>label</tspan><tspan
font-size="1.74602px" font-size="1.74602px"
x="121.14202" x="121.14202"
y="106.54491" y="106.54491"
>20004</tspan></text> >20004</tspan></text>
<rect <rect
x="109.84531" x="109.84531"
y="117.51743" y="117.51743"
width="8.2172976" width="8.2172976"
height="8.4534235" height="8.4534235"
skipping to change at line 21069 skipping to change at line 19634
font-size="1.49659px" font-size="1.49659px"
x="131.22884" x="131.22884"
y="102.67872" y="102.67872"
transform="scale(0.85569064,1.1686467)">MPLS<tspan transform="scale(0.85569064,1.1686467)">MPLS<tspan
font-size="1.49659px" font-size="1.49659px"
x="130.82869" x="130.82869"
y="104.42474" y="104.42474"
>F-</tspan><tspan >F-Label</tspan><tspan
font-size="1.49659px"
x="132.21097"
y="104.42474"
>label</tspan><tspan
font-size="1.74602px" font-size="1.74602px"
x="130.6279" x="130.6279"
y="106.54491" y="106.54491"
>20005</tspan><tspan >20005</tspan><tspan
font-size="4.11562px" font-size="4.11562px"
x="161.91939" x="161.91939"
y="41.443268" y="41.443268"
>Note: S and A labels in this diagram</tspan><tspan >Note: S- and A-Labels in this diagram</tspan><tspan
font-size="4.11562px" font-size="4.11562px"
x="161.91939" x="161.91939"
y="46.307182" y="46.307182"
>include d-CWs of their own.</tspan></text> >include d-CWs of their own.</tspan></text>
<path <path
d="m 71.133298,73.209813 c -0.397845,0 -0.720348,-1.761811 -0.720348,-3.9 35215 0,-2.173405 0.322503,-3.935215 0.720348,-3.935215 0.397845,0 0.720347,1.76 181 0.720347,3.935215 0,2.173404 -0.322502,3.935215 -0.720347,3.935215 h -5.1758 3 c -0.397845,0 -0.720348,-1.761811 -0.720348,-3.935215 0,-2.173405 0.322503,-3. 935215 0.720348,-3.935215 h 5.17583" d="m 71.133298,73.209813 c -0.397845,0 -0.720348,-1.761811 -0.720348,-3.9 35215 0,-2.173405 0.322503,-3.935215 0.720348,-3.935215 0.397845,0 0.720347,1.76 181 0.720347,3.935215 0,2.173404 -0.322502,3.935215 -0.720347,3.935215 h -5.1758 3 c -0.397845,0 -0.720348,-1.761811 -0.720348,-3.935215 0,-2.173405 0.322503,-3. 935215 0.720348,-3.935215 h 5.17583"
stroke="#000000" stroke="#000000"
stroke-width="0.291003" stroke-width="0.291003"
stroke-miterlimit="8" stroke-miterlimit="8"
skipping to change at line 21218 skipping to change at line 19778
transform="scale(0.85569064,1.1686467)">aggregation<tspan transform="scale(0.85569064,1.1686467)">aggregation<tspan
font-size="2.86847px" font-size="2.86847px"
x="135.51781" x="135.51781"
y="78.359138" y="78.359138"
>disaggregation</tspan></text> >disaggregation</tspan></text>
</g> </g>
</svg> </svg>
</artwork> </artwork>
</artset>
</figure> </figure>
<t> <xref target="example-detnet-json-forwarding-aggregation-c-4"/> <t> <xref target="example-detnet-json-forwarding-aggregation-c-4"/>
contains the operational JSON configuration for the ingress aggregat ion contains the operational JSON configuration for the ingress aggregat ion
node illustrated in <xref target="case-c4"/>. node illustrated in <xref target="case-c4"/>.
In this example, a relay performing aggregation at the service sub-l ayer is In this example, a relay performing aggregation at the service sub-l ayer is
illustrated. Two DetNet flows DN1 and DN2 are relayed at each servic e illustrated. Two DetNet flows -- DN-1 and DN-2 -- are relayed at eac h service
sub-layer. The two DetNet forwarding sub-layer flows with MPLS label s sub-layer. The two DetNet forwarding sub-layer flows with MPLS label s
20004 and 20005 are aggregated at the single service sub-layer 20004 and 20005 are aggregated at the single service sub-layer
DetNet flow and then replicated. DetNet flow and then replicated.
<xref target="example-detnet-json-forwarding-disaggregation-c-4"/> <xref target="example-detnet-json-forwarding-disaggregation-c-4"/>
contains the operational JSON configuration for the egress disaggreg ation contains the operational JSON configuration for the egress disaggreg ation
node illustrated in <xref target="case-c4"/>. node illustrated in <xref target="case-c4"/>.
</t> </t>
<figure anchor="example-detnet-json-forwarding-aggregation-c-4"> <figure anchor="example-detnet-json-forwarding-aggregation-c-4">
<name>Example C-4 DetNet Relay Service Sub-Layer Aggregation</name> <name>Example C-4: DetNet Relay Service Sub-layer Aggregation</name>
<artwork name="" type="" align="left" alt=""><![CDATA[ <sourcecode name="" type="json"><![CDATA[
{ {
"ietf-detnet:detnet": { "ietf-detnet:detnet": {
"traffic-profile": [ "traffic-profile": [
{ {
"name": "pf-1", "name": "pf-1",
"traffic-requirements": { "traffic-requirements": {
"min-bandwidth": "100000000", "min-bandwidth": "100000000",
"max-latency": 100000000, "max-latency": 100000000,
"max-latency-variation": 10000000, "max-latency-variation": 10000000,
"max-loss": "0.0000001", "max-loss": "0.0000001",
skipping to change at line 21617 skipping to change at line 20176
"name": "eth3", "name": "eth3",
"type": "iana-if-type:ethernetCsmacd", "type": "iana-if-type:ethernetCsmacd",
"oper-status": "up", "oper-status": "up",
"statistics": { "statistics": {
"discontinuity-time": "2024-02-21T18:59:00-05:00" "discontinuity-time": "2024-02-21T18:59:00-05:00"
} }
} }
] ]
} }
} }
]]></artwork> ]]></sourcecode>
</figure> </figure>
<figure anchor="example-detnet-json-forwarding-disaggregation-c-4"> <figure anchor="example-detnet-json-forwarding-disaggregation-c-4">
<name>Example C-4 DetNet Relay Service Sub-Layer Disaggregation</name> <name>Example C-4: DetNet Relay Service Sub-layer Disaggregation</name
<artwork name="" type="" align="left" alt=""><![CDATA[ >
<sourcecode name="" type="json"><![CDATA[
{ {
"ietf-detnet:detnet": { "ietf-detnet:detnet": {
"traffic-profile": [ "traffic-profile": [
{ {
"name": "pf-1", "name": "pf-1",
"traffic-requirements": { "traffic-requirements": {
"min-bandwidth": "100000000", "min-bandwidth": "100000000",
"max-latency": 100000000, "max-latency": 100000000,
"max-latency-variation": 10000000, "max-latency-variation": 10000000,
"max-loss": "0.0000001", "max-loss": "0.0000001",
skipping to change at line 21991 skipping to change at line 20550
"name": "eth3", "name": "eth3",
"type": "iana-if-type:ethernetCsmacd", "type": "iana-if-type:ethernetCsmacd",
"oper-status": "up", "oper-status": "up",
"statistics": { "statistics": {
"discontinuity-time": "2024-02-21T18:59:00-05:00" "discontinuity-time": "2024-02-21T18:59:00-05:00"
} }
} }
] ]
} }
} }
]]></artwork> ]]></sourcecode>
</figure> </figure>
</section> </section>
<section numbered="true" toc="default"> <section numbered="true" toc="default">
<name>Example D-1 JSON Transit Forwarding Sub-Layer Aggregation/Disaggre <name>Example D-1: Transit Node Forwarding Sub-layer Aggregation/Disaggr
gation</name> egation</name>
<t> <t>As illustrated in
<xref target="case-d1"/> <xref target="case-d1"/>,
illustrates at the transit node, forwarding sub-layer at the transit node, forwarding sub-layer
flows 1 and 2 are aggregated into a single forwarding sub-layer . flows 1 and 2 are aggregated into a single forwarding sub-layer .
Resource allocation is performed by the Resource allocation is performed by the
corresponding forwarding sub-layer for all aggregated flows. corresponding forwarding sub-layer for all aggregated flows.
<xref target="case-d1"/> illustrating both aggregation and disa <xref target="case-d1"/> illustrates both aggregation and disag
ggregation is shown gregation, and the corresponding JSON operational data follows.
and then the corresponding JSON operational data follows.
</t> </t>
<figure anchor="case-d1"> <figure anchor="case-d1">
<name>Case D-1 Example Transit Node Forwarding Aggregation/Disag <name>Case D-1: Example Transit Node Forwarding Aggregation/Disa
gregation</name> ggregation</name>
<artset>
<artwork align="left" type="ascii-art" name="" alt=""><![CDATA[
Please consult the PDF or HTML versions for the Case D-1 Diagram
]]></artwork>
<artwork type="svg"> <artwork type="svg">
<svg <svg
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
width="180mm" width="180mm"
height="130mm" height="130mm"
viewBox="0 0 210 140" viewBox="0 0 210 140"
version="1.1" version="1.1"
id="svg7"> id="svg7">
skipping to change at line 22133 skipping to change at line 20685
stroke="#000000" stroke="#000000"
stroke-width="0.219914" stroke-width="0.219914"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
id="path45" /> id="path45" />
<text <text
font-size="2.89029px" font-size="2.89029px"
x="113.33002" x="112.33002"
y="76.809273" y="76.809273"
transform="scale(0.8869959,1.1274009)">Transit 3</text> transform="scale(0.8869959,1.1274009)">Transit 3</text>
<path <path
d="m 108.75043,76.823112 c 0,-0.393324 -0.25086,-0.712175 -0.56032,-0.712 175 h -6.12454 c -0.30946,0 -0.56031,0.318851 -0.56031,0.712175 v 6.226091 c 0,0 .393319 0.25085,0.712171 0.56031,0.712171 h 6.12454 c 0.30946,0 0.56032,-0.31885 2 0.56032,-0.712171 z" d="m 108.75043,76.823112 c 0,-0.393324 -0.25086,-0.712175 -0.56032,-0.712 175 h -6.12454 c -0.30946,0 -0.56031,0.318851 -0.56031,0.712175 v 6.226091 c 0,0 .393319 0.25085,0.712171 0.56031,0.712171 h 6.12454 c 0.30946,0 0.56032,-0.31885 2 0.56032,-0.712171 z"
stroke="#000000" stroke="#000000"
stroke-width="0.293217" stroke-width="0.293217"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
skipping to change at line 22158 skipping to change at line 20710
stroke="#000000" stroke="#000000"
stroke-width="0.219914" stroke-width="0.219914"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
id="path53" /> id="path53" />
<text <text
font-size="2.89029px" font-size="2.89029px"
x="113.33002" x="112.33002"
y="43.885124" y="43.885124"
transform="scale(0.8869959,1.1274009)">Transit 2</text> transform="scale(0.8869959,1.1274009)">Transit 2</text>
<path <path
d="m 108.75043,39.846075 c 0,-0.393324 -0.25086,-0.712177 -0.56032,-0.712 177 h -6.12454 c -0.30946,0 -0.56031,0.318853 -0.56031,0.712177 v 6.226091 c 0,0 .393318 0.25085,0.712171 0.56031,0.712171 h 6.12454 c 0.30946,0 0.56032,-0.31885 3 0.56032,-0.712171 z" d="m 108.75043,39.846075 c 0,-0.393324 -0.25086,-0.712177 -0.56032,-0.712 177 h -6.12454 c -0.30946,0 -0.56031,0.318853 -0.56031,0.712177 v 6.226091 c 0,0 .393318 0.25085,0.712171 0.56031,0.712171 h 6.12454 c 0.30946,0 0.56032,-0.31885 3 0.56032,-0.712171 z"
stroke="#000000" stroke="#000000"
stroke-width="0.293217" stroke-width="0.293217"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
skipping to change at line 22244 skipping to change at line 20796
stroke-width="0.293217" stroke-width="0.293217"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect75" /> id="rect75" />
<text <text
font-size="2.01064px" font-size="2.01064px"
x="63.677887" x="63.677887"
y="26.16641" y="26.16641"
transform="scale(0.8869959,1.1274009)">MPLS S<tspan transform="scale(0.8869959,1.1274009)">MPLS S-Label<tspan
font-size="2.01064px"
x="71.044991"
y="26.16641"
id="tspan77"
>-</tspan><tspan
font-size="2.01064px"
x="71.887978"
y="26.16641"
id="tspan79"
>label</tspan><tspan
font-size="2.01064px" font-size="2.01064px"
x="68.33271" x="68.33271"
y="28.679707" y="28.679707"
id="tspan81" id="tspan81"
>100</tspan></text> >100</tspan></text>
<rect <rect
x="53.687176" x="53.687176"
y="34.175293" y="34.175293"
width="16.942537" width="16.942537"
height="8.2171326" height="8.2171326"
skipping to change at line 22276 skipping to change at line 20818
stroke-width="0.293217" stroke-width="0.293217"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect85" /> id="rect85" />
<text <text
font-size="2.01064px" font-size="2.01064px"
x="63.732933" x="63.732933"
y="33.454964" y="33.454964"
transform="scale(0.8869959,1.1274009)">MPLS F<tspan transform="scale(0.8869959,1.1274009)">MPLS F-Label<tspan
font-size="2.01064px"
x="70.990051"
y="33.454964"
id="tspan87"
>-</tspan><tspan
font-size="2.01064px"
x="71.833046"
y="33.454964"
id="tspan89"
>label</tspan><tspan
font-size="2.01064px" font-size="2.01064px"
x="67.16066" x="67.16066"
y="35.968254" y="35.968254"
id="tspan91" id="tspan91"
>10000</tspan></text> >10000</tspan></text>
<rect <rect
x="53.687176" x="53.687176"
y="9.5239382" y="9.5239382"
width="16.942537" width="16.942537"
height="8.2171326" height="8.2171326"
skipping to change at line 22352 skipping to change at line 20884
stroke-width="0.293217" stroke-width="0.293217"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect107" /> id="rect107" />
<text <text
font-size="2.01064px" font-size="2.01064px"
x="161.43571" x="161.43571"
y="106.84313" y="106.84313"
transform="scale(0.8869959,1.1274009)">MPLS S<tspan transform="scale(0.8869959,1.1274009)">MPLS S-Label<tspan
font-size="2.01064px"
x="168.80281"
y="106.84313"
id="tspan109"
>-</tspan><tspan
font-size="2.01064px"
x="169.64581"
y="106.84313"
id="tspan111"
>label</tspan><tspan
font-size="2.01064px" font-size="2.01064px"
x="166.09053" x="166.09053"
y="109.35642" y="109.35642"
id="tspan113" id="tspan113"
>100</tspan></text> >100</tspan></text>
<rect <rect
x="140.40622" x="140.40622"
y="125.1303" y="125.1303"
width="16.942537" width="16.942537"
height="8.2171192" height="8.2171192"
skipping to change at line 22384 skipping to change at line 20906
stroke-width="0.293217" stroke-width="0.293217"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect117" /> id="rect117" />
<text <text
font-size="2.01064px" font-size="2.01064px"
x="161.48976" x="161.48976"
y="114.25735" y="114.25735"
transform="scale(0.8869959,1.1274009)">MPLS F<tspan transform="scale(0.8869959,1.1274009)">MPLS F-Label<tspan
font-size="2.01064px"
x="168.74689"
y="114.25735"
id="tspan119"
>-</tspan><tspan
font-size="2.01064px"
x="169.5899"
y="114.25735"
id="tspan121"
>label</tspan><tspan
font-size="2.01064px" font-size="2.01064px"
x="164.91748" x="164.91748"
y="116.77065" y="116.77065"
id="tspan123" id="tspan123"
>10003</tspan></text> >10003</tspan></text>
<rect <rect
x="140.40622" x="140.40622"
y="100.33727" y="100.33727"
width="16.942537" width="16.942537"
height="8.2171326" height="8.2171326"
skipping to change at line 22513 skipping to change at line 21025
d="m 137.39669,61.518467 21.33867,18.459756" d="m 137.39669,61.518467 21.33867,18.459756"
stroke="#000000" stroke="#000000"
stroke-width="0.293217" stroke-width="0.293217"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
id="path157" /> id="path157" />
<text <text
font-size="2.89029px" font-size="2.89029px"
x="16.292641" x="14.292641"
y="31.444321" y="31.444321"
transform="scale(0.8869959,1.1274009)">Source 1<tspan transform="scale(0.8869959,1.1274009)">Source 1<tspan
font-size="2.89029px" font-size="2.89029px"
x="17.354097" x="14.354097"
y="34.33461" y="34.33461"
id="tspan159" id="tspan159"
>192.0.2.1</tspan></text> >192.0.2.1</tspan></text>
<path <path
d="m 22.700176,25.820302 c 0,-0.393324 -0.25086,-0.712177 -0.560312,-0.71 2177 h -6.124523 c -0.309457,0 -0.560317,0.318853 -0.560317,0.712177 v 6.226064 c 0,0.39333 0.25086,0.712165 0.560317,0.712165 h 6.124523 c 0.309452,0 0.560312, -0.318835 0.560312,-0.712165 z" d="m 22.700176,25.820302 c 0,-0.393324 -0.25086,-0.712177 -0.560312,-0.71 2177 h -6.124523 c -0.309457,0 -0.560317,0.318853 -0.560317,0.712177 v 6.226064 c 0,0.39333 0.25086,0.712165 0.560317,0.712165 h 6.124523 c 0.309452,0 0.560312, -0.318835 0.560312,-0.712165 z"
stroke="#000000" stroke="#000000"
stroke-width="0.293217" stroke-width="0.293217"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
skipping to change at line 22593 skipping to change at line 21105
x="36.742413" x="36.742413"
y="19.254856" y="19.254856"
id="tspan175" id="tspan175"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="2.01064px" font-size="2.01064px"
x="36.705769" x="36.705769"
y="21.893812" y="21.893812"
id="tspan177" id="tspan177"
>192.0.2.9</tspan><tspan >192.0.2.9</tspan><tspan
font-size="2.89029px" font-size="2.89029px"
x="16.186686" x="13.186686"
y="105.71215" y="105.71215"
id="tspan179" id="tspan179"
>Source 2</tspan><tspan >Source 2</tspan><tspan
font-size="2.89029px" font-size="2.89029px"
x="17.248201" x="13.248201"
y="108.60243" y="108.60243"
id="tspan181" id="tspan181"
>192.0.2.2</tspan></text> >192.0.2.2</tspan></text>
<path <path
d="m 22.58871,109.40824 c 0,-0.39331 -0.250862,-0.71217 -0.560314,-0.7121 7 h -6.124522 c -0.309457,0 -0.560317,0.31886 -0.560317,0.71217 v 6.22606 c 0,0. 39334 0.25086,0.71217 0.560317,0.71217 h 6.124522 c 0.309452,0 0.560314,-0.31883 0.560314,-0.71217 z" d="m 22.58871,109.40824 c 0,-0.39331 -0.250862,-0.71217 -0.560314,-0.7121 7 h -6.124522 c -0.309457,0 -0.560317,0.31886 -0.560317,0.71217 v 6.22606 c 0,0. 39334 0.25086,0.71217 0.560317,0.71217 h 6.124522 c 0.309452,0 0.560314,-0.31883 0.560314,-0.71217 z"
stroke="#000000" stroke="#000000"
stroke-width="0.293217" stroke-width="0.293217"
stroke-linejoin="round" stroke-linejoin="round"
stroke-miterlimit="10" stroke-miterlimit="10"
fill="none" fill="none"
skipping to change at line 22631 skipping to change at line 21143
d="M 22.58871,112.5312 44.28374,79.936715" d="M 22.58871,112.5312 44.28374,79.936715"
stroke="#000000" stroke="#000000"
stroke-width="0.293217" stroke-width="0.293217"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
id="path189" /> id="path189" />
<text <text
font-size="2.89029px" font-size="2.89029px"
x="207.72052" x="210.72052"
y="105.71215" y="105.71215"
transform="scale(0.8869959,1.1274009)">Destination 2<tspan transform="scale(0.8869959,1.1274009)">Destination 2<tspan
font-size="2.89029px" font-size="2.89029px"
x="211.54996" x="211.54996"
y="108.60243" y="108.60243"
id="tspan191" id="tspan191"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<path <path
d="m 194.91213,109.54992 c 0,-0.39332 -0.25085,-0.71217 -0.5603,-0.71217 h -6.12455 c -0.30945,0 -0.56032,0.31885 -0.56032,0.71217 v 6.22609 c 0,0.39331 0.25087,0.71217 0.56032,0.71217 h 6.12455 c 0.30945,0 0.5603,-0.31886 0.5603,-0. 71217 z" d="m 194.91213,109.54992 c 0,-0.39332 -0.25085,-0.71217 -0.5603,-0.71217 h -6.12455 c -0.30945,0 -0.56032,0.31885 -0.56032,0.71217 v 6.22609 c 0,0.39331 0.25087,0.71217 0.56032,0.71217 h 6.12455 c 0.30945,0 0.5603,-0.31886 0.5603,-0. 71217 z"
skipping to change at line 22669 skipping to change at line 21181
d="m 166.04294,79.936147 21.63853,32.712643" d="m 166.04294,79.936147 21.63853,32.712643"
stroke="#000000" stroke="#000000"
stroke-width="0.293217" stroke-width="0.293217"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
id="path199" /> id="path199" />
<text <text
font-size="2.89029px" font-size="2.89029px"
x="207.48428" x="210.48428"
y="31.444321" y="31.444321"
transform="scale(0.8869959,1.1274009)">Destination 1<tspan transform="scale(0.8869959,1.1274009)">Destination 1<tspan
font-size="2.89029px" font-size="2.89029px"
x="211.31371" x="211.31371"
y="34.33461" y="34.33461"
id="tspan201" id="tspan201"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<path <path
d="m 194.68921,25.678628 c 0,-0.393324 -0.25086,-0.712175 -0.56032,-0.712 175 h -6.12454 c -0.30946,0 -0.56031,0.318851 -0.56031,0.712175 v 6.226092 c 0,0 .393318 0.25085,0.71217 0.56031,0.71217 h 6.12454 c 0.30946,0 0.56032,-0.318852 0.56032,-0.71217 z" d="m 194.68921,25.678628 c 0,-0.393324 -0.25086,-0.712175 -0.56032,-0.712 175 h -6.12454 c -0.30946,0 -0.56031,0.318851 -0.56031,0.712175 v 6.226092 c 0,0 .393318 0.25085,0.71217 0.56031,0.71217 h 6.12454 c 0.30946,0 0.56032,-0.318852 0.56032,-0.71217 z"
skipping to change at line 22777 skipping to change at line 21289
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
id="path231" /> id="path231" />
<text <text
font-size="2.89029px" font-size="2.89029px"
x="67.196251" x="67.196251"
y="50.545357" y="50.545357"
transform="scale(0.8869959,1.1274009)">DN - 1</text> transform="scale(0.8869959,1.1274009)">DN-1</text>
<path <path
d="m 185.06317,111.78883 c -0.1226,-0.18843 0.25972,-0.85006 0.85605,-1.4 7768 0.59633,-0.6262 1.17929,-0.98038 1.3019,-0.79195 0.12372,0.18984 -0.25972,0 .85146 -0.85605,1.47766 -0.59521,0.62761 -1.17818,0.98181 -1.3019,0.79197 L 167. 25344,84.42992 c -0.1226,-0.189275 0.25972,-0.850898 0.85605,-1.477523 0.59633,- 0.626769 1.17929,-0.981235 1.3019,-0.791821 l 17.80973,27.358624" d="m 185.06317,111.78883 c -0.1226,-0.18843 0.25972,-0.85006 0.85605,-1.4 7768 0.59633,-0.6262 1.17929,-0.98038 1.3019,-0.79195 0.12372,0.18984 -0.25972,0 .85146 -0.85605,1.47766 -0.59521,0.62761 -1.17818,0.98181 -1.3019,0.79197 L 167. 25344,84.42992 c -0.1226,-0.189275 0.25972,-0.850898 0.85605,-1.477523 0.59633,- 0.626769 1.17929,-0.981235 1.3019,-0.791821 l 17.80973,27.358624"
stroke="#000000" stroke="#000000"
stroke-width="0.293217" stroke-width="0.293217"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
fill-rule="evenodd" fill-rule="evenodd"
id="path237" /> id="path237" />
<text <text
font-size="2.89029px" font-size="2.89029px"
skipping to change at line 22914 skipping to change at line 21426
stroke-width="0.293217" stroke-width="0.293217"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect307" /> id="rect307" />
<text <text
font-size="2.01064px" font-size="2.01064px"
x="63.677887" x="63.677887"
y="106.84313" y="106.84313"
transform="scale(0.8869959,1.1274009)">MPLS S<tspan transform="scale(0.8869959,1.1274009)">MPLS S-Label<tspan
font-size="2.01064px"
x="71.044991"
y="106.84313"
id="tspan309"
>-</tspan><tspan
font-size="2.01064px"
x="71.887978"
y="106.84313"
id="tspan311"
>label</tspan><tspan
font-size="2.01064px" font-size="2.01064px"
x="68.33271" x="68.33271"
y="109.35642" y="109.35642"
id="tspan313" id="tspan313"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="53.687176" x="53.687176"
y="125.1303" y="125.1303"
width="16.942537" width="16.942537"
height="8.2171192" height="8.2171192"
skipping to change at line 22946 skipping to change at line 21448
stroke-width="0.293217" stroke-width="0.293217"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect317" /> id="rect317" />
<text <text
font-size="2.01064px" font-size="2.01064px"
x="63.732933" x="63.732933"
y="114.25735" y="114.25735"
transform="scale(0.8869959,1.1274009)">MPLS F<tspan transform="scale(0.8869959,1.1274009)">MPLS F-Label<tspan
font-size="2.01064px"
x="70.990051"
y="114.25735"
id="tspan319"
>-</tspan><tspan
font-size="2.01064px"
x="71.833046"
y="114.25735"
id="tspan321"
>label</tspan><tspan
font-size="2.01064px" font-size="2.01064px"
x="67.16066" x="67.16066"
y="116.77065" y="116.77065"
id="tspan323" id="tspan323"
>10004</tspan></text> >10004</tspan></text>
<rect <rect
x="53.687176" x="53.687176"
y="100.33727" y="100.33727"
width="16.942537" width="16.942537"
height="8.2171326" height="8.2171326"
skipping to change at line 23066 skipping to change at line 21558
stroke-width="0.293217" stroke-width="0.293217"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect351" /> id="rect351" />
<text <text
font-size="2.01064px" font-size="2.01064px"
x="95.908493" x="95.908493"
y="40.49218" y="40.49218"
transform="scale(0.8869959,1.1274009)">MPLS F<tspan transform="scale(0.8869959,1.1274009)">MPLS F-Label<tspan
font-size="2.01064px"
x="103.16564"
y="40.49218"
id="tspan353"
>-</tspan><tspan
font-size="2.01064px"
x="104.00863"
y="40.49218"
id="tspan355"
>label</tspan><tspan
font-size="2.01064px" font-size="2.01064px"
x="99.33622" x="99.33622"
y="43.005478" y="43.005478"
id="tspan357" id="tspan357"
>20000</tspan></text> >20000</tspan></text>
<rect <rect
x="110.97971" x="110.97971"
y="42.109062" y="42.109062"
width="16.942537" width="16.942537"
height="8.2171326" height="8.2171326"
skipping to change at line 23098 skipping to change at line 21580
stroke-width="0.293217" stroke-width="0.293217"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect361" /> id="rect361" />
<text <text
font-size="2.01064px" font-size="2.01064px"
x="128.31929" x="128.31929"
y="40.49218" y="40.49218"
transform="scale(0.8869959,1.1274009)">MPLS F<tspan transform="scale(0.8869959,1.1274009)">MPLS F-Label<tspan
font-size="2.01064px"
x="135.57645"
y="40.49218"
id="tspan363"
>-</tspan><tspan
font-size="2.01064px"
x="136.41945"
y="40.49218"
id="tspan365"
>label</tspan><tspan
font-size="2.01064px" font-size="2.01064px"
x="131.74704" x="131.74704"
y="43.005478" y="43.005478"
id="tspan367" id="tspan367"
>20001</tspan></text> >20001</tspan></text>
<rect <rect
x="82.22197" x="82.22197"
y="25.816498" y="25.816498"
width="8.4712687" width="8.4712687"
height="8.2171326" height="8.2171326"
skipping to change at line 23135 skipping to change at line 21607
font-size="1.50798px" font-size="1.50798px"
x="95.527481" x="95.527481"
y="24.909765" y="24.909765"
transform="scale(0.8869959,1.1274009)">MPLS<tspan transform="scale(0.8869959,1.1274009)">MPLS<tspan
font-size="1.50798px" font-size="1.50798px"
x="95.087646" x="95.087646"
y="26.669069" y="26.669069"
id="tspan373" id="tspan373"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.50798px"
x="95.930649"
y="26.669069"
id="tspan375"
>-</tspan><tspan
font-size="1.50798px"
x="96.553749"
y="26.669069"
id="tspan377"
>label</tspan><tspan
font-size="2.01064px" font-size="2.01064px"
x="95.72834" x="95.72834"
y="29.0567" y="29.0567"
id="tspan379" id="tspan379"
>100</tspan></text> >100</tspan></text>
<rect <rect
x="90.693245" x="90.693245"
y="25.816498" y="25.816498"
width="8.4712687" width="8.4712687"
height="8.2171326" height="8.2171326"
skipping to change at line 23172 skipping to change at line 21634
font-size="1.50798px" font-size="1.50798px"
x="105.08591" x="105.08591"
y="24.909765" y="24.909765"
transform="scale(0.8869959,1.1274009)">MPLS<tspan transform="scale(0.8869959,1.1274009)">MPLS<tspan
font-size="1.50798px" font-size="1.50798px"
x="104.64607" x="104.64607"
y="26.669069" y="26.669069"
id="tspan385" id="tspan385"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.50798px"
x="105.48909"
y="26.669069"
id="tspan387"
>-</tspan><tspan
font-size="1.50798px"
x="106.11217"
y="26.669069"
id="tspan389"
>label</tspan><tspan
font-size="2.01064px" font-size="2.01064px"
x="105.28677" x="105.28677"
y="29.0567" y="29.0567"
id="tspan391" id="tspan391"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="82.22197" x="82.22197"
y="17.599375" y="17.599375"
width="8.4712687" width="8.4712687"
height="8.2171049" height="8.2171049"
skipping to change at line 23206 skipping to change at line 21658
fill="none" fill="none"
id="rect395" /> id="rect395" />
<text <text
font-size="1.63364px" font-size="1.63364px"
x="96.73774" x="96.73774"
y="17.998205" y="17.998205"
transform="scale(0.8869959,1.1274009)">IP<tspan transform="scale(0.8869959,1.1274009)">IP<tspan
font-size="1.63364px" font-size="1.63364px"
x="94.922729" x="93.922729"
y="19.883175" y="19.883175"
id="tspan397" id="tspan397"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.63364px" font-size="1.63364px"
x="94.922729" x="93.922729"
y="21.768145" y="21.768145"
id="tspan399" id="tspan399"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="90.693245" x="90.693245"
y="17.599375" y="17.599375"
width="8.4712687" width="8.4712687"
height="8.2171049" height="8.2171049"
stroke="#000000" stroke="#000000"
stroke-width="0.293217" stroke-width="0.293217"
skipping to change at line 23233 skipping to change at line 21685
fill="none" fill="none"
id="rect403" /> id="rect403" />
<text <text
font-size="1.63364px" font-size="1.63364px"
x="106.29618" x="106.29618"
y="17.998205" y="17.998205"
transform="scale(0.8869959,1.1274009)">IP<tspan transform="scale(0.8869959,1.1274009)">IP<tspan
font-size="1.63364px" font-size="1.63364px"
x="104.48116" x="103.48116"
y="19.883175" y="19.883175"
id="tspan405" id="tspan405"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.63364px" font-size="1.63364px"
x="104.48116" x="103.48116"
y="21.768145" y="21.768145"
id="tspan407" id="tspan407"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="82.22197" x="82.22197"
y="9.5239382" y="9.5239382"
width="8.4712687" width="8.4712687"
height="8.2171326" height="8.2171326"
stroke="#000000" stroke="#000000"
stroke-width="0.293217" stroke-width="0.293217"
skipping to change at line 23307 skipping to change at line 21759
font-size="1.50798px" font-size="1.50798px"
x="127.93854" x="127.93854"
y="24.909765" y="24.909765"
transform="scale(0.8869959,1.1274009)">MPLS<tspan transform="scale(0.8869959,1.1274009)">MPLS<tspan
font-size="1.50798px" font-size="1.50798px"
x="127.49872" x="127.49872"
y="26.669069" y="26.669069"
id="tspan425" id="tspan425"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.50798px"
x="128.34172"
y="26.669069"
id="tspan427"
>-</tspan><tspan
font-size="1.50798px"
x="128.9648"
y="26.669069"
id="tspan429"
>label</tspan><tspan
font-size="2.01064px" font-size="2.01064px"
x="128.13939" x="128.13939"
y="29.0567" y="29.0567"
id="tspan431" id="tspan431"
>100</tspan></text> >100</tspan></text>
<rect <rect
x="119.45098" x="119.45098"
y="25.816498" y="25.816498"
width="8.4712687" width="8.4712687"
height="8.2171326" height="8.2171326"
skipping to change at line 23344 skipping to change at line 21786
font-size="1.50798px" font-size="1.50798px"
x="137.4966" x="137.4966"
y="24.909765" y="24.909765"
transform="scale(0.8869959,1.1274009)">MPLS<tspan transform="scale(0.8869959,1.1274009)">MPLS<tspan
font-size="1.50798px" font-size="1.50798px"
x="137.05678" x="137.05678"
y="26.669069" y="26.669069"
id="tspan437" id="tspan437"
>S</tspan><tspan >S-Label</tspan><tspan
font-size="1.50798px"
x="137.89978"
y="26.669069"
id="tspan439"
>-</tspan><tspan
font-size="1.50798px"
x="138.52286"
y="26.669069"
id="tspan441"
>label</tspan><tspan
font-size="2.01064px" font-size="2.01064px"
x="137.69746" x="137.69746"
y="29.0567" y="29.0567"
id="tspan443" id="tspan443"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="110.97971" x="110.97971"
y="17.599375" y="17.599375"
width="8.4712687" width="8.4712687"
height="8.2171049" height="8.2171049"
skipping to change at line 23378 skipping to change at line 21810
fill="none" fill="none"
id="rect447" /> id="rect447" />
<text <text
font-size="1.63364px" font-size="1.63364px"
x="129.14868" x="129.14868"
y="17.998205" y="17.998205"
transform="scale(0.8869959,1.1274009)">IP<tspan transform="scale(0.8869959,1.1274009)">IP<tspan
font-size="1.63364px" font-size="1.63364px"
x="127.33365" x="126.33365"
y="19.883175" y="19.883175"
id="tspan449" id="tspan449"
>192.0.2.1</tspan><tspan >192.0.2.1</tspan><tspan
font-size="1.63364px" font-size="1.63364px"
x="127.33365" x="126.33365"
y="21.768145" y="21.768145"
id="tspan451" id="tspan451"
>192.0.2.9</tspan></text> >192.0.2.9</tspan></text>
<rect <rect
x="119.45098" x="119.45098"
y="17.599375" y="17.599375"
width="8.4712687" width="8.4712687"
height="8.2171049" height="8.2171049"
stroke="#000000" stroke="#000000"
stroke-width="0.293217" stroke-width="0.293217"
skipping to change at line 23405 skipping to change at line 21837
fill="none" fill="none"
id="rect455" /> id="rect455" />
<text <text
font-size="1.63364px" font-size="1.63364px"
x="138.70676" x="138.70676"
y="17.998205" y="17.998205"
transform="scale(0.8869959,1.1274009)">IP<tspan transform="scale(0.8869959,1.1274009)">IP<tspan
font-size="1.63364px" font-size="1.63364px"
x="136.89171" x="135.89171"
y="19.883175" y="19.883175"
id="tspan457" id="tspan457"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="1.63364px" font-size="1.63364px"
x="136.89171" x="135.89171"
y="21.768145" y="21.768145"
id="tspan459" id="tspan459"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="110.97971" x="110.97971"
y="9.5239382" y="9.5239382"
width="8.4712687" width="8.4712687"
height="8.2171326" height="8.2171326"
stroke="#000000" stroke="#000000"
stroke-width="0.293217" stroke-width="0.293217"
skipping to change at line 23474 skipping to change at line 21906
stroke-width="0.293217" stroke-width="0.293217"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect475" /> id="rect475" />
<text <text
font-size="1.50798px" font-size="1.50798px"
x="95.528229" x="95.528229"
y="32.323982" y="32.323982"
transform="scale(0.8869959,1.1274009)">MPLS F-label<tspan transform="scale(0.8869959,1.1274009)">MPLS<tspan
font-size="1.75931px" font-size="1.50798px"
x="94.922752"
y="34.219585"
id="tspan997"
>F-Label</tspan><tspan
font-size="2.01064px"
x="94.922752" x="94.922752"
y="36.219585" y="36.219585"
id="tspan481" id="tspan481"
>10002</tspan></text> >10002</tspan></text>
<rect <rect
x="90.693245" x="90.693245"
y="33.891949" y="33.891949"
width="8.4712687" width="8.4712687"
height="8.2171326" height="8.2171326"
stroke="#000000" stroke="#000000"
stroke-width="0.293217" stroke-width="0.293217"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect485" /> id="rect485" />
<text <text
font-size="1.50798px" font-size="1.50798px"
x="105.08666" x="105.08666"
y="32.323982" y="32.323982"
transform="scale(0.8869959,1.1274009)">MPLS F-label<tspan transform="scale(0.8869959,1.1274009)">MPLS<tspan
font-size="1.75931px" font-size="1.50798px"
x="104.48116"
y="34.219585"
id="tspan994"
>F-Label</tspan><tspan
font-size="2.01064px"
x="104.48116" x="104.48116"
y="36.219585" y="36.219585"
id="tspan491" id="tspan481"
>10006</tspan></text> >10006</tspan></text>
<rect <rect
x="110.97971" x="110.97971"
y="33.891949" y="33.891949"
width="8.4712687" width="8.4712687"
height="8.2171326" height="8.2171326"
stroke="#000000" stroke="#000000"
stroke-width="0.293217" stroke-width="0.293217"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect495" /> id="rect495" />
<text <text
font-size="1.50798px" font-size="1.50798px"
x="127.93854" x="127.93854"
y="32.323982" y="32.323982"
transform="scale(0.8869959,1.1274009)">MPLS F-label<tspan transform="scale(0.8869959,1.1274009)">MPLS<tspan
font-size="1.75931px" font-size="1.50798px"
x="127.33303"
y="34.219585"
id="tspan987"
>F-Label</tspan><tspan
font-size="2.01064px"
x="127.33303" x="127.33303"
y="36.219585" y="36.219585"
id="tspan501" id="tspan481"
>10002</tspan></text> >10002</tspan></text>
<rect <rect
x="119.45098" x="119.45098"
y="33.891949" y="33.891949"
width="8.4712687" width="8.4712687"
height="8.2171326" height="8.2171326"
stroke="#000000" stroke="#000000"
stroke-width="0.293217" stroke-width="0.293217"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect505" /> id="rect505" />
<text <text
font-size="1.50798px" font-size="1.50798px"
x="137.4966" x="137.4966"
y="32.323982" y="32.323982"
transform="scale(0.8869959,1.1274009)">MPLS F-label<tspan transform="scale(0.8869959,1.1274009)">MPLS<tspan
font-size="1.75931px" font-size="1.50798px"
x="136.8911" x="136.4966"
y="34.323982"
id="tspan977"
>F-Label</tspan><tspan
font-size="2.01064px"
x="136.4966"
y="36.219585" y="36.219585"
id="tspan511" id="tspan969"
>10006</tspan></text> >10006</tspan></text>
<rect <rect
x="139.51451" x="139.51451"
y="25.958176" y="25.958176"
width="16.942537" width="16.942537"
height="8.2171326" height="8.2171326"
stroke="#000000" stroke="#000000"
stroke-width="0.293217" stroke-width="0.293217"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect515" /> id="rect515" />
<text <text
font-size="2.01064px" font-size="2.01064px"
x="160.39145" x="160.39145"
y="26.16641" y="26.16641"
transform="scale(0.8869959,1.1274009)">MPLS S<tspan transform="scale(0.8869959,1.1274009)">MPLS S-Label<tspan
font-size="2.01064px"
x="167.75854"
y="26.16641"
id="tspan517"
>-</tspan><tspan
font-size="2.01064px"
x="168.60155"
y="26.16641"
id="tspan519"
>label</tspan><tspan
font-size="2.01064px" font-size="2.01064px"
x="165.04628" x="165.04628"
y="28.679707" y="28.679707"
id="tspan521" id="tspan521"
>101</tspan></text> >101</tspan></text>
<rect <rect
x="139.51451" x="139.51451"
y="34.175293" y="34.175293"
width="16.942537" width="16.942537"
height="8.2171326" height="8.2171326"
skipping to change at line 23594 skipping to change at line 22036
stroke-width="0.293217" stroke-width="0.293217"
stroke-miterlimit="8" stroke-miterlimit="8"
fill="none" fill="none"
id="rect525" /> id="rect525" />
<text <text
font-size="2.01064px" font-size="2.01064px"
x="160.44673" x="160.44673"
y="33.580624" y="33.580624"
transform="scale(0.8869959,1.1274009)">MPLS F<tspan transform="scale(0.8869959,1.1274009)">MPLS F-Label<tspan
font-size="2.01064px"
x="167.70387"
y="33.580624"
id="tspan527"
>-</tspan><tspan
font-size="2.01064px"
x="168.54688"
y="33.580624"
id="tspan529"
>label</tspan><tspan
font-size="2.01064px" font-size="2.01064px"
x="163.87445" x="163.87445"
y="36.093918" y="36.093918"
id="tspan531" id="tspan531"
>10007</tspan></text> >10007</tspan></text>
<rect <rect
x="139.51451" x="139.51451"
y="9.5239382" y="9.5239382"
width="16.942537" width="16.942537"
height="8.2171326" height="8.2171326"
skipping to change at line 23645 skipping to change at line 22077
fill="none" fill="none"
id="rect539" /> id="rect539" />
<text <text
font-size="2.89029px" font-size="2.89029px"
x="161.7662" x="161.7662"
y="19.254856" y="19.254856"
transform="scale(0.8869959,1.1274009)">IP <tspan transform="scale(0.8869959,1.1274009)">IP <tspan
font-size="2.01064px" font-size="2.01064px"
x="165.50475" x="164.50475"
y="19.254856" y="19.254856"
id="tspan541" id="tspan541"
>192.0.2.2</tspan><tspan >192.0.2.2</tspan><tspan
font-size="2.01064px" font-size="2.01064px"
x="165.46808" x="164.46808"
y="21.893812" y="21.893812"
id="tspan543" id="tspan543"
>192.0.2.8</tspan></text> >192.0.2.8</tspan></text>
<rect <rect
x="168.27223" x="168.27223"
y="9.5239382" y="9.5239382"
width="17.054001" width="17.054001"
height="8.2171326" height="8.2171326"
stroke="#000000" stroke="#000000"
stroke-width="0.293217" stroke-width="0.293217"
skipping to change at line 23731 skipping to change at line 22163
transform="scale(0.8869959,1.1274009)">aggregation<tspan transform="scale(0.8869959,1.1274009)">aggregation<tspan
font-size="2.89029px" font-size="2.89029px"
x="141.99666" x="141.99666"
y="72.159683" y="72.159683"
id="tspan563" id="tspan563"
>disaggregation</tspan></text> >disaggregation</tspan></text>
</g> </g>
</svg> </svg>
</artwork> </artwork>
</artset>
</figure> </figure>
<t> <xref target="example-detnet-json-forwarding-aggregation-d-1"/> <t> <xref target="example-detnet-json-forwarding-aggregation-d-1"/>
contains the operational JSON configuration for the ingress aggregat ion contains the operational JSON configuration for the ingress aggregat ion
node illustrated in <xref target="case-d1"/>. node illustrated in <xref target="case-d1"/>.
In this example, a transit node performing aggregation at the forwar ding sub-layer In this example, a transit node performing aggregation at the forwar ding sub-layer
is illustrated. is illustrated.
Two DetNet flows DN1 and DN2 are transmitted at each Two DetNet flows -- DN-1 and DN-2 -- are transmitted at each
forwarding sub-layer. The DetNet forwarding sub-layer flows with forwarding sub-layer. The DetNet forwarding sub-layer flows with
MPLS labels 10002 and 10006 are aggregated at the single forwarding MPLS labels 10002 and 10006 are aggregated at the single forwarding
sub-layer. The resulting aggregated DetNet flow has MPLS label 20000 . sub-layer. The resulting aggregated DetNet flow has MPLS label 20000 .
<xref target="example-detnet-json-forwarding-disaggregation-d-1"/> <xref target="example-detnet-json-forwarding-disaggregation-d-1"/>
contains the operational JSON configuration for the egress disaggreg ation contains the operational JSON configuration for the egress disaggreg ation
transit node illustrated in <xref target="case-d1"/>. transit node illustrated in <xref target="case-d1"/>.
</t> </t>
<figure anchor="example-detnet-json-forwarding-aggregation-d-1"> <figure anchor="example-detnet-json-forwarding-aggregation-d-1">
<name>Example D-1 Transit Node Forwarding Aggregation</name> <name>Example D-1: Transit Node Forwarding Aggregation</name>
<artwork name="" type="" align="left" alt=""><![CDATA[ <sourcecode name="" type="json"><![CDATA[
{ {
"ietf-detnet:detnet": { "ietf-detnet:detnet": {
"traffic-profile": [ "traffic-profile": [
{ {
"name": "pf-1", "name": "pf-1",
"traffic-spec": { "traffic-spec": {
"interval": 125, "interval": 125,
"max-pkts-per-interval": 1, "max-pkts-per-interval": 1,
"max-payload-size": 1518 "max-payload-size": 1518
}, },
skipping to change at line 23858 skipping to change at line 22289
"incoming": { "incoming": {
"forwarding-aggregation": { "forwarding-aggregation": {
"sub-layer": [ "sub-layer": [
"fsl-1", "fsl-1",
"fsl-2" "fsl-2"
] ]
} }
}, },
"outgoing": { "outgoing": {
"interface": { "interface": {
"outgoing-interface": "eth3", "outgoing-interface": "eth2",
"mpls-label-stack": { "mpls-label-stack": {
"entry": [ "entry": [
{ {
"id": 0, "id": 0,
"label": 20000 "label": 20000
} }
] ]
} }
} }
} }
skipping to change at line 23892 skipping to change at line 22323
}, },
{ {
"name": "eth1", "name": "eth1",
"type": "iana-if-type:ethernetCsmacd", "type": "iana-if-type:ethernetCsmacd",
"oper-status": "up", "oper-status": "up",
"statistics": { "statistics": {
"discontinuity-time": "2024-02-21T18:59:00-05:00" "discontinuity-time": "2024-02-21T18:59:00-05:00"
} }
}, },
{ {
"name": "eth3", "name": "eth2",
"type": "iana-if-type:ethernetCsmacd", "type": "iana-if-type:ethernetCsmacd",
"oper-status": "up", "oper-status": "up",
"statistics": { "statistics": {
"discontinuity-time": "2024-02-21T18:59:00-05:00" "discontinuity-time": "2024-02-21T18:59:00-05:00"
} }
} }
] ]
} }
} }
]]></artwork> ]]></sourcecode>
</figure> </figure>
<figure anchor="example-detnet-json-forwarding-disaggregation-d-1"> <figure anchor="example-detnet-json-forwarding-disaggregation-d-1">
<name>Example D-1 Transit Node Forwarding Disaggregation</name> <name>Example D-1: Transit Node Forwarding Disaggregation</name>
<artwork name="" type="" align="left" alt=""><![CDATA[ <sourcecode name="" type="json"><![CDATA[
{ {
"ietf-detnet:detnet": { "ietf-detnet:detnet": {
"traffic-profile": [ "traffic-profile": [
{ {
"name": "pf-1", "name": "pf-1",
"traffic-spec": { "traffic-spec": {
"interval": 125, "interval": 125,
"max-pkts-per-interval": 1, "max-pkts-per-interval": 1,
"max-payload-size": 1518 "max-payload-size": 1518
}, },
skipping to change at line 24056 skipping to change at line 22487
"name": "eth3", "name": "eth3",
"type": "iana-if-type:ethernetCsmacd", "type": "iana-if-type:ethernetCsmacd",
"oper-status": "up", "oper-status": "up",
"statistics": { "statistics": {
"discontinuity-time": "2024-02-21T18:59:00-05:00" "discontinuity-time": "2024-02-21T18:59:00-05:00"
} }
} }
] ]
} }
} }
]]></artwork> ]]></sourcecode>
</figure> </figure>
</section> </section>
</section> </section>
<section anchor="Acknowledgments" numbered="false" toc="default">
<name>Acknowledgments</name>
<t>The authors of this document would like to thank <contact fullname="Lou
Berger"/>, <contact fullname="Tom Petch"/>,
<contact fullname="Xufeng Liu"/>, <contact fullname="Julien Meuric"
/>, <contact fullname="John Scudder"/>, and <contact fullname="Florian Kauer"/>
for their detailed comments.
</t>
</section>
<section anchor="Contributors" numbered="false" toc="default">
<name>Contributors</name>
<t>The authors of this document wish to thank and acknowledge
the following individual, who contributed substantially to the content
of this document and should be considered a coauthor:
</t>
<contact fullname="Mach(Guoyi) Chen" initials="M." surname="Chen">
<organization>Huawei Technologies</organization>
<address>
<email>mach.chen@huawei.com</email>
</address>
</contact>
</section>
</back> </back>
</rfc> </rfc>
 End of changes. 790 change blocks. 
2950 lines changed or deleted 1442 lines changed or added

This html diff was produced by rfcdiff 1.48.