rfc9633v2.txt | rfc9633.txt | |||
---|---|---|---|---|
skipping to change at line 77 ¶ | skipping to change at line 77 ¶ | |||
6. DetNet YANG Structure Considerations | 6. DetNet YANG Structure Considerations | |||
7. DetNet Configuration YANG Structures | 7. DetNet Configuration YANG Structures | |||
8. DetNet Configuration YANG Data Model | 8. DetNet Configuration YANG Data Model | |||
9. IANA Considerations | 9. IANA Considerations | |||
10. Security Considerations | 10. Security Considerations | |||
11. References | 11. References | |||
11.1. Normative References | 11.1. Normative References | |||
11.2. Informative References | 11.2. Informative References | |||
Appendix A. DetNet Configuration YANG Tree | Appendix A. DetNet Configuration YANG Tree | |||
Appendix B. Examples | Appendix B. Examples | |||
B.1. Example A-1: Application Aggregation | B.1. Example A-1: Application Flow Aggregation | |||
B.2. Example B-1: Aggregation Using a Forwarding Sub-layer | B.2. Example B-1: Aggregation Using a Forwarding Sub-layer | |||
B.3. Example B-2: Service Aggregation | B.3. Example B-2: Service Aggregation | |||
B.4. Example C-1: DetNet Relay Service Sub-layer | B.4. Example C-1: DetNet Relay Service Sub-layer | |||
B.5. Example C-2: DetNet Relay Service Sub-layer Aggregation/ | B.5. Example C-2: DetNet Relay Service Sub-layer Aggregation/ | |||
Disaggregation | Disaggregation | |||
B.6. Example C-3: DetNet Relay Service Sub-layer Aggregation/ | B.6. Example C-3: DetNet Relay Service Sub-layer Aggregation/ | |||
Disaggregation | Disaggregation | |||
B.7. Example C-4: DetNet Relay Service Sub-layer Aggregation/ | B.7. Example C-4: DetNet Relay Service Sub-layer Aggregation/ | |||
Disaggregation | Disaggregation | |||
B.8. Example D-1: Transit Node Forwarding Sub-layer Aggregation/ | B.8. Example D-1: Transit Node Forwarding Sub-layer Aggregation/ | |||
skipping to change at line 203 ¶ | skipping to change at line 203 ¶ | |||
represent the flow direction towards the remote application as a | represent the flow direction towards the remote application as a | |||
unidirectional flow. This means the terms are used at a sub-layer to | unidirectional flow. This means the terms are used at a sub-layer to | |||
represent "incoming" to the sub-layer function and "outgoing" is | represent "incoming" to the sub-layer function and "outgoing" is | |||
viewed as leaving the sub-layer. For the service sub-layer, | viewed as leaving the sub-layer. For the service sub-layer, | |||
"incoming" is typically aggregating applications flows or other | "incoming" is typically aggregating applications flows or other | |||
service sub-layers, etc. For the forwarding sub-layer, "incoming" is | service sub-layers, etc. For the forwarding sub-layer, "incoming" is | |||
typically aggregating service sub-layers. However, this also means | typically aggregating service sub-layers. However, this also means | |||
for both service and forwarding sub-layers at the egress DetNet node | for both service and forwarding sub-layers at the egress DetNet node | |||
"incoming" also handles external flows "incoming" to the respective | "incoming" also handles external flows "incoming" to the respective | |||
sub-layer. For MPLS, this would usually involve the removal of a | sub-layer. For MPLS, this would usually involve the removal of a | |||
label. For IP where the representative sub-layer is merely an | label. For IP -- where the representative sub-layer is merely an | |||
aggregation of an IP prefix or IP tuple and there may be no incoming/ | aggregation of an IP prefix or IP tuple -- there may be no incoming/ | |||
outgoing definitions since the arriving packet can be handled | outgoing definitions, since the arriving packet can be handled | |||
directly by a standard next-hop routing decision. In examples | directly by a standard next-hop routing decision. In examples | |||
(Appendix B) where both aggregation and disaggregation take place, at | (Appendix B) where both aggregation and disaggregation take place, at | |||
the egress of the flow "outgoing" relates to the aggregating output | the egress of the flow "outgoing" relates to the aggregating output | |||
and "incoming" relates to the disaggregating flows. | and "incoming" relates to the disaggregating flows. | |||
At the egress point, forwarding information is determined by the App- | At the egress point, forwarding information is determined by the App- | |||
flow type with all DetNet-related headers removed. In the case of | flow type with all DetNet-related headers removed. In the case of | |||
IP, the forwarding information can specify an output port or set a | IP, the forwarding information can specify an output port or set a | |||
next-hop address. In the case of MPLS, it can set an MPLS label. | next-hop address. In the case of MPLS, it can set an MPLS label. | |||
skipping to change at line 757 ¶ | skipping to change at line 757 ¶ | |||
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 utilize the sequence | "'copy-from-app-flow' is used to utilize the sequence | |||
number present in the 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. When a relay node sees the same | into a member flow. When a relay node sees the same | |||
sequence number on an App-flow, it may choose to | sequence number on an App-flow, it may be programmed | |||
eliminate duplicate App-flow packets."; | 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 | |||
that there is only one source for generating sequence | that there is only one source for generating sequence | |||
numbers."; | numbers."; | |||
} | } | |||
} | } | |||
skipping to change at line 955 ¶ | skipping to change at line 955 ¶ | |||
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 in 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."; | |||
skipping to change at line 2658 ¶ | skipping to change at line 2658 ¶ | |||
* Since the model augments IETF interfaces, minimal interface YANG | * Since the model augments IETF interfaces, minimal interface YANG | |||
data is provided to validate the interface data as well. This | data is provided to validate the interface data as well. This | |||
shows up as a named value, such as "eth0", that is referenced by | shows up as a named value, such as "eth0", that is referenced by | |||
the configuration. | the configuration. | |||
Below are examples of aggregation and disaggregation at various | Below are examples of aggregation and disaggregation at various | |||
points in DetNet. Where indicated, figures are provided in the PDF | points in DetNet. Where indicated, figures are provided in the PDF | |||
and HTML copies of this document. | and HTML copies of this document. | |||
B.1. Example A-1: Application Aggregation | B.1. Example A-1: Application Flow Aggregation | |||
This example illustrates multiple App-flows with the same source, | This example illustrates multiple App-flows with the same source, | |||
destination, and traffic specification aggregated into a single | destination, and traffic specification aggregated into a single | |||
DetNet flow service sub-layer. Ingress node 1 aggregates App-flows 0 | DetNet flow service sub-layer. Ingress node 1 aggregates App-flows 0 | |||
and 1 into a service sub-layer of DetNet flow 1. Two ways to | and 1 into a service sub-layer of DetNet flow 1. Two ways to | |||
illustrate this are provided in Figures 1 and 2; the JSON operational | illustrate this are provided in Figures 1 and 2; the JSON operational | |||
data model [RFC8259] corresponding to the diagrams is then shown in | data model [RFC8259] corresponding to the diagrams is then shown in | |||
Figure 3. The address format used in this example is IPv6. | Figure 3. The address format used in this example is IPv6. | |||
Please consult the PDF or HTML copy for the Case A-1 diagram. | Please consult the PDF or HTML copy for the Case A-1 diagram. | |||
skipping to change at line 4419 ¶ | skipping to change at line 4419 ¶ | |||
"service-sub-layer": { | "service-sub-layer": { | |||
"sub-layer": [ | "sub-layer": [ | |||
"ssl-1", | "ssl-1", | |||
"ssl-2" | "ssl-2" | |||
] | ] | |||
} | } | |||
}, | }, | |||
"outgoing": { | "outgoing": { | |||
"interface": { | "interface": { | |||
"outgoing-interface": "eth3", | "outgoing-interface": "eth3", | |||
"mpl-label-stack": { | "mpls-label-stack": { | |||
"entry": [ | "entry": [ | |||
{ | { | |||
"id": 0, | "id": 0, | |||
"label": 20001 | "label": 20001 | |||
} | } | |||
] | ] | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
End of changes. 6 change blocks. | ||||
9 lines changed or deleted | 9 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |